From 2eef164c17fbddd23fff2b83cd49d03b9577fdcd Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sun, 6 Mar 2016 15:41:40 +0000 Subject: Modified to allow multiple inheritance. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9042 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/lib/peripherals/include/hal_accelerometer.h | 8 +++++++- os/hal/lib/peripherals/include/hal_compass.h | 10 ++++++++-- os/hal/lib/peripherals/include/hal_gyroscope.h | 10 ++++++++-- os/hal/lib/peripherals/include/hal_sensors.h | 8 +++++++- 4 files changed, 30 insertions(+), 6 deletions(-) (limited to 'os/hal/lib/peripherals') diff --git a/os/hal/lib/peripherals/include/hal_accelerometer.h b/os/hal/lib/peripherals/include/hal_accelerometer.h index f6b4229af..c557dc96f 100644 --- a/os/hal/lib/peripherals/include/hal_accelerometer.h +++ b/os/hal/lib/peripherals/include/hal_accelerometer.h @@ -46,8 +46,14 @@ /** * @brief BaseAccelerometer specific methods. */ +#define _base_accelerometer_methods_alone + +/** + * @brief BaseAccelerometer specific methods with inherited ones. + */ #define _base_accelerometer_methods \ - _base_sensor_methods + _base_sensor_methods \ + _base_accelerometer_methods_alone /** * @brief @p BaseAccelerometer virtual methods table. diff --git a/os/hal/lib/peripherals/include/hal_compass.h b/os/hal/lib/peripherals/include/hal_compass.h index 22bf22844..9d4678878 100644 --- a/os/hal/lib/peripherals/include/hal_compass.h +++ b/os/hal/lib/peripherals/include/hal_compass.h @@ -46,9 +46,15 @@ /** * @brief BaseCompass specific methods. */ +#define _base_compass_methods_alone + +/** + * @brief BaseCompass specific methods with inherited ones. + */ #define _base_compass_methods \ - _base_sensor_methods - + _base_sensor_methods \ + _base_compass_methods_alone + /** * @brief @p BaseCompass virtual methods table. */ diff --git a/os/hal/lib/peripherals/include/hal_gyroscope.h b/os/hal/lib/peripherals/include/hal_gyroscope.h index 142832094..4d551d777 100644 --- a/os/hal/lib/peripherals/include/hal_gyroscope.h +++ b/os/hal/lib/peripherals/include/hal_gyroscope.h @@ -46,13 +46,19 @@ /** * @brief BaseGyroscope specific methods. */ -#define _base_gyroscope_methods \ - _base_sensor_methods \ +#define _base_gyroscope_methods_alone \ /* Remove the calibration data.*/ \ msg_t (*reset_calibration)(void *instance); \ /* Invokes the calibration procedure.*/ \ msg_t (*calibrate)(void *instance); +/** + * @brief BaseGyroscope specific methods with inherited ones. + */ +#define _base_gyroscope_methods \ + _base_sensor_methods \ + _base_gyroscope_methods_alone + /** * @brief @p BaseGyroscope virtual methods table. */ diff --git a/os/hal/lib/peripherals/include/hal_sensors.h b/os/hal/lib/peripherals/include/hal_sensors.h index 6254f036e..b722161b6 100644 --- a/os/hal/lib/peripherals/include/hal_sensors.h +++ b/os/hal/lib/peripherals/include/hal_sensors.h @@ -44,7 +44,7 @@ /** * @brief BaseSensor specific methods. */ -#define _base_sensor_methods \ +#define _base_sensor_methods_alone \ /* Get number of axes.*/ \ size_t (*get_axes_number)(void *instance); \ /* Reads the sensor raw data.*/ \ @@ -52,6 +52,12 @@ /* Reads the sensor returning normalized data.*/ \ msg_t (*read_cooked)(void *instance, float axes[]); +/** + * @brief BaseSensor specific methods with inherited ones. + */ +#define _base_sensor_methods \ + _base_sensor_methods_alone + /** * @brief @p BaseSensor virtual methods table. */ -- cgit v1.2.3