|
|
@ -398,8 +398,8 @@ int UavcanNode::run() |
|
|
|
(_poll_fds[_actuator_direct_poll_fd_num].revents & POLLIN) && |
|
|
|
(_poll_fds[_actuator_direct_poll_fd_num].revents & POLLIN) && |
|
|
|
orb_copy(ORB_ID(actuator_direct), _actuator_direct_sub, &_actuator_direct) == OK && |
|
|
|
orb_copy(ORB_ID(actuator_direct), _actuator_direct_sub, &_actuator_direct) == OK && |
|
|
|
!_test_in_progress) { |
|
|
|
!_test_in_progress) { |
|
|
|
if (_actuator_direct.nvalues > NUM_ACTUATOR_OUTPUTS) { |
|
|
|
if (_actuator_direct.nvalues > actuator_outputs_s::NUM_ACTUATOR_OUTPUTS) { |
|
|
|
_actuator_direct.nvalues = NUM_ACTUATOR_OUTPUTS; |
|
|
|
_actuator_direct.nvalues = actuator_outputs_s::NUM_ACTUATOR_OUTPUTS; |
|
|
|
} |
|
|
|
} |
|
|
|
memcpy(&_outputs.output[0], &_actuator_direct.values[0], |
|
|
|
memcpy(&_outputs.output[0], &_actuator_direct.values[0], |
|
|
|
_actuator_direct.nvalues*sizeof(float)); |
|
|
|
_actuator_direct.nvalues*sizeof(float)); |
|
|
@ -410,7 +410,7 @@ int UavcanNode::run() |
|
|
|
// can we mix?
|
|
|
|
// can we mix?
|
|
|
|
if (_test_in_progress) { |
|
|
|
if (_test_in_progress) { |
|
|
|
memset(&_outputs, 0, sizeof(_outputs)); |
|
|
|
memset(&_outputs, 0, sizeof(_outputs)); |
|
|
|
if (_test_motor.motor_number < NUM_ACTUATOR_OUTPUTS) { |
|
|
|
if (_test_motor.motor_number < actuator_outputs_s::NUM_ACTUATOR_OUTPUTS) { |
|
|
|
_outputs.output[_test_motor.motor_number] = _test_motor.value*2.0f-1.0f; |
|
|
|
_outputs.output[_test_motor.motor_number] = _test_motor.value*2.0f-1.0f; |
|
|
|
_outputs.noutputs = _test_motor.motor_number+1; |
|
|
|
_outputs.noutputs = _test_motor.motor_number+1; |
|
|
|
} |
|
|
|
} |
|
|
|