diff --git a/src/modules/uavcan/uavcan_main.cpp b/src/modules/uavcan/uavcan_main.cpp index fb9223a6a2..a7b92ee7d8 100644 --- a/src/modules/uavcan/uavcan_main.cpp +++ b/src/modules/uavcan/uavcan_main.cpp @@ -1115,7 +1115,7 @@ UavcanNode::ioctl(file *filp, int cmd, unsigned long arg) break; - case UAVCANIOC_HARDPOINT_SET: { + case UAVCAN_IOCS_HARDPOINT_SET: { const auto &hp_cmd = *reinterpret_cast(arg); _hardpoint_controller.set_command(hp_cmd.hardpoint_id, hp_cmd.command); } diff --git a/src/modules/uavcan/uavcan_main.hpp b/src/modules/uavcan/uavcan_main.hpp index 5c7d764602..dd508b1abc 100644 --- a/src/modules/uavcan/uavcan_main.hpp +++ b/src/modules/uavcan/uavcan_main.hpp @@ -73,10 +73,6 @@ // we add two to allow for actuator_direct and busevent #define UAVCAN_NUM_POLL_FDS (NUM_ACTUATOR_CONTROL_GROUPS_UAVCAN+2) -// IOCTL control codes -static constexpr unsigned UAVCANIOCBASE = 0x7800; -static constexpr unsigned UAVCANIOC_HARDPOINT_SET = _PX4_IOC(UAVCANIOCBASE, 0x10); - /** * A UAVCAN node. */ diff --git a/src/modules/uavcan/uavcan_module.hpp b/src/modules/uavcan/uavcan_module.hpp index 49c5437e62..7e54f1785f 100644 --- a/src/modules/uavcan/uavcan_module.hpp +++ b/src/modules/uavcan/uavcan_module.hpp @@ -65,7 +65,18 @@ // ioctl interface #define _UAVCAN_IOC(_n) (_IOC(_UAVCAN_IOCBASE, _n)) #define _UAVCAN_IOCBASE (0x4000) // IOCTL base for module UAVCAN -#define UAVCAN_IOCG_NODEID_INPROGRESS _UAVCAN_IOC(1) // query if node identification is in progress +/* + * Query if node identification is in progress. Returns: + * EINVAL - not applicable in the current operating mode + * ETIME - network discovery complete + * OK (0) - network discovery in progress + */ +#define UAVCAN_IOCG_NODEID_INPROGRESS _UAVCAN_IOC(1) +/* + * Set hardpoint command. Accepts a pointer to uavcan::equipment::hardpoint::Command; returns nothing. + * The pointer may be invalidated once the call returns. + */ +#define UAVCAN_IOCS_HARDPOINT_SET _UAVCAN_IOC(10) // public prototypes extern "C" __EXPORT int uavcan_main(int argc, char *argv[]);