IOCTL for Hardpoint controller and instantiation for UavcanHardpointController as a field of UavcanNode

This commit is contained in:
blah 2016-01-19 12:38:27 -08:00 committed by Lorenz Meier
parent fb4db49ea0
commit 9228e420d0
3 changed files with 12 additions and 0 deletions

View File

@ -69,6 +69,7 @@ px4_add_module(
# Actuators
actuators/esc.cpp
actuators/hardpoint.cpp
# Sensors
sensors/sensor_bridge.cpp

View File

@ -1107,6 +1107,12 @@ UavcanNode::ioctl(file *filp, int cmd, unsigned long arg)
break;
}
case UAVCANIOC_HARDPOINT_SET:
const auto& cmd = *reinterpret_cast<uavcan::equipment::hardpoint::Command*>(arg);
_hardpoint_controller.set_command(cmd.hardpoint_id, cmd.command);
break;
default:
ret = -ENOTTY;
break;

View File

@ -70,6 +70,11 @@
// we add two to allow for actuator_direct and busevent
#define UAVCAN_NUM_POLL_FDS (NUM_ACTUATOR_CONTROL_GROUPS_UAVCAN+2)
// no idea something to do with hardpoint controller
static constexpr unsigned UAVCANIOCBASE = 0x7800;
static constexpr unsigned UAVCANIOC_HARDPOINT_SET = PX4_IOC(UAVCANIOCBASE, 0x10);
/**
* A UAVCAN node.
*/