APM:Libraries
Public Member Functions | List of all members
AP_HAL::Semaphore Class Referenceabstract

#include <Semaphores.h>

Inheritance diagram for AP_HAL::Semaphore:
[legend]

Public Member Functions

virtual bool take (uint32_t timeout_ms) WARN_IF_UNUSED=0
 
virtual bool take_nonblocking () WARN_IF_UNUSED=0
 
virtual void take_blocking ()
 
virtual bool give ()=0
 
virtual ~Semaphore (void)
 

Detailed Description

Definition at line 7 of file Semaphores.h.

Constructor & Destructor Documentation

◆ ~Semaphore()

virtual AP_HAL::Semaphore::~Semaphore ( void  )
inlinevirtual

Definition at line 19 of file Semaphores.h.

Member Function Documentation

◆ give()

virtual bool AP_HAL::Semaphore::give ( )
pure virtual

Implemented in F4Light::Semaphore, ChibiOS::Semaphore, Linux::Semaphore, PX4::Semaphore, HALSITL::Semaphore, VRBRAIN::Semaphore, and Empty::Semaphore.

Referenced by AP_Baro_BMP085::_calculate(), Linux::RCOutput_Bebop::_clear_error(), AP_Airspeed_MS4525::_collect(), Linux::RCOutput_Bebop::_get_info(), AP_Compass_MAG3110::_hardware_init(), AP_Compass_LSM303D::_hardware_init(), AP_InertialSensor_LSM9DS1::_hardware_init(), AP_InertialSensor_BMI160::_hardware_init(), AP_InertialSensor_LSM9DS0::_hardware_init(), AP_InertialSensor_Invensense::_hardware_init(), AP_Baro_LPS2XH::_imu_i2c_init(), AP_Baro_BMP280::_init(), AP_Baro_BMP085::_init(), AP_Baro_LPS2XH::_init(), AP_RangeFinder_MaxsonarI2CXL::_init(), AP_Baro_MS56XX::_init(), AP_Baro_KellerLD::_init(), AP_InertialSensor_RST::_init_accel(), AP_InertialSensor_RST::_init_gyro(), AP_InertialSensor_L3G4200D::_init_sensor(), AP_InertialSensor_Backend::_notify_new_accel_raw_sample(), AP_InertialSensor_Backend::_notify_new_gyro_raw_sample(), Linux::RCOutput_Bebop::_play_sound(), AP_Baro_KellerLD::_read(), Linux::SPIUARTDriver::_read_fd(), Linux::RCOutput_Bebop::_set_ref_speed(), Linux::RCOutput_Bebop::_start_prop(), Linux::RCOutput_Bebop::_stop_prop(), AP_Compass_SITL::_timer(), AP_RangeFinder_MaxsonarI2CXL::_timer(), AP_Airspeed_SDP3X::_timer(), AP_Baro_MS56XX::_timer(), Linux::RCOutput_Bebop::_toggle_gpio(), AP_Compass_LSM9DS1::_update(), AP_Compass_MAG3110::_update(), AP_Compass_LSM303D::_update(), AP_Compass_BMM150::_update(), AP_Compass_AK8963::_update(), AP_Baro_BMP280::_update_pressure(), AP_Baro_LPS2XH::_update_pressure(), AP_Baro_BMP280::_update_temperature(), AP_Baro_LPS2XH::_update_temperature(), Linux::SPIUARTDriver::_write_fd(), DataFlash_MAVLink::_WritePrioritisedBlock(), AP_Compass_MMC3416::accumulate_field(), AP_SmartRTL::add_point(), AP_Airspeed_MS5525::calculate(), AP_Baro_ICM20789::convert_data(), AP_RangeFinder_VL53L0X::detect(), AP_RangeFinder_LightWareI2C::detect(), DataFlash_MAVLink::do_resends(), SITL::FlightAxis::exchange_data(), AP_Airspeed_MS4525::get_differential_pressure(), AP_Airspeed_SDP3X::get_differential_pressure(), AP_Airspeed_MS5525::get_differential_pressure(), AP_Airspeed_MS4525::get_temperature(), AP_Airspeed_SDP3X::get_temperature(), AP_Airspeed_MS5525::get_temperature(), GCS_MAVLINK::handle_device_op_read(), GCS_MAVLINK::handle_device_op_write(), ToshibaLED_I2C::hw_init(), Display_SSD1306_I2C::hw_init(), Display_SH1106_I2C::hw_init(), AP_Baro_ICM20789::imu_spi_init(), AP_RAMTRON::init(), TSYS01::init(), AP_Baro_DPS280::init(), AP_Baro_FBM320::init(), AP_Baro_ICM20789::init(), AP_Compass_LSM9DS1::init(), AP_RangeFinder_TeraRangerI2C::init(), AP_Airspeed_MS4525::init(), AP_Airspeed_SDP3X::init(), AP_RangeFinder_PulsedLightLRF::init(), AP_Airspeed_MS5525::init(), AP_Compass_BMM150::init(), AP_Compass_AK8963::init(), AP_Compass_IST8310::init(), AP_Compass_QMC5883L::init(), AP_Compass_LIS3MDL::init(), AP_Compass_MMC3416::init(), AP_Compass_AK09916::init(), CompassLearn::io_timer(), loop(), Linux::RCOutput_Bebop::play_note(), AP_SmartRTL::pop_point(), CompassLearn::process_sample(), Linux::RCOutput_PCA9685::push(), DataFlash_MAVLink::push_log_blocks(), AP_RAMTRON::read(), AP_Compass_SITL::read(), AP_Compass_LSM9DS1::read(), AP_Compass_LSM303D::read(), AP_Compass_MAG3110::read(), AP_Compass_BMM150::read(), AP_Compass_MMC3416::read(), AP_Compass_AK8963::read(), AP_Compass_QMC5883L::read(), AP_Compass_IST8310::read(), AP_Compass_LIS3MDL::read(), AP_Compass_AK09916::read(), read_calibration_data(), AP_IRLock_I2C::read_frames(), Linux::RCOutput_Bebop::read_obs_data(), DataFlash_MAVLink::remote_log_block_status_msg(), AP_SmartRTL::remove_points_by_loops(), AP_SmartRTL::remove_points_by_simplify_bitmask(), Linux::RCOutput_PCA9685::reset_all_channels(), AP_SmartRTL::run_background_cleanup(), AP_OpticalFlow_PX4Flow::scan_buses(), sdcard_stop(), Linux::RCOutput_PCA9685::set_freq(), AP_OpticalFlow_Pixart::setup_sensor(), AP_BoardConfig::spi_check_register(), AP_InertialSensor_BMI160::start(), AP_InertialSensor_Invensense::start(), DataFlash_MAVLink::stats_collect(), take_blocking(), AP_Baro_FBM320::timer(), AP_Baro_DPS280::timer(), AP_RangeFinder_TeraRangerI2C::timer(), AP_Compass_IST8310::timer(), AP_Compass_QMC5883L::timer(), AP_Compass_LIS3MDL::timer(), AP_OpticalFlow_Pixart::timer(), AP_Compass_AK09916::timer(), Radio_CC2500::unlock_bus(), AP_Baro_SITL::update(), CompassLearn::update(), AP_Baro_FBM320::update(), AP_Baro_DPS280::update(), AP_RangeFinder_TeraRangerI2C::update(), AP_OpticalFlow_Pixart::update(), AP_IRLock_I2C::update(), AP_Baro_ICM20789::update(), AP_Baro_BMP085::update(), AP_Baro_BMP280::update(), AP_Baro_MS56XX::update(), AP_RangeFinder_MaxsonarI2CXL::update(), AP_Baro_LPS2XH::update(), SITL::FlightAxis::update(), AP_Baro_KellerLD::update(), AP_InertialSensor_Backend::update_accel(), AP_InertialSensor_Backend::update_gyro(), AP_Baro_Backend::update_healthy_flag(), SITL::FlightAxis::update_loop(), and AP_RAMTRON::write().

