fwt_software/tests
Peter Bochmann 44b8a2e84a
Read the Manta's 12 bits: BayerRG12Packed, packed the GigE Vision 1.x way
Rietschen's RGB camera switched to 12 bits offers BayerRG12Packed, not
BayerRG12p, and the program took it for an unknown format: from 2026-10-26
11:33 every picture was saved as "legacy", undebayered raw bytes. The two
are not the same format under two names. Both put two pixels in three
bytes, but the GigE Vision 1.x packing carries the first pixel's high bits
in the first byte, where GenICam's 12p carries its low ones; read as 12p
every other pixel is scrambled.

BayerRG12Packed is now a layout of its own, unpacked and sampled for
brightness its own way and de-Bayered like 12p. Checked against the
hardware on rietschen's NIR camera (Mono12Packed, the same packing): the
12-bit frame unpacked this way differs from an 8-bit frame of the same view
by 2.8 on average, unpacked as 12p by 29. The gige recipe prefers
BayerRG12Packed, so a re-export keeps the 12 bits. Tests 544/544 (mock).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 11:46:32 +01:00
..
data 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
CMakeLists.txt Take a thermal picture beside the colour one at every waypoint 2026-10-14 20:37:25 +02:00
doctest_main.cpp Add unit tests, deployment scripts, and refreshed docs 2026-06-22 13:07:03 +02:00
jxl_test_decode.h 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
test_axisspeed.cpp Declare axis speed in degrees per second, not VMAX 2026-09-18 15:44:19 +02:00
test_calibration.cpp added gimbal calibration command, added TUI prompts 2026-06-29 06:27:36 +02:00
test_cameraprofile.cpp Camera settings now come from VimbaX profile XMLs; explicit per-camera config 2026-09-04 14:12:05 +02:00
test_camerasettingsxml.cpp Camera settings now come from VimbaX profile XMLs; explicit per-camera config 2026-09-04 14:12:05 +02:00
test_camerastall.cpp 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
test_channelhistory.cpp Fix what the thermal camera's first run on tower 111 showed 2026-10-14 21:01:33 +02:00
test_command.cpp 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
test_composite.cpp Give the thermal picture the time its own frame arrived 2026-10-15 19:42:32 +02:00
test_config.cpp Run the thermal camera's NUC while the gimbal moves 2026-10-15 19:02:20 +02:00
test_diagparser.cpp added gimbal calibration command, added TUI prompts 2026-06-29 06:27:36 +02:00
test_dumpparser.cpp Let a tower set its encoder scale, and send no speed after a failed homing 2026-09-28 18:21:37 +02:00
test_filelogsink.cpp Keep a log file, so a tower's record outlives the tmux session 2026-09-22 18:15:09 +02:00
test_firmwareconfig.cpp Let a tower set its encoder scale, and send no speed after a failed homing 2026-09-28 18:21:37 +02:00
test_geometry.cpp 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
test_hardwarechecks.cpp 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
test_hardwarepresence.cpp Refuse to start when the rig is missing hardware it declares 2026-09-18 14:50:50 +02:00
test_hash.cpp Camera settings now come from VimbaX profile XMLs; explicit per-camera config 2026-09-04 14:12:05 +02:00
test_headingfit.cpp Changed heading logic; added snapshot feature 2026-09-11 17:42:01 +02:00
test_helptext.cpp 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
test_hostmetrics.cpp Introduced harware in-situ testing 2026-07-01 10:02:34 +02:00
test_imagepipeline.cpp Take a thermal picture beside the colour one at every waypoint 2026-10-14 20:37:25 +02:00
test_imumount.cpp IMU readings fixed; IMU mounting is part of config.ini; device config verified at startup 2026-09-09 12:19:53 +02:00
test_iniedit.cpp Add a one-shot test command and a tool that edits the config files safely 2026-09-23 18:52:44 +02:00
test_jpegxl.cpp Take a thermal picture beside the colour one at every waypoint 2026-10-14 20:37:25 +02:00
test_logger.cpp Keep a log file, so a tower's record outlives the tmux session 2026-09-22 18:15:09 +02:00
test_mcuenv.cpp Support the legacy towers' DHT11 and fan, and fix the installer's reflash and test steps 2026-09-28 14:43:05 +02:00
test_mtiprotocol.cpp IMU readings fixed; IMU mounting is part of config.ini; device config verified at startup 2026-09-09 12:19:53 +02:00
test_operatingmode.cpp 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
test_paths.cpp 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
test_pitchsetup.cpp Changed heading logic; added snapshot feature 2026-09-11 17:42:01 +02:00
test_rawimage.cpp Read the Manta's 12 bits: BayerRG12Packed, packed the GigE Vision 1.x way 2026-10-26 11:46:32 +01:00
test_remotecommands.cpp Give the tower three modes, auto, pan and manual, switched by command 2026-09-25 17:50:48 +02:00
test_scangrid.cpp 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
test_scheduler.cpp Run the thermal camera's NUC while the gimbal moves 2026-10-15 19:02:20 +02:00
test_scroll.cpp Added scrolling in TUI 2026-08-21 15:25:45 +02:00
test_settlerule.cpp 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
test_sht41.cpp refactor and bug fixes 2026-08-05 17:00:42 +02:00
test_singleinstance.cpp Added terminal attachment/detachment 2026-08-07 17:35:32 +02:00
test_tariscamerasource.cpp Make the thermal camera's frame rate hold on the wire 2026-10-15 20:21:49 +02:00
test_telemetry.cpp 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
test_testreport.cpp Introduced harware in-situ testing 2026-07-01 10:02:34 +02:00
test_testrunner.cpp Take a thermal picture beside the colour one at every waypoint 2026-10-14 20:37:25 +02:00
test_thermalguard.cpp Take a thermal picture beside the colour one at every waypoint 2026-10-14 20:37:25 +02:00
test_thermalstats.cpp Take a thermal picture beside the colour one at every waypoint 2026-10-14 20:37:25 +02:00
test_tmccurrent.cpp Convert motor current from milliamps to TMC register values 2026-09-17 17:58:45 +02:00
test_uisnapshot.cpp Camera settings now come from VimbaX profile XMLs; explicit per-camera config 2026-09-04 14:12:05 +02:00