Files
Julian Oes e08064f826 feat(cubered): re-use device::Serial class in primary
Drops the duplicated ArchPX4IOSerial register-level + custom-DMA
transport in favour of device::Serial over NuttX's lower-half UART
driver (DMA-backed via CONFIG_UART7_RXDMA/TXDMA=y). Removes the
~600-line parallel transport stack that had to be kept in sync with
src/drivers/px4io/.

NuttX file descriptors aren't shared across task contexts, so the
fd opened during the bridge's init() (caller task) cannot be used
from Run() (work queue task). The interface releases the fd at the
end of init() and the work queue lazy-opens its own on first use.

Read requests now transmit PKT_SIZE bytes (header + count reg slots
of padding) so the secondary's CRC accounting matches the response
shape — the previous header-only request was rejected by the secondary's
PKT_SIZE/CRC validation.

Renames the internal class and exposed factory/release symbols and
the board macros to drop the misleading PX4IO prefix; the file header
points to the original source. Protocol-level PX4IO_* constants stay
since this driver speaks the PX4IO register protocol.

Signed-off-by: Julian Oes <julian@oes.ch>
2026-05-04 14:08:30 +12:00
..