Modified to allow multiple inheritance.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9042 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
Giovanni Di Sirio 2016-03-06 15:41:40 +00:00
parent cd2beca38c
commit 2eef164c17
4 changed files with 30 additions and 6 deletions

View File

@ -46,8 +46,14 @@
/** /**
* @brief BaseAccelerometer specific methods. * @brief BaseAccelerometer specific methods.
*/ */
#define _base_accelerometer_methods_alone
/**
* @brief BaseAccelerometer specific methods with inherited ones.
*/
#define _base_accelerometer_methods \ #define _base_accelerometer_methods \
_base_sensor_methods _base_sensor_methods \
_base_accelerometer_methods_alone
/** /**
* @brief @p BaseAccelerometer virtual methods table. * @brief @p BaseAccelerometer virtual methods table.

View File

@ -46,8 +46,14 @@
/** /**
* @brief BaseCompass specific methods. * @brief BaseCompass specific methods.
*/ */
#define _base_compass_methods_alone
/**
* @brief BaseCompass specific methods with inherited ones.
*/
#define _base_compass_methods \ #define _base_compass_methods \
_base_sensor_methods _base_sensor_methods \
_base_compass_methods_alone
/** /**
* @brief @p BaseCompass virtual methods table. * @brief @p BaseCompass virtual methods table.

View File

@ -46,13 +46,19 @@
/** /**
* @brief BaseGyroscope specific methods. * @brief BaseGyroscope specific methods.
*/ */
#define _base_gyroscope_methods \ #define _base_gyroscope_methods_alone \
_base_sensor_methods \
/* Remove the calibration data.*/ \ /* Remove the calibration data.*/ \
msg_t (*reset_calibration)(void *instance); \ msg_t (*reset_calibration)(void *instance); \
/* Invokes the calibration procedure.*/ \ /* Invokes the calibration procedure.*/ \
msg_t (*calibrate)(void *instance); 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. * @brief @p BaseGyroscope virtual methods table.
*/ */

View File

@ -44,7 +44,7 @@
/** /**
* @brief BaseSensor specific methods. * @brief BaseSensor specific methods.
*/ */
#define _base_sensor_methods \ #define _base_sensor_methods_alone \
/* Get number of axes.*/ \ /* Get number of axes.*/ \
size_t (*get_axes_number)(void *instance); \ size_t (*get_axes_number)(void *instance); \
/* Reads the sensor raw data.*/ \ /* Reads the sensor raw data.*/ \
@ -52,6 +52,12 @@
/* Reads the sensor returning normalized data.*/ \ /* Reads the sensor returning normalized data.*/ \
msg_t (*read_cooked)(void *instance, float axes[]); 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. * @brief @p BaseSensor virtual methods table.
*/ */