Here is the caller graph for this function:

◆ take()

virtual bool AP_HAL::Semaphore::take ( uint32_t  timeout_ms)
pure virtual

Implemented in F4Light::Semaphore, ChibiOS::Semaphore, Linux::Semaphore, PX4::Semaphore, HALSITL::Semaphore, VRBRAIN::Semaphore, and Empty::Semaphore.

Referenced by AP_Baro_BMP085::_calculate(), Linux::RCOutput_Bebop::_clear_error(), AP_Airspeed_MS4525::_collect(), Linux::RCOutput_Bebop::_get_info(), AP_Compass_LSM303D::_hardware_init(), AP_Compass_MAG3110::_hardware_init(), AP_InertialSensor_LSM9DS1::_hardware_init(), AP_InertialSensor_BMI160::_hardware_init(), AP_InertialSensor_LSM9DS0::_hardware_init(), AP_InertialSensor_Invensense::_hardware_init(), AP_Baro_LPS2XH::_imu_i2c_init(), AP_Baro_BMP085::_init(), AP_Baro_BMP280::_init(), AP_Baro_LPS2XH::_init(), AP_RangeFinder_MaxsonarI2CXL::_init(), AP_Baro_MS56XX::_init(), AP_Baro_KellerLD::_init(), AP_InertialSensor_RST::_init_accel(), AP_InertialSensor_RST::_init_gyro(), AP_InertialSensor_L3G4200D::_init_sensor(), AP_InertialSensor_Backend::_notify_new_accel_raw_sample(), AP_InertialSensor_Backend::_notify_new_gyro_raw_sample(), Linux::RCOutput_Bebop::_play_sound(), AP_Baro_KellerLD::_read(), Linux::RCOutput_Bebop::_set_ref_speed(), Linux::RCOutput_Bebop::_start_prop(), Linux::RCOutput_Bebop::_stop_prop(), AP_Compass_SITL::_timer(), AP_RangeFinder_MaxsonarI2CXL::_timer(), AP_Airspeed_SDP3X::_timer(), AP_Baro_MS56XX::_timer(), Linux::RCOutput_Bebop::_toggle_gpio(), AP_Compass_LSM9DS1::_update(), AP_Compass_LSM303D::_update(), AP_Compass_MAG3110::_update(), AP_Compass_BMM150::_update(), AP_Compass_AK8963::_update(), AP_Baro_BMP280::_update_pressure(), AP_Baro_BMP280::_update_temperature(), AP_Compass_MMC3416::accumulate_field(), AP_Airspeed_MS5525::calculate(), AP_Baro_ICM20789::convert_data(), AP_RangeFinder_LightWareI2C::detect(), AP_RangeFinder_VL53L0X::detect(), SITL::FlightAxis::exchange_data(), AP_Airspeed_MS4525::get_differential_pressure(), AP_Airspeed_SDP3X::get_differential_pressure(), AP_Airspeed_MS5525::get_differential_pressure(), AP_Airspeed_MS4525::get_temperature(), AP_Airspeed_SDP3X::get_temperature(), AP_Airspeed_MS5525::get_temperature(), GCS_MAVLINK::handle_device_op_read(), GCS_MAVLINK::handle_device_op_write(), ToshibaLED_I2C::hw_init(), Display_SH1106_I2C::hw_init(), Display_SSD1306_I2C::hw_init(), AP_Baro_ICM20789::imu_spi_init(), AP_RAMTRON::init(), TSYS01::init(), AP_Baro_DPS280::init(), AP_Baro_FBM320::init(), AP_Baro_ICM20789::init(), AP_Compass_LSM9DS1::init(), AP_RangeFinder_TeraRangerI2C::init(), AP_Airspeed_MS4525::init(), AP_Airspeed_SDP3X::init(), AP_RangeFinder_PulsedLightLRF::init(), AP_Compass_BMM150::init(), AP_Airspeed_MS5525::init(), AP_Compass_AK8963::init(), AP_Compass_IST8310::init(), AP_Compass_QMC5883L::init(), AP_Compass_LIS3MDL::init(), AP_Compass_MMC3416::init(), AP_Compass_AK09916::init(), Radio_CC2500::lock_bus(), loop(), Linux::RCOutput_Bebop::play_note(), AP_RAMTRON::read(), AP_Compass_MMC3416::read(), read_calibration_data(), AP_IRLock_I2C::read_frames(), Linux::RCOutput_Bebop::read_obs_data(), Linux::RCOutput_PCA9685::reset_all_channels(), AP_OpticalFlow_PX4Flow::scan_buses(), Linux::RCOutput_PCA9685::set_freq(), setup(), AP_OpticalFlow_Pixart::setup_sensor(), AP_BoardConfig::spi_check_register(), AP_InertialSensor_BMI160::start(), AP_InertialSensor_Invensense::start(), take_blocking(), AP_RangeFinder_TeraRangerI2C::timer(), AP_Compass_IST8310::timer(), AP_Compass_QMC5883L::timer(), AP_Compass_LIS3MDL::timer(), AP_OpticalFlow_Pixart::timer(), AP_Compass_AK09916::timer(), AP_RangeFinder_TeraRangerI2C::update(), AP_IRLock_I2C::update(), AP_OpticalFlow_Pixart::update(), AP_Baro_ICM20789::update(), AP_Baro_MS56XX::update(), SITL::FlightAxis::update(), AP_Baro_KellerLD::update(), AP_InertialSensor_Backend::update_accel(), AP_InertialSensor_Backend::update_gyro(), SITL::FlightAxis::update_loop(), and AP_RAMTRON::write().

