fwt_software/hardware
Peter Bochmann 8850337250
Support the older GigE cameras (Manta) on rietschen
Rietschen has three Manta G-1236 on one GbE port, whose firmware predates the
names the program uses. A feature missing by its SFNC name is now looked up by
the older one (ExposureTimeAbs, AcquisitionFrameRateAbs, ExposureAutoTarget,
ExposureAutoAdjustTol), so test camera, the telemetry and the keep rule's
reads work. export_camera_profile.py picks a gige recipe for such a camera:
frame trigger off, BayerRG8 or Mono8, 60 MB/s, auto-exposure target 50 %.
At the cameras' old target of 25 every waypoint ran into frame_timeout_ms.

The camera probe now lists every camera. With several, the hardware.ini kit
writes CHOOSE_ONE, install-tower asks which is the colour one, and the profile
export is given that id - the first one the SDK lists was the NIR camera.
install-tower names the unit that holds the motor port instead of assuming
start_gimbal.service.

Tested on rietschen's NIR camera with the motor mocked, beside the running old
program: test camera PASS, a snapshot as a 3008x4112 grey JXL, a scan keeping
a picture every 5 s. Tests 542/542 (mock build). The colour camera is not yet
tested; the old program has it open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 17:13:04 +02:00
..
common Support the older GigE cameras (Manta) on rietschen 2026-10-20 17:13:04 +02:00
lattepanda-3-delta 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
lattepanda-iota 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
README.md Add the LattePanda IOTA setup kit and headless camera profile export 2026-09-16 18:27:39 +02:00

README.md

Board setup kits

One directory per board the fleet runs on. A kit holds everything that turns a freshly imaged machine into a tower host, and nothing that differs between two towers built on the same board:

<board>/
  packages.txt        apt packages the build and the runtime need
  preconditions/      udev rules, tmpfiles.d - the settings that must survive a reboot
  install.sh          apply the preconditions, install the packages, probe the
                      machine and emit a starting hardware.ini
  NOTES.md            quirks found on this board, and when they were last verified

install.sh fills in what a machine can be asked - board model, the motor MCU's by-id path, the camera's DEV_ id - and leaves to a human what no probe can distinguish from a fault: which axes the gimbal has, whether an IMU or an ambient sensor was fitted, and the drivetrain figures. See docs/hardware-config-plan.md §8 and §10.

The file it writes is /etc/fire_gimbal_control/hardware.ini, deliberately outside the directory deploy.sh rsyncs: a deploy cannot overwrite what it never touches.

Kit Board State
lattepanda-iota/ LattePanda IOTA (N150, RP2040 MCU) in use on FWT tower 10.11.12.121
lattepanda-3-delta/ LattePanda 3 Delta (N5105, ATmega32U4 MCU) not written - the Delta fleet predates the kits