Peter Bochmann
3d90af8490
Take a thermal picture beside the colour one at every waypoint
...
A TarisIR mini (driver = taris) is a second camera source behind a
CompositeCameraSource: the colour camera is asked first, then the thermal one
for its newest frame, and both frames carry the colour frame's timestamp.
Counts are saved 16-bit lossless under TIR/, and the CamEvent gains cal,
missed, tmax, tmed, hotx and hoty (docs/mqtt-api.md). The SDK is declared in
IrbgrabApi.h and loaded with dlopen, so no SDK file is in the repository; a
missing or unreachable camera stays offline (Health cams_offline) while the
scan goes on. scripts/fgc-setcap gives the binary cap_net_raw after a build.
Built and tested in an Ubuntu 22.04 container (mock, MQTT, Vimba+MQTT,
534/534), plus a mock run with RGB/TIR pairs. Not yet run against the camera.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 20:37:25 +02:00
Peter Bochmann
a03da2d8f4
Merge slowing down, then pausing, the scan when the tower computer runs hot or cannot keep up
...
Built and tested in an Ubuntu 22.04 container (mock and Vimba+MQTT, 494/494)
and running on tower 111 since 2026-10-14.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 19:30:21 +02:00
pgdalmeida
2737811e2e
Stop the gimbal where it is when switching from a scan to manual
2026-10-09 14:25:51 +02:00
pgdalmeida
6fa43f1e08
Slow down, then pause, the scan when the tower computer runs hot or cannot keep up
2026-10-08 17:21:58 +02:00
pgdalmeida
eb91f470dd
Cancel homing and shut down cleanly when the program is stopped during homing
2026-10-06 19:41:19 +02:00
pgdalmeida
70a30132bf
Merge counting the picture interval from the last picture and waiting for a slow camera's next frame
2026-10-05 13:02:13 +02:00
pgdalmeida
cfd8ba9978
Save raw 12-bit camera frames as 12-bit colour images, keep a waypoint's picture once the image has settled, and hold the scan when saving falls behind
2026-10-05 10:14:53 +02:00
pgdalmeida
fb0f5117df
Count the picture interval from the last picture, and let a settle wait of 0 wait for the exposure to settle
2026-10-02 18:28:40 +02:00
pgdalmeida
4488a2181d
Set in config.ini whether the tower homes and which mode it starts in, instead of the --init and --start flags
2026-09-30 16:42:48 +02:00
pgdalmeida
f2c61e030e
Let a yaw-only tower aim with gimbal move, and stop it publishing a made-up pitch
2026-09-29 19:50:39 +02:00
pgdalmeida
895c2f22fd
Add a command to keep taking pictures where the gimbal points, drop unused camera commands, and fit the help on one page
2026-09-29 15:48:07 +02:00
pgdalmeida
a21be0d4e8
Take the scan waypoints only from the CSV file, never generate them
2026-09-29 15:02:19 +02:00
pgdalmeida
ab9fa3dbb0
Let a tower set its encoder scale, and send no speed after a failed homing
2026-09-28 18:21:37 +02:00
pgdalmeida
8d81e03a3f
Support the legacy towers' DHT11 and fan, and fix the installer's reflash and test steps
2026-09-28 14:43:05 +02:00
pgdalmeida
8cf3b3b9e9
Stop every axis on a bare 'gimbal stop'
2026-09-28 12:41:11 +02:00
pgdalmeida
93f47bd142
Send the motor settings before enabling the drivers at startup
2026-09-28 11:33:46 +02:00
pgdalmeida
740eb1bd00
Stop the program cleanly on a service stop, and leave the gimbal at rest before configuring its motors
2026-09-25 23:21:26 +02:00
pgdalmeida
79225bc3cd
Rework the dashboard keys: a/p/m for modes, n for connectivity, page keys to scroll, heading setup in the activity strip
2026-09-25 18:57:25 +02:00
pgdalmeida
f4e67666d8
Give the tower three modes, auto, pan and manual, switched by command
2026-09-25 17:50:48 +02:00
pgdalmeida
4a69d65afb
Take any console command over MQTT, and answer it
2026-09-25 16:43:45 +02:00
pgdalmeida
d8d2fee8af
Test the camera with forced dark and bright settings, and recover a camera that stops sending frames
2026-09-24 17:35:37 +02:00
pgdalmeida
5a0515ab13
Test that the camera delivers frames and follows its settings to black and white
2026-09-24 15:47:58 +02:00
pgdalmeida
6824a0d580
Migrate tower 111's host, and resume capture after a test instead of leaving it stopped
2026-09-24 09:01:05 +02:00
pgdalmeida
86f930a671
Add a one-shot test command and a tool that edits the config files safely
2026-09-23 18:52:44 +02:00
pgdalmeida
4049a85b9b
Check the firmware was built with the pins hardware.ini lists
2026-09-23 18:26:14 +02:00
pgdalmeida
bd3a568508
Send the whole drivetrain on connect, so a restart is enough to retune
2026-09-23 07:36:23 +02:00
pgdalmeida
57a166c9a4
Warn when the homed travel falls below zero, and say why the centre matters
2026-09-21 23:06:37 +02:00
pgdalmeida
6f88b00856
Write the drivetrain block at install, since the firmware now demands it
2026-09-18 17:06:34 +02:00
pgdalmeida
842d95eeca
Check every declared value, not just the current
2026-09-18 16:44:08 +02:00
pgdalmeida
522ba072ec
Answer the firmware's NEED lines from hardware.ini
2026-09-18 16:16:04 +02:00
pgdalmeida
579c4ec166
Let a declared sensor enable itself, and retire the duplicate flag
2026-09-18 15:57:10 +02:00
pgdalmeida
b5d1fac4cb
Declare axis speed in degrees per second, not VMAX
2026-09-18 15:44:19 +02:00
pgdalmeida
4f57651c9b
Refuse to start when the rig is missing hardware it declares
2026-09-18 14:50:50 +02:00
pgdalmeida
f695a4eac6
Give the UTC stamp a buffer GCC can prove is big enough
2026-09-17 18:20:25 +02:00
pgdalmeida
31da8012d7
Stop addressing an axis this tower does not have, and carry the live calibration
2026-09-17 18:14:13 +02:00
pgdalmeida
0c1d0a6df8
Send and verify motor current, and derive counts_per_deg from the homed travel
2026-09-17 17:58:46 +02:00
pgdalmeida
b97df0adf2
Honour enable_camera and skip camera profiles when no real camera is used
2026-09-16 18:27:12 +02:00
pgdalmeida
76e777f5af
Add hardware.ini assembly config, build identity in the header, and ;prev calibration history
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018GsFaaLUTCYy3ZjaNTJzMv
2026-09-11 21:28:18 +02:00
pgdalmeida
1a572cb074
Changed heading logic; added snapshot feature
2026-09-11 17:42:01 +02:00
pgdalmeida
cd8491dcc0
removed Env MQTT topic
2026-09-09 13:43:29 +02:00
pgdalmeida
8eda0b4a36
Added IMU pitch to CamEvent; Changed IMU reading to before jxl encoding to avoid lag
2026-09-09 13:04:25 +02:00
pgdalmeida
5fce32aee7
IMU readings fixed; IMU mounting is part of config.ini; device config verified at startup
2026-09-09 12:19:53 +02:00
pgdalmeida
a5ad814260
Camera settings now come from VimbaX profile XMLs; explicit per-camera config
2026-09-04 14:12:05 +02:00
pgdalmeida
bc4d2ec002
Added an expanded connectivity view with MQTT message history
2026-09-02 12:39:21 +02:00
pgdalmeida
d3514f7d2b
Expanded IMU commands; help text shortened
2026-09-02 11:50:32 +02:00
pgdalmeida
ef96513b58
MQTT messages working
2026-08-26 17:56:56 +02:00
pgdalmeida
f1342965de
Camera is now configured by per-mode files; quality gate removed
2026-08-26 15:52:47 +02:00
pgdalmeida
02d3f573cf
Image rotation is now configurable via Camera.rotation_deg
2026-08-26 14:14:49 +02:00
pgdalmeida
376e79536c
camera logic improved
2026-08-07 15:04:47 +02:00
pgdalmeida
48c9aa529d
refactor and bug fixes
2026-08-05 17:00:42 +02:00