Commit Graph

88 Commits

Author SHA1 Message Date
pgdalmeida 19c5873df6
Merge cancelling homing and shutting down cleanly when the program is stopped during homing 2026-10-06 19:49:15 +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 ce6ef3f79a
Keep each tower's config, scan grid and camera profiles in ~/.config/fire_gimbal_control, out of a deploy's reach 2026-10-05 22:02:49 +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 62131d8083
Wait for a slow camera's next frame instead of restarting the stream, and read integer camera features for the exposure check 2026-10-04 16:12:44 +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 da9a9867ed
Add a one-file tower bootstrap and a legacy-tower survey, and use an SDK already installed 2026-09-28 16:14:26 +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 9dc9b90f6d
Call the dashboard's messaging panel COMMS, to match its m key 2026-09-25 15:33:39 +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 b6308c1eda
Check the tower is running its own settings, not the firmware's fallback 2026-09-23 16:07:07 +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 00c998301a
Bound the report files too, and only prune what this program generated 2026-09-22 18:27:43 +02:00
pgdalmeida 582047d3a2
Keep a log file, so a tower's record outlives the tmux session 2026-09-22 18:15:09 +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 c2a2459f81
Show the firmware's reset-cause name in the gimbal view too, not just the dump 2026-09-21 21:55:34 +02:00
pgdalmeida 575e3c590b
Say when a paused dashboard was frozen, so it cannot be mistaken for a hung one 2026-09-21 21:53:04 +02:00
pgdalmeida e2bdc8debf
Trust the firmware's reset-cause name over a decode that cannot be right for both boards 2026-09-21 19:03:55 +02:00
pgdalmeida 041ad2a18f
Understand the NEEDCFG state instead of reading it as a dead link 2026-09-18 17:15:16 +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 f9e209bf2a
Show the calibration actually in use, not just a fit from this session 2026-09-17 18:14:54 +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 9a61167aa6
Parse the motor current the firmware echoes back in DUMP 2026-09-17 17:58:46 +02:00
pgdalmeida ffaa41ac2f
Read the drivetrain per axis from hardware.ini, and compare INI values numerically 2026-09-17 17:58:45 +02:00
pgdalmeida 3476e5adc7
Convert motor current from milliamps to TMC register values 2026-09-17 17:58:45 +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