Browse Source

fixed mutex in hardpoint_controler_set()

sbg
blah 9 years ago committed by Lorenz Meier
parent
commit
5e596df859
  1. 4
      src/modules/uavcan/actuators/hardpoint.cpp
  2. 2
      src/modules/uavcan/uavcan_main.cpp

4
src/modules/uavcan/actuators/hardpoint.cpp

@ -65,8 +65,6 @@ int UavcanHardpointController::init() @@ -65,8 +65,6 @@ int UavcanHardpointController::init()
void UavcanHardpointController::set_command(uint8_t hardpoint_id, uint16_t command)
{
(void)pthread_mutex_lock(&_node_mutex);
_cmd.command = command;
_cmd.hardpoint_id = hardpoint_id;
@ -81,7 +79,7 @@ void UavcanHardpointController::set_command(uint8_t hardpoint_id, uint16_t comma @@ -81,7 +79,7 @@ void UavcanHardpointController::set_command(uint8_t hardpoint_id, uint16_t comma
if (!_timer.isRunning()) {
_timer.startPeriodic(uavcan::MonotonicDuration::fromMSec(1000 / MAX_RATE_HZ));
}
(void)pthread_mutex_lock(&_node_mutex);
}
void UavcanHardpointController::periodic_update(const uavcan::TimerEvent &)
{

2
src/modules/uavcan/uavcan_main.cpp

@ -1224,7 +1224,9 @@ void UavcanNode::shrink() @@ -1224,7 +1224,9 @@ void UavcanNode::shrink()
void UavcanNode::hardpoint_controller_set(uint8_t hardpoint_id, uint16_t command)
{
(void)pthread_mutex_lock(&_node_mutex);
_hardpoint_controller.set_command(hardpoint_id, command);
(void)pthread_mutex_lock(&_node_mutex);
}
/*
* App entry point

Loading…
Cancel
Save