Here is the caller graph for this function:

◆ take_blocking()

virtual void AP_HAL::Semaphore::take_blocking ( )
inlinevirtual

Definition at line 15 of file Semaphores.h.

Referenced by sdcard_stop().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ take_nonblocking()

virtual bool AP_HAL::Semaphore::take_nonblocking ( )
pure virtual

Implemented in F4Light::Semaphore, ChibiOS::Semaphore, Linux::Semaphore, PX4::Semaphore, HALSITL::Semaphore, VRBRAIN::Semaphore, and Empty::Semaphore.

Referenced by Linux::SPIUARTDriver::_read_fd(), AP_Baro_LPS2XH::_update_pressure(), AP_Baro_LPS2XH::_update_temperature(), Linux::SPIUARTDriver::_write_fd(), DataFlash_MAVLink::_WritePrioritisedBlock(), AP_SmartRTL::add_point(), DataFlash_MAVLink::do_resends(), CompassLearn::io_timer(), AP_SmartRTL::pop_point(), CompassLearn::process_sample(), Linux::RCOutput_PCA9685::push(), DataFlash_MAVLink::push_log_blocks(), AP_Compass_SITL::read(), AP_Compass_LSM303D::read(), AP_Compass_LSM9DS1::read(), AP_Compass_MAG3110::read(), AP_Compass_BMM150::read(), AP_Compass_AK8963::read(), AP_Compass_QMC5883L::read(), AP_Compass_IST8310::read(), AP_Compass_LIS3MDL::read(), AP_Compass_AK09916::read(), DataFlash_MAVLink::remote_log_block_status_msg(), AP_SmartRTL::remove_points_by_loops(), AP_SmartRTL::remove_points_by_simplify_bitmask(), AP_SmartRTL::run_background_cleanup(), DataFlash_MAVLink::stats_collect(), AP_Baro_FBM320::timer(), AP_Baro_DPS280::timer(), AP_Baro_SITL::update(), AP_Baro_FBM320::update(), AP_Baro_DPS280::update(), CompassLearn::update(), AP_Baro_BMP085::update(), AP_Baro_BMP280::update(), AP_RangeFinder_MaxsonarI2CXL::update(), AP_Baro_LPS2XH::update(), and AP_Baro_Backend::update_healthy_flag().

Here is the caller graph for this function:

The documentation for this class was generated from the following file: