Skip to content

Commit

Permalink
[peripherals] adxl345: enable measurement mode AFTER other configurat…
Browse files Browse the repository at this point in the history
…ion is done
  • Loading branch information
flixr committed Mar 1, 2013
1 parent ab78389 commit 3ecd088
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 15 deletions.
4 changes: 2 additions & 2 deletions sw/airborne/lisa/test/lisa_test_adxl345_dma.c
Expand Up @@ -90,13 +90,13 @@ static inline void main_periodic_task( void ) {
if (acc_status != CONFIGURED) {
/* set data rate to 800Hz */
write_to_reg(ADXL345_REG_BW_RATE, 0x0D);
/* switch to measurememnt mode */
write_to_reg(ADXL345_REG_POWER_CTL, 1<<3);
/* enable data ready interrupt */
write_to_reg(ADXL345_REG_INT_ENABLE, 1<<7);
/* Enable full res and interrupt active low */
write_to_reg(ADXL345_REG_DATA_FORMAT, 1<<3|1<<5);
/* reads data once to bring interrupt line up */
/* switch to measurememnt mode */
write_to_reg(ADXL345_REG_POWER_CTL, 1<<3);
read_data();
acc_status = CONFIGURED;
}
Expand Down
6 changes: 3 additions & 3 deletions sw/airborne/peripherals/adxl345.h
Expand Up @@ -36,9 +36,9 @@
enum Adxl345ConfStatus {
ADXL_CONF_UNINIT = 0,
ADXL_CONF_RATE = 1,
ADXL_CONF_POWER = 2,
ADXL_CONF_INT = 3,
ADXL_CONF_FORMAT = 4,
ADXL_CONF_INT = 2,
ADXL_CONF_FORMAT = 3,
ADXL_CONF_ENABLE = 4,
ADXL_CONF_DONE = 5
};

Expand Down
10 changes: 5 additions & 5 deletions sw/airborne/peripherals/adxl345_i2c.c
Expand Up @@ -64,11 +64,6 @@ static void adxl345_i2c_send_config(struct Adxl345_I2c *adxl)
adxl345_i2c_tx_reg(adxl, ADXL345_REG_BW_RATE, adxl->config.rate);
adxl->init_status++;
break;
case ADXL_CONF_POWER:
/* enable measurement, is in standby after power up */
adxl345_i2c_tx_reg(adxl, ADXL345_REG_POWER_CTL, (0x1<<3));
adxl->init_status++;
break;
case ADXL_CONF_INT:
adxl345_i2c_tx_reg(adxl, ADXL345_REG_INT_ENABLE, adxl->config.drdy_int_enable);
adxl->init_status++;
Expand All @@ -77,6 +72,11 @@ static void adxl345_i2c_send_config(struct Adxl345_I2c *adxl)
adxl345_i2c_tx_reg(adxl, ADXL345_REG_DATA_FORMAT, ADXL345_DATA_FORMAT);
adxl->init_status++;
break;
case ADXL_CONF_ENABLE:
/* enable measurement, is in standby after power up */
adxl345_i2c_tx_reg(adxl, ADXL345_REG_POWER_CTL, (0x1<<3));
adxl->init_status++;
break;
case ADXL_CONF_DONE:
adxl->initialized = TRUE;
adxl->i2c_trans.status = I2CTransDone;
Expand Down
10 changes: 5 additions & 5 deletions sw/airborne/peripherals/adxl345_spi.c
Expand Up @@ -82,11 +82,6 @@ static void adxl345_spi_send_config(struct Adxl345_Spi *adxl)
adxl345_spi_write_to_reg(adxl, ADXL345_REG_BW_RATE, adxl->config.rate);
adxl->init_status++;
break;
case ADXL_CONF_POWER:
/* enable measurement, is in standby after power up */
adxl345_spi_write_to_reg(adxl, ADXL345_REG_POWER_CTL, (0x1<<3));
adxl->init_status++;
break;
case ADXL_CONF_INT:
adxl345_spi_write_to_reg(adxl, ADXL345_REG_INT_ENABLE, (adxl->config.drdy_int_enable << 7));
adxl->init_status++;
Expand All @@ -95,6 +90,11 @@ static void adxl345_spi_send_config(struct Adxl345_Spi *adxl)
adxl345_spi_write_to_reg(adxl, ADXL345_REG_DATA_FORMAT, adxl345_data_format(&adxl->config));
adxl->init_status++;
break;
case ADXL_CONF_ENABLE:
/* enable measurement, is in standby after power up */
adxl345_spi_write_to_reg(adxl, ADXL345_REG_POWER_CTL, (0x1<<3));
adxl->init_status++;
break;
case ADXL_CONF_DONE:
adxl->initialized = TRUE;
adxl->spi_trans.status = SPITransDone;
Expand Down

0 comments on commit 3ecd088

Please sign in to comment.