diff options
author | Rocco Marco Guglielmi <roccomarco.guglielmi@live.com> | 2016-08-31 17:28:13 +0000 |
---|---|---|
committer | Rocco Marco Guglielmi <roccomarco.guglielmi@live.com> | 2016-08-31 17:28:13 +0000 |
commit | f3e61d2cde6739acb39cfd85ebaceb2c77bd7cd2 (patch) | |
tree | 5fd81d83137e040ae80a31392e9d34e781eac596 /os/ex/ST/lsm303dlhc.c | |
parent | 7e20b9958aa68f3c52d3a45ebe92f252a0447e51 (diff) | |
download | ChibiOS-f3e61d2cde6739acb39cfd85ebaceb2c77bd7cd2.tar.gz ChibiOS-f3e61d2cde6739acb39cfd85ebaceb2c77bd7cd2.tar.bz2 ChibiOS-f3e61d2cde6739acb39cfd85ebaceb2c77bd7cd2.zip |
Added missed acquire bus in LSM303DLHC driver
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9754 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/ex/ST/lsm303dlhc.c')
-rw-r--r-- | os/ex/ST/lsm303dlhc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/os/ex/ST/lsm303dlhc.c b/os/ex/ST/lsm303dlhc.c index a86885b27..f538b559c 100644 --- a/os/ex/ST/lsm303dlhc.c +++ b/os/ex/ST/lsm303dlhc.c @@ -472,6 +472,12 @@ static msg_t acc_set_full_scale(void *ip, lsm303dlhc_acc_fs_t fs) { scale = newfs / ((LSM303DLHCDriver *)ip)->accfullscale;
((LSM303DLHCDriver *)ip)->accfullscale = newfs;
+#if LSM303DLHC_SHARED_I2C
+ i2cAcquireBus(((LSM303DLHCDriver *)ip)->config->i2cp);
+ i2cStart(((LSM303DLHCDriver *)ip)->config->i2cp,
+ ((LSM303DLHCDriver *)ip)->config->i2ccfg);
+#endif /* LSM303DLHC_SHARED_I2C */
+
/* Updating register.*/
msg = lsm303dlhcI2CReadRegister(((LSM303DLHCDriver *)ip)->config->i2cp,
LSM303DLHC_SAD_ACC,
@@ -486,6 +492,9 @@ static msg_t acc_set_full_scale(void *ip, lsm303dlhc_acc_fs_t fs) { LSM303DLHC_SAD_ACC, buff, 1);
if(msg != MSG_OK)
return msg;
+#if LSM303DLHC_SHARED_I2C
+ i2cReleaseBus(((LSM303DLHCDriver *)ip)->config->i2cp);
+#endif /* LSM303DLHC_SHARED_I2C */
/* Scaling sensitivity and bias. Re-calibration is suggested anyway. */
for(i = 0; i < LSM303DLHC_ACC_NUMBER_OF_AXES; i++) {
|