aboutsummaryrefslogtreecommitdiffstats
path: root/os/ex
diff options
context:
space:
mode:
authorRocco Marco Guglielmi <roccomarco.guglielmi@gmail.com>2018-02-05 11:23:37 +0000
committerRocco Marco Guglielmi <roccomarco.guglielmi@gmail.com>2018-02-05 11:23:37 +0000
commit11eb30f8fe72f663071b8204b122ee5e1d7fdfcd (patch)
treeee1e54ff8b57492233375f97c81eb6189e643e6f /os/ex
parentb18d616b0cf4317a3b946f5f9a7549b76c3d8e9c (diff)
downloadChibiOS-11eb30f8fe72f663071b8204b122ee5e1d7fdfcd.tar.gz
ChibiOS-11eb30f8fe72f663071b8204b122ee5e1d7fdfcd.tar.bz2
ChibiOS-11eb30f8fe72f663071b8204b122ee5e1d7fdfcd.zip
Updated LIS302DL driver to v 1.0.4 (Fixing Bug #915).
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11445 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/ex')
-rw-r--r--os/ex/ST/lis302dl.c14
-rw-r--r--os/ex/ST/lis302dl.h72
2 files changed, 43 insertions, 43 deletions
diff --git a/os/ex/ST/lis302dl.c b/os/ex/ST/lis302dl.c
index cf5e96260..58eaf2d57 100644
--- a/os/ex/ST/lis302dl.c
+++ b/os/ex/ST/lis302dl.c
@@ -265,16 +265,11 @@ static msg_t set_full_scale(void *ip, lis302dl_fs_t fs) {
return MSG_OK;
}
-static const struct BaseSensorVMT vmt_basesensor = {
+static const struct BaseSensorVMT vmt_sensor = {
get_axes_number, read_raw, read_cooked
};
-static const struct BaseAccelerometerVMT vmt_baseaccelerometer = {
- get_axes_number, read_raw, read_cooked,
- set_bias, reset_bias, set_sensivity, reset_sensivity
-};
-
-static const struct LIS302DLVMT vmt_lis302dl = {
+static const struct LIS302DLAccelerometerVMT vmt_accelerometer = {
get_axes_number, read_raw, read_cooked,
set_bias, reset_bias, set_sensivity, reset_sensivity,
set_full_scale
@@ -293,9 +288,8 @@ static const struct LIS302DLVMT vmt_lis302dl = {
*/
void lis302dlObjectInit(LIS302DLDriver *devp) {
uint32_t i;
- devp->vmt_basesensor = &vmt_basesensor;
- devp->vmt_baseaccelerometer = &vmt_baseaccelerometer;
- devp->vmt_lis302dl = &vmt_lis302dl;
+ devp->vmt_sensor = &vmt_sensor;
+ devp->vmt_accelerometer = &vmt_accelerometer;
devp->config = NULL;
for(i = 0; i < LIS302DL_NUMBER_OF_AXES; i++)
devp->bias[i] = 0.0f;
diff --git a/os/ex/ST/lis302dl.h b/os/ex/ST/lis302dl.h
index b2d3d5cca..d90998e6a 100644
--- a/os/ex/ST/lis302dl.h
+++ b/os/ex/ST/lis302dl.h
@@ -43,22 +43,22 @@
/**
* @brief LIS302DL driver version string.
*/
-#define EX_LIS302DL_VERSION "1.0.3"
+#define EX_LIS302DL_VERSION "1.0.4"
/**
* @brief LIS302DL driver version major number.
*/
-#define EX_LIS302DL_MAJOR 1
+#define EX_LIS302DL_MAJOR 1
/**
* @brief LIS302DL driver version minor number.
*/
-#define EX_LIS302DL_MINOR 0
+#define EX_LIS302DL_MINOR 0
/**
* @brief LIS302DL driver version patch number.
*/
-#define EX_LIS302DL_PATCH 3
+#define EX_LIS302DL_PATCH 4
/** @} */
/**
@@ -66,25 +66,25 @@
*
* @{
*/
-#define LIS302DL_NUMBER_OF_AXES 3U
-
-#define LIS302DL_2G 2.0f
-#define LIS302DL_8G 8.0f
-
-#define LIS302DL_SENS_2G 18.0f
-#define LIS302DL_SENS_8G 72.0f
+#define LIS302DL_NUMBER_OF_AXES 3U
+
+#define LIS302DL_2G 2.0f
+#define LIS302DL_8G 8.0f
+
+#define LIS302DL_SENS_2G 18.0f
+#define LIS302DL_SENS_8G 72.0f
/** @} */
/**
* @name LIS302DL communication interfaces related bit masks
* @{
*/
-#define LIS302DL_DI_MASK 0xFF /**< Data In mask */
-#define LIS302DL_DI(n) (1 << n) /**< Data In bit n */
-#define LIS302DL_AD_MASK 0x3F /**< Address Data mask */
-#define LIS302DL_AD(n) (1 << n) /**< Address Data bit n */
-#define LIS302DL_MS (1 << 6) /**< Multiple read write */
-#define LIS302DL_RW (1 << 7) /**< Read Write selector */
+#define LIS302DL_DI_MASK 0xFF
+#define LIS302DL_DI(n) (1 << n)
+#define LIS302DL_AD_MASK 0x3F
+#define LIS302DL_AD(n) (1 << n)
+#define LIS302DL_MS (1 << 6)
+#define LIS302DL_RW (1 << 7)
/** @} */
/**
@@ -322,33 +322,34 @@ typedef struct {
} LIS302DLConfig;
/**
- * @brief Structure representing a LIS302DL driver.
+ * @brief @p LIS302DL accelerometer subsystem specific methods.
*/
-typedef struct LIS302DLDriver LIS302DLDriver;
-
+#define _lis302dl_accelerometer_methods_alone \
+ /* Change full scale value of LIS302DL .*/ \
+ msg_t (*set_full_scale)(void *instance, lis302dl_fs_t fs);
+
+
/**
* @brief @p LIS302DL specific methods.
*/
-#define _lis302dl_methods \
+#define _lis302dl_accelerometer_methods \
_base_accelerometer_methods \
- /* Change full scale value of LIS302DL .*/ \
- msg_t (*set_full_scale)(void *instance, lis302dl_fs_t fs);
+ _lis302dl_accelerometer_methods_alone
/**
* @extends BaseAccelerometerVMT
*
- * @brief @p LIS302DL virtual methods table.
+ * @brief @p LIS302DL accelerometer virtual methods table.
*/
-struct LIS302DLVMT {
- _lis302dl_methods
+struct LIS302DLAccelerometerVMT {
+ _lis302dl_accelerometer_methods
};
/**
* @brief @p LIS302DLDriver specific data.
*/
#define _lis302dl_data \
- _base_accelerometer_data \
/* Driver state.*/ \
lis302dl_state_t state; \
/* Current configuration data.*/ \
@@ -369,13 +370,18 @@ struct LIS302DLVMT {
*/
struct LIS302DLDriver {
/** @brief BaseSensor Virtual Methods Table. */
- const struct BaseSensorVMT *vmt_basesensor;
+ const struct BaseSensorVMT *vmt_sensor;
+ _base_sensor_data
/** @brief BaseAccelerometer Virtual Methods Table. */
- const struct BaseAccelerometerVMT *vmt_baseaccelerometer;
- /** @brief LIS302DL Virtual Methods Table. */
- const struct LIS302DLVMT *vmt_lis302dl;
+ const struct LIS302DLAccelerometerVMT *vmt_accelerometer;
+ _base_accelerometer_data
_lis302dl_data
};
+
+/**
+ * @brief Structure representing a LIS302DL driver.
+ */
+typedef struct LIS302DLDriver LIS302DLDriver;
/** @} */
/*===========================================================================*/
@@ -385,7 +391,7 @@ struct LIS302DLDriver {
/**
* @brief Change accelerometer fullscale value.
*
- * @param[in] ip pointer to a @p BaseAccelerometer class.
+ * @param[in] ip pointer to a @p LIS302DLDriver class.
* @param[in] fs the new full scale value.
*
* @return The operation status.
@@ -394,7 +400,7 @@ struct LIS302DLDriver {
* @api
*/
#define accelerometerSetFullScale(ip, fs) \
- (ip)->vmt_lis302dl->set_full_scale(ip, fs)
+ (ip)->vmt_accelerometer->set_full_scale(ip, fs)
/*===========================================================================*/