Add Ion ModuleStatus vendor message - #82
Conversation
fallenmi
left a comment
There was a problem hiding this comment.
I reviewed the single-file vendor-type addition from exact base b4653c7abc3c47cb31b16efa24ea755232774756 to exact head 5c71f4e70c4752ab89a9e3a84f92519255296f09.
Loading the new namespace explicitly produces ion.ModuleStatus as broadcast DTID 20540 with signature 21e90cfff3e505d3 and a fixed 56-bit/7-byte layout. I generated the C codec with the current dronecan_dsdlc and exercised four representative/boundary payloads across pydronecan and the generated C implementation: zero/off, 12 V/on, 28.5 V/timer-complete at 60 s, and maximum finite float16/ready with UINT32_MAX. Head and GitHub's current merge produced byte-identical generated sources and wire vectors, and the C round-trip passed under ASan/UBSan.
One coverage caveat: GitHub currently exposes no check run for this head, and the repository's default test.py, list_ids.py, and regression script do not enumerate the new top-level ion namespace. I therefore tested it explicitly rather than treating those default scripts as coverage; adding ion to the repository regression inputs would make that coverage persistent. I did not find a correctness blocker in the submitted type itself.
Disclosure: I used OpenAI Codex to assist this review; I verified the exact refs, generated codec, serialization vectors, and test results described above.
Summary
This pull request adds the following Ion Controls vendor-specific DroneCAN data type:
20540 ion.ModuleStatusThe message reports the module supply voltage, operating state, and elapsed timer value.
Vendor message-ID request
Ion Controls Ltd would also like to request the following vendor-specific message-ID allocation:
20540–20549, inclusiveID
20540is assigned by this pull request toion.ModuleStatus.IDs
20541–20549are requested for future Ion Controls vendor-specific DroneCAN messages. No placeholder DSDL definitions have been created for these unused IDs.Please could the maintainers confirm whether the complete
20540–20549block can be recognised as reserved for Ion Controls Ltd.Thank you.
Testing
The
ion.ModuleStatusdefinition has been successfully compiled usingdronecan_dsdlcand is in use on an STM32H7 DroneCAN node.