aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/lib
diff options
context:
space:
mode:
authorRocco Marco Guglielmi <roccomarco.guglielmi@gmail.com>2018-02-27 16:19:21 +0000
committerRocco Marco Guglielmi <roccomarco.guglielmi@gmail.com>2018-02-27 16:19:21 +0000
commit88b64ee23785a1326a02bd6e928dbdbc5b5ec5b3 (patch)
treeb1eebffddaa6052ef2e504b09bb8f0c68e6d690d /os/hal/lib
parent36b481fd062d195461ca447973d7aa2a24fa953d (diff)
downloadChibiOS-88b64ee23785a1326a02bd6e928dbdbc5b5ec5b3.tar.gz
ChibiOS-88b64ee23785a1326a02bd6e928dbdbc5b5ec5b3.tar.bz2
ChibiOS-88b64ee23785a1326a02bd6e928dbdbc5b5ec5b3.zip
Updated base classes for sensors
git-svn-id: https://svn.code.sf.net/p/chibios/svn2/trunk@11587 110e8d01-0319-4d1e-a829-52ad28d1bb01
Diffstat (limited to 'os/hal/lib')
-rw-r--r--os/hal/lib/peripherals/sensors/hal_accelerometer.h23
-rw-r--r--os/hal/lib/peripherals/sensors/hal_barometer.h23
-rw-r--r--os/hal/lib/peripherals/sensors/hal_compass.h23
-rw-r--r--os/hal/lib/peripherals/sensors/hal_gyroscope.h25
-rw-r--r--os/hal/lib/peripherals/sensors/hal_hygrometer.h23
-rw-r--r--os/hal/lib/peripherals/sensors/hal_sensors.h15
-rw-r--r--os/hal/lib/peripherals/sensors/hal_thermometer.h23
7 files changed, 53 insertions, 102 deletions
diff --git a/os/hal/lib/peripherals/sensors/hal_accelerometer.h b/os/hal/lib/peripherals/sensors/hal_accelerometer.h
index 43395fe63..b5d1f8269 100644
--- a/os/hal/lib/peripherals/sensors/hal_accelerometer.h
+++ b/os/hal/lib/peripherals/sensors/hal_accelerometer.h
@@ -84,7 +84,7 @@ struct BaseAccelerometerVMT {
*/
typedef struct {
/** @brief Virtual Methods Table.*/
- const struct BaseAccelerometerVMT *vmt_accelerometer;
+ const struct BaseAccelerometerVMT *vmt;
_base_accelerometer_data
} BaseAccelerometer;
@@ -97,13 +97,6 @@ typedef struct {
* @{
*/
/**
- * @brief Instance getter.
- * @details This special method is used to get the instance of this class
- * object from a derived class.
- */
-#define getBaseAccelerometer(ip) ((BaseAccelerometer *)&(ip)->vmt_accelerometer)
-
-/**
* @brief Accelerometer get axes number.
*
* @param[in] ip pointer to a @p BaseAccelerometer class.
@@ -112,7 +105,7 @@ typedef struct {
* @api
*/
#define accelerometerGetAxesNumber(ip) \
- (ip)->vmt_accelerometer->get_channels_number(ip)
+ (ip)->vmt->get_channels_number(ip)
/**
* @brief Accelerometer read raw data.
@@ -127,7 +120,7 @@ typedef struct {
* @api
*/
#define accelerometerReadRaw(ip, dp) \
- (ip)->vmt_accelerometer->read_raw(ip, dp)
+ (ip)->vmt->read_raw(ip, dp)
/**
* @brief Accelerometer read cooked data.
@@ -142,7 +135,7 @@ typedef struct {
* @api
*/
#define accelerometerReadCooked(ip, dp) \
- (ip)->vmt_accelerometer->read_cooked(ip, dp)
+ (ip)->vmt->read_cooked(ip, dp)
/**
* @brief Updates accelerometer bias data from received buffer.
@@ -160,7 +153,7 @@ typedef struct {
* @api
*/
#define accelerometerSetBias(ip, bp) \
- (ip)->vmt_accelerometer->set_bias(ip, bp)
+ (ip)->vmt->set_bias(ip, bp)
/**
* @brief Reset accelerometer bias data restoring it to zero.
@@ -174,7 +167,7 @@ typedef struct {
* @api
*/
#define accelerometerResetBias(ip) \
- (ip)->vmt_accelerometer->reset_bias(ip)
+ (ip)->vmt->reset_bias(ip)
/**
* @brief Updates accelerometer sensitivity data from received buffer.
@@ -191,7 +184,7 @@ typedef struct {
* @api
*/
#define accelerometerSetSensitivity(ip, sp) \
- (ip)->vmt_accelerometer->set_sensitivity(ip, sp)
+ (ip)->vmt->set_sensitivity(ip, sp)
/**
* @brief Reset accelerometer sensitivity data restoring it to its typical
@@ -206,7 +199,7 @@ typedef struct {
* @api
*/
#define accelerometerResetSensitivity(ip) \
- (ip)->vmt_accelerometer->reset_sensitivity(ip)
+ (ip)->vmt->reset_sensitivity(ip)
/** @} */
/*===========================================================================*/
diff --git a/os/hal/lib/peripherals/sensors/hal_barometer.h b/os/hal/lib/peripherals/sensors/hal_barometer.h
index 275fefa10..4a35f59a2 100644
--- a/os/hal/lib/peripherals/sensors/hal_barometer.h
+++ b/os/hal/lib/peripherals/sensors/hal_barometer.h
@@ -85,7 +85,7 @@ struct BaseBarometerVMT {
*/
typedef struct {
/** @brief Virtual Methods Table.*/
- const struct BaseBarometerVMT *vmt_barometer;
+ const struct BaseBarometerVMT *vmt;
_base_barometer_data
} BaseBarometer;
@@ -97,13 +97,6 @@ typedef struct {
* @{
*/
/**
- * @brief Instance getter.
- * @details This special method is used to get the instance of this class
- * object from a derived class.
- */
-#define getBaseBarometer(ip) ((BaseBarometer *)&(ip)->vmt_barometer)
-
-/**
* @brief Barometer get channels number.
*
* @param[in] ip pointer to a @p BaseBarometer class.
@@ -112,7 +105,7 @@ typedef struct {
* @api
*/
#define barometerGetChannelsNumber(ip) \
- (ip)->vmt_barometer->get_channels_number(ip)
+ (ip)->vmt->get_channels_number(ip)
/**
* @brief Barometer read raw data.
@@ -127,7 +120,7 @@ typedef struct {
* @api
*/
#define barometerReadRaw(ip, dp) \
- (ip)->vmt_barometer->read_raw(ip, dp)
+ (ip)->vmt->read_raw(ip, dp)
/**
* @brief Barometer read cooked data.
@@ -142,7 +135,7 @@ typedef struct {
* @api
*/
#define barometerReadCooked(ip, dp) \
- (ip)->vmt_barometer->read_cooked(ip, dp)
+ (ip)->vmt->read_cooked(ip, dp)
/**
* @brief Updates barometer bias data from received buffer.
@@ -159,7 +152,7 @@ typedef struct {
* @api
*/
#define barometerSetBias(ip, bp) \
- (ip)->vmt_barometer->set_bias(ip, bp)
+ (ip)->vmt->set_bias(ip, bp)
/**
* @brief Reset barometer bias data restoring it to zero.
@@ -173,7 +166,7 @@ typedef struct {
* @api
*/
#define barometerResetBias(ip) \
- (ip)->vmt_barometer->reset_bias(ip)
+ (ip)->vmt->reset_bias(ip)
/**
* @brief Updates barometer sensitivity data from received buffer.
@@ -190,7 +183,7 @@ typedef struct {
* @api
*/
#define barometerSetSensitivity(ip, sp) \
- (ip)->vmt_barometer->set_sensitivity(ip, sp)
+ (ip)->vmt->set_sensitivity(ip, sp)
/**
* @brief Reset barometer sensitivity data restoring it to its typical
@@ -205,7 +198,7 @@ typedef struct {
* @api
*/
#define barometerResetSensitivity(ip) \
- (ip)->vmt_barometer->reset_sensitivity(ip)
+ (ip)->vmt->reset_sensitivity(ip)
/** @} */
/*===========================================================================*/
diff --git a/os/hal/lib/peripherals/sensors/hal_compass.h b/os/hal/lib/peripherals/sensors/hal_compass.h
index e777070c3..8a314b8f2 100644
--- a/os/hal/lib/peripherals/sensors/hal_compass.h
+++ b/os/hal/lib/peripherals/sensors/hal_compass.h
@@ -85,7 +85,7 @@ struct BaseCompassVMT {
*/
typedef struct {
/** @brief Virtual Methods Table.*/
- const struct BaseCompassVMT *vmt_compass;
+ const struct BaseCompassVMT *vmt;
_base_compass_data
} BaseCompass;
@@ -97,13 +97,6 @@ typedef struct {
* @{
*/
/**
- * @brief Instance getter.
- * @details This special method is used to get the instance of this class
- * object from a derived class.
- */
-#define getBaseCompass(ip) ((BaseCompass *)&(ip)->vmt_compass)
-
-/**
* @brief Compass get axes number.
*
* @param[in] ip pointer to a @p BaseCompass class.
@@ -112,7 +105,7 @@ typedef struct {
* @api
*/
#define compassGetAxesNumber(ip) \
- (ip)->vmt_compass->get_channels_number(ip)
+ (ip)->vmt->get_channels_number(ip)
/**
* @brief Compass read raw data.
@@ -127,7 +120,7 @@ typedef struct {
* @api
*/
#define compassReadRaw(ip, dp) \
- (ip)->vmt_compass->read_raw(ip, dp)
+ (ip)->vmt->read_raw(ip, dp)
/**
* @brief Compass read cooked data.
@@ -142,7 +135,7 @@ typedef struct {
* @api
*/
#define compassReadCooked(ip, dp) \
- (ip)->vmt_compass->read_cooked(ip, dp)
+ (ip)->vmt->read_cooked(ip, dp)
/**
* @brief Updates compass bias data from received buffer.
@@ -159,7 +152,7 @@ typedef struct {
* @api
*/
#define compassSetBias(ip, bp) \
- (ip)->vmt_compass->set_bias(ip, bp)
+ (ip)->vmt->set_bias(ip, bp)
/**
* @brief Reset compass bias data restoring it to zero.
@@ -173,7 +166,7 @@ typedef struct {
* @api
*/
#define compassResetBias(ip) \
- (ip)->vmt_compass->reset_bias(ip)
+ (ip)->vmt->reset_bias(ip)
/**
* @brief Updates compass sensitivity data from received buffer.
@@ -190,7 +183,7 @@ typedef struct {
* @api
*/
#define compassSetSensitivity(ip, sp) \
- (ip)->vmt_compass->set_sensitivity(ip, sp)
+ (ip)->vmt->set_sensitivity(ip, sp)
/**
* @brief Reset compass sensitivity data restoring it to its typical
@@ -205,7 +198,7 @@ typedef struct {
* @api
*/
#define compassResetSensitivity(ip) \
- (ip)->vmt_compass->reset_sensitivity(ip)
+ (ip)->vmt->reset_sensitivity(ip)
/** @} */
/*===========================================================================*/
diff --git a/os/hal/lib/peripherals/sensors/hal_gyroscope.h b/os/hal/lib/peripherals/sensors/hal_gyroscope.h
index f5bfc1f03..c5998cb53 100644
--- a/os/hal/lib/peripherals/sensors/hal_gyroscope.h
+++ b/os/hal/lib/peripherals/sensors/hal_gyroscope.h
@@ -87,7 +87,7 @@ struct BaseGyroscopeVMT {
*/
typedef struct {
/** @brief Virtual Methods Table.*/
- const struct BaseGyroscopeVMT *vmt_gyroscope;
+ const struct BaseGyroscopeVMT *vmt;
_base_gyroscope_data
} BaseGyroscope;
@@ -100,13 +100,6 @@ typedef struct {
* @{
*/
/**
- * @brief Instance getter.
- * @details This special method is used to get the instance of this class
- * object from a derived class.
- */
-#define getBaseGyroscope(ip) ((BaseGyroscope *)&(ip)->vmt_gyroscope)
-
-/**
* @brief Gyroscope get axes number.
*
* @param[in] ip pointer to a @p BaseGyroscope class.
@@ -115,7 +108,7 @@ typedef struct {
* @api
*/
#define gyroscopeGetAxesNumber(ip) \
- (ip)->vmt_gyroscope->get_channels_number(ip)
+ (ip)->vmt->get_channels_number(ip)
/**
* @brief Gyroscope read raw data.
@@ -130,7 +123,7 @@ typedef struct {
* @api
*/
#define gyroscopeReadRaw(ip, dp) \
- (ip)->vmt_gyroscope->read_raw(ip, dp)
+ (ip)->vmt->read_raw(ip, dp)
/**
* @brief Gyroscope read cooked data.
@@ -145,7 +138,7 @@ typedef struct {
* @api
*/
#define gyroscopeReadCooked(ip, dp) \
- (ip)->vmt_gyroscope->read_cooked(ip, dp)
+ (ip)->vmt->read_cooked(ip, dp)
/**
* @brief Gyroscope bias sampling procedure.
@@ -162,7 +155,7 @@ typedef struct {
* @api
*/
#define gyroscopeSampleBias(ip) \
- (ip)->vmt_gyroscope->sample_bias(ip)
+ (ip)->vmt->sample_bias(ip)
/**
* @brief Updates gyroscope bias data from received buffer.
@@ -179,7 +172,7 @@ typedef struct {
* @api
*/
#define gyroscopeSetBias(ip, bp) \
- (ip)->vmt_gyroscope->set_bias(ip, bp)
+ (ip)->vmt->set_bias(ip, bp)
/**
* @brief Reset gyroscope bias data restoring it to zero.
@@ -193,7 +186,7 @@ typedef struct {
* @api
*/
#define gyroscopeResetBias(ip) \
- (ip)->vmt_gyroscope->reset_bias(ip)
+ (ip)->vmt->reset_bias(ip)
/**
* @brief Updates gyroscope sensitivity data from received buffer.
@@ -210,7 +203,7 @@ typedef struct {
* @api
*/
#define gyroscopeSetSensitivity(ip, sp) \
- (ip)->vmt_gyroscope->set_sensitivity(ip, sp)
+ (ip)->vmt->set_sensitivity(ip, sp)
/**
* @brief Reset gyroscope sensitivity data restoring it to its typical
@@ -225,7 +218,7 @@ typedef struct {
* @api
*/
#define gyroscopeResetSensitivity(ip) \
- (ip)->vmt_gyroscope->reset_sensitivity(ip)
+ (ip)->vmt->reset_sensitivity(ip)
/** @} */
/*===========================================================================*/
diff --git a/os/hal/lib/peripherals/sensors/hal_hygrometer.h b/os/hal/lib/peripherals/sensors/hal_hygrometer.h
index 31c066e92..054e6faf5 100644
--- a/os/hal/lib/peripherals/sensors/hal_hygrometer.h
+++ b/os/hal/lib/peripherals/sensors/hal_hygrometer.h
@@ -85,7 +85,7 @@ struct BaseHygrometerVMT {
*/
typedef struct {
/** @brief Virtual Methods Table.*/
- const struct BaseHygrometerVMT *vmt_hygrometer;
+ const struct BaseHygrometerVMT *vmt;
_base_hygrometer_data
} BaseHygrometer;
@@ -97,13 +97,6 @@ typedef struct {
* @{
*/
/**
- * @brief Instance getter.
- * @details This special method is used to get the instance of this class
- * object from a derived class.
- */
-#define getBaseHygrometer(ip) ((BaseHygrometer *)&(ip)->vmt_hygrometer)
-
-/**
* @brief Hygrometer get channels number.
*
* @param[in] ip pointer to a @p BaseHygrometer class.
@@ -112,7 +105,7 @@ typedef struct {
* @api
*/
#define hygrometerGetChannelsNumber(ip) \
- (ip)->vmt_hygrometer->get_channels_number(ip)
+ (ip)->vmt->get_channels_number(ip)
/**
* @brief Hygrometer read raw data.
@@ -127,7 +120,7 @@ typedef struct {
* @api
*/
#define hygrometerReadRaw(ip, dp) \
- (ip)->vmt_hygrometer->read_raw(ip, dp)
+ (ip)->vmt->read_raw(ip, dp)
/**
* @brief Hygrometer read cooked data.
@@ -142,7 +135,7 @@ typedef struct {
* @api
*/
#define hygrometerReadCooked(ip, dp) \
- (ip)->vmt_hygrometer->read_cooked(ip, dp)
+ (ip)->vmt->read_cooked(ip, dp)
/**
* @brief Updates hygrometer bias data from received buffer.
@@ -159,7 +152,7 @@ typedef struct {
* @api
*/
#define hygrometerSetBias(ip, bp) \
- (ip)->vmt_hygrometer->set_bias(ip, bp)
+ (ip)->vmt->set_bias(ip, bp)
/**
* @brief Reset hygrometer bias data restoring it to zero.
@@ -173,7 +166,7 @@ typedef struct {
* @api
*/
#define hygrometerResetBias(ip) \
- (ip)->vmt_hygrometer->reset_bias(ip)
+ (ip)->vmt->reset_bias(ip)
/**
* @brief Updates hygrometer sensitivity data from received buffer.
@@ -190,7 +183,7 @@ typedef struct {
* @api
*/
#define hygrometerSetSensitivity(ip, sp) \
- (ip)->vmt_hygrometer->set_sensitivity(ip, sp)
+ (ip)->vmt->set_sensitivity(ip, sp)
/**
* @brief Reset hygrometer sensitivity data restoring it to its typical
@@ -205,7 +198,7 @@ typedef struct {
* @api
*/
#define hygrometerResetSensitivity(ip) \
- (ip)->vmt_hygrometer->reset_sensitivity(ip)
+ (ip)->vmt->reset_sensitivity(ip)
/** @} */
/*===========================================================================*/
diff --git a/os/hal/lib/peripherals/sensors/hal_sensors.h b/os/hal/lib/peripherals/sensors/hal_sensors.h
index b5c6b4e9d..f32d8d468 100644
--- a/os/hal/lib/peripherals/sensors/hal_sensors.h
+++ b/os/hal/lib/peripherals/sensors/hal_sensors.h
@@ -83,7 +83,7 @@ struct BaseSensorVMT {
*/
typedef struct {
/** @brief Virtual Methods Table.*/
- const struct BaseSensorVMT *vmt_sensor;
+ const struct BaseSensorVMT *vmt;
_base_sensor_data
} BaseSensor;
@@ -96,13 +96,6 @@ typedef struct {
* @{
*/
/**
- * @brief Instance getter.
- * @details This special method is used to get the instance of this class
- * object from a derived class.
- */
-#define getBaseSensor(ip) ((BaseSensor *)&(ip)->vmt_sensor)
-
-/**
* @brief Sensors get channels number.
*
* @param[in] ip pointer to a @p BaseSensor or derived class.
@@ -110,7 +103,7 @@ typedef struct {
*
* @api
*/
-#define sensorGetChannelNumber(ip) (ip)->vmt_sensor->get_channels_number(ip)
+#define sensorGetChannelNumber(ip) (ip)->vmt->get_channels_number(ip)
/**
* @brief Sensors read raw data.
@@ -124,7 +117,7 @@ typedef struct {
*
* @api
*/
-#define sensorReadRaw(ip, dp) (ip)->vmt_sensor->read_raw(ip, dp)
+#define sensorReadRaw(ip, dp) (ip)->vmt->read_raw(ip, dp)
/**
* @brief Sensors read cooked data.
@@ -138,7 +131,7 @@ typedef struct {
*
* @api
*/
-#define sensorReadCooked(ip, dp) (ip)->vmt_sensor->read_cooked(ip, dp)
+#define sensorReadCooked(ip, dp) (ip)->vmt->read_cooked(ip, dp)
/** @} */
/*===========================================================================*/
diff --git a/os/hal/lib/peripherals/sensors/hal_thermometer.h b/os/hal/lib/peripherals/sensors/hal_thermometer.h
index 6cf13d7f2..a0e833f94 100644
--- a/os/hal/lib/peripherals/sensors/hal_thermometer.h
+++ b/os/hal/lib/peripherals/sensors/hal_thermometer.h
@@ -85,7 +85,7 @@ struct BaseThermometerVMT {
*/
typedef struct {
/** @brief Virtual Methods Table.*/
- const struct BaseThermometerVMT *vmt_thermometer;
+ const struct BaseThermometerVMT *vmt;
_base_thermometer_data
} BaseThermometer;
@@ -97,13 +97,6 @@ typedef struct {
* @{
*/
/**
- * @brief Instance getter.
- * @details This special method is used to get the instance of this class
- * object from a derived class.
- */
-#define getBaseThermometer(ip) ((BaseThermometer *)&(ip)->vmt_thermometer)
-
-/**
* @brief Thermometer get channels number.
*
* @param[in] ip pointer to a @p BaseThermometer class.
@@ -112,7 +105,7 @@ typedef struct {
* @api
*/
#define thermometerGetChannelsNumber(ip) \
- (ip)->vmt_thermometer->get_channels_number(ip)
+ (ip)->vmt->get_channels_number(ip)
/**
* @brief Thermometer read raw data.
@@ -127,7 +120,7 @@ typedef struct {
* @api
*/
#define thermometerReadRaw(ip, dp) \
- (ip)->vmt_thermometer->read_raw(ip, dp)
+ (ip)->vmt->read_raw(ip, dp)
/**
* @brief Thermometer read cooked data.
@@ -142,7 +135,7 @@ typedef struct {
* @api
*/
#define thermometerReadCooked(ip, dp) \
- (ip)->vmt_thermometer->read_cooked(ip, dp)
+ (ip)->vmt->read_cooked(ip, dp)
/**
* @brief Updates thermometer bias data from received buffer.
@@ -159,7 +152,7 @@ typedef struct {
* @api
*/
#define thermometerSetBias(ip, bp) \
- (ip)->vmt_thermometer->set_bias(ip, bp)
+ (ip)->vmt->set_bias(ip, bp)
/**
* @brief Reset thermometer bias data restoring it to zero.
@@ -173,7 +166,7 @@ typedef struct {
* @api
*/
#define thermometerResetBias(ip) \
- (ip)->vmt_thermometer->reset_bias(ip)
+ (ip)->vmt->reset_bias(ip)
/**
* @brief Updates thermometer sensitivity data from received buffer.
@@ -190,7 +183,7 @@ typedef struct {
* @api
*/
#define thermometerSetSensitivity(ip, sp) \
- (ip)->vmt_thermometer->set_sensitivity(ip, sp)
+ (ip)->vmt->set_sensitivity(ip, sp)
/**
* @brief Reset thermometer sensitivity data restoring it to its typical
@@ -205,7 +198,7 @@ typedef struct {
* @api
*/
#define thermometerResetSensitivity(ip) \
- (ip)->vmt_thermometer->reset_sensitivity(ip)
+ (ip)->vmt->reset_sensitivity(ip)
/** @} */
/*===========================================================================*/