mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-02-05 07:28:29 -04:00
AP_HAL_Linux: use take_blocking instead of HAL_SEMAPHORE_BLOCK_FOREVER
this makes for cleaner and smaller code as the failure case is not needed
This commit is contained in:
parent
0aae8e13c1
commit
67bd4ed396
@ -105,7 +105,7 @@ I2CBus::~I2CBus()
|
||||
|
||||
void I2CBus::start_cb()
|
||||
{
|
||||
sem.take(HAL_SEMAPHORE_BLOCK_FOREVER);
|
||||
sem.take_blocking();
|
||||
}
|
||||
|
||||
void I2CBus::end_cb()
|
||||
|
@ -109,9 +109,7 @@ void RCOutput_Bebop::_start_prop()
|
||||
{
|
||||
uint8_t data = BEBOP_BLDC_STARTPROP;
|
||||
|
||||
if (!_dev->get_semaphore()->take(HAL_SEMAPHORE_BLOCK_FOREVER)) {
|
||||
return;
|
||||
}
|
||||
_dev->get_semaphore()->take_blocking();
|
||||
|
||||
if (_dev->transfer(&data, sizeof(data), nullptr, 0)) {
|
||||
_state = BEBOP_BLDC_STARTED;
|
||||
@ -138,9 +136,7 @@ void RCOutput_Bebop::_set_ref_speed(uint16_t rpm[BEBOP_BLDC_MOTORS_NUM])
|
||||
data.enable_security = 0;
|
||||
data.checksum = _checksum((uint8_t *) &data, sizeof(data) - 1);
|
||||
|
||||
if (!_dev->get_semaphore()->take(HAL_SEMAPHORE_BLOCK_FOREVER)) {
|
||||
return;
|
||||
}
|
||||
_dev->get_semaphore()->take_blocking();
|
||||
|
||||
_dev->transfer((uint8_t *)&data, sizeof(data), nullptr, 0);
|
||||
|
||||
@ -155,9 +151,7 @@ bool RCOutput_Bebop::_get_info(struct bldc_info *info)
|
||||
|
||||
memset(info, 0, sizeof(struct bldc_info));
|
||||
|
||||
if (!_dev->get_semaphore()->take(HAL_SEMAPHORE_BLOCK_FOREVER)) {
|
||||
return false;
|
||||
}
|
||||
_dev->get_semaphore()->take_blocking();
|
||||
_dev->read_registers(BEBOP_BLDC_GET_INFO, (uint8_t*)info, sizeof(*info));
|
||||
_dev->get_semaphore()->give();
|
||||
return true;
|
||||
@ -186,9 +180,7 @@ int RCOutput_Bebop::read_obs_data(BebopBLDC_ObsData &obs)
|
||||
} data;
|
||||
|
||||
memset(&data, 0, sizeof(data));
|
||||
if (!_dev->get_semaphore()->take(HAL_SEMAPHORE_BLOCK_FOREVER)) {
|
||||
return -EBUSY;
|
||||
}
|
||||
_dev->get_semaphore()->take_blocking();
|
||||
|
||||
_dev->read_registers(BEBOP_BLDC_GETOBSDATA, (uint8_t *)&data, sizeof(data));
|
||||
_dev->get_semaphore()->give();
|
||||
@ -241,9 +233,7 @@ int RCOutput_Bebop::read_obs_data(BebopBLDC_ObsData &obs)
|
||||
|
||||
void RCOutput_Bebop::_toggle_gpio(uint8_t mask)
|
||||
{
|
||||
if (!_dev->get_semaphore()->take(HAL_SEMAPHORE_BLOCK_FOREVER)) {
|
||||
return;
|
||||
}
|
||||
_dev->get_semaphore()->take_blocking();
|
||||
|
||||
_dev->write_register(BEBOP_BLDC_TOGGLE_GPIO, mask);
|
||||
_dev->get_semaphore()->give();
|
||||
@ -253,9 +243,7 @@ void RCOutput_Bebop::_stop_prop()
|
||||
{
|
||||
uint8_t data = BEBOP_BLDC_STOP_PROP;
|
||||
|
||||
if (!_dev->get_semaphore()->take(HAL_SEMAPHORE_BLOCK_FOREVER)) {
|
||||
return;
|
||||
}
|
||||
_dev->get_semaphore()->take_blocking();
|
||||
|
||||
_dev->transfer(&data, sizeof(data), nullptr, 0);
|
||||
_dev->get_semaphore()->give();
|
||||
@ -265,9 +253,7 @@ void RCOutput_Bebop::_clear_error()
|
||||
{
|
||||
uint8_t data = BEBOP_BLDC_CLEAR_ERROR;
|
||||
|
||||
if (!_dev->get_semaphore()->take(HAL_SEMAPHORE_BLOCK_FOREVER)) {
|
||||
return;
|
||||
}
|
||||
_dev->get_semaphore()->take_blocking();
|
||||
|
||||
_dev->transfer(&data, sizeof(data), nullptr, 0);
|
||||
_dev->get_semaphore()->give();
|
||||
@ -275,9 +261,7 @@ void RCOutput_Bebop::_clear_error()
|
||||
|
||||
void RCOutput_Bebop::_play_sound(uint8_t sound)
|
||||
{
|
||||
if (!_dev->get_semaphore()->take(HAL_SEMAPHORE_BLOCK_FOREVER)) {
|
||||
return;
|
||||
}
|
||||
_dev->get_semaphore()->take_blocking();
|
||||
|
||||
_dev->write_register(BEBOP_BLDC_PLAY_SOUND, sound);
|
||||
_dev->get_semaphore()->give();
|
||||
@ -309,9 +293,7 @@ void RCOutput_Bebop::play_note(uint8_t pwm,
|
||||
msg.period = htobe16(period_us);
|
||||
msg.duration = htobe16(duration_ms);
|
||||
|
||||
if (!_dev->get_semaphore()->take(HAL_SEMAPHORE_BLOCK_FOREVER)) {
|
||||
return;
|
||||
}
|
||||
_dev->get_semaphore()->take_blocking();
|
||||
|
||||
_dev->transfer((uint8_t *)&msg, sizeof(msg), nullptr, 0);
|
||||
_dev->get_semaphore()->give();
|
||||
|
@ -200,7 +200,7 @@ SPIBus::~SPIBus()
|
||||
|
||||
void SPIBus::start_cb()
|
||||
{
|
||||
sem.take(HAL_SEMAPHORE_BLOCK_FOREVER);
|
||||
sem.take_blocking();
|
||||
}
|
||||
|
||||
void SPIBus::end_cb()
|
||||
|
@ -237,9 +237,7 @@ void Scheduler::_timer_task()
|
||||
|
||||
void Scheduler::_run_io(void)
|
||||
{
|
||||
if (!_io_semaphore.take(HAL_SEMAPHORE_BLOCK_FOREVER)) {
|
||||
return;
|
||||
}
|
||||
_io_semaphore.take_blocking();
|
||||
|
||||
// now call the IO based drivers
|
||||
for (int i = 0; i < _num_io_procs; i++) {
|
||||
|
Loading…
Reference in New Issue
Block a user