diff options
| author | Keith Packard <keithp@keithp.com> | 2012-05-06 22:47:33 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2012-05-06 22:47:33 -0700 | 
| commit | 0f0cc91ce8e9807dca48a5c0c53d821f5060e245 (patch) | |
| tree | 133cab98a14cbde57db187116022a34bc2394d97 /src/drivers/ao_mpu6000.c | |
| parent | 69feb1e3d94a028d04529edb015654bafd06353b (diff) | |
altos: STM i2c work.
Start now driven by interrupts
Send now done with DMA and interrupts
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/drivers/ao_mpu6000.c')
| -rw-r--r-- | src/drivers/ao_mpu6000.c | 16 | 
1 files changed, 7 insertions, 9 deletions
| diff --git a/src/drivers/ao_mpu6000.c b/src/drivers/ao_mpu6000.c index 290f1390..d7f67d6e 100644 --- a/src/drivers/ao_mpu6000.c +++ b/src/drivers/ao_mpu6000.c @@ -35,10 +35,8 @@ ao_mpu6000_write(uint8_t addr, uint8_t *data, uint8_t len)  {  	ao_i2c_get(AO_MPU6000_I2C_INDEX);  	ao_i2c_start(AO_MPU6000_I2C_INDEX, MPU6000_ADDR_WRITE); -	ao_i2c_send(&addr, 1, AO_MPU6000_I2C_INDEX); -	if (len) -		ao_i2c_send(data, len, AO_MPU6000_I2C_INDEX); -	ao_i2c_stop(AO_MPU6000_I2C_INDEX); +	ao_i2c_send(&addr, 1, AO_MPU6000_I2C_INDEX, FALSE); +	ao_i2c_send(data, len, AO_MPU6000_I2C_INDEX, TRUE);  	ao_i2c_put(AO_MPU6000_I2C_INDEX);  } @@ -47,11 +45,9 @@ ao_mpu6000_read(uint8_t addr, uint8_t *data, uint8_t len)  {  	ao_i2c_get(AO_MPU6000_I2C_INDEX);  	ao_i2c_start(AO_MPU6000_I2C_INDEX, MPU6000_ADDR_WRITE); -	ao_i2c_send(&addr, 1, AO_MPU6000_I2C_INDEX); +	ao_i2c_send(&addr, 1, AO_MPU6000_I2C_INDEX, FALSE);  	ao_i2c_start(AO_MPU6000_I2C_INDEX, MPU6000_ADDR_READ); -	if (len) -		ao_i2c_recv(data, len, AO_MPU6000_I2C_INDEX); -	ao_i2c_stop(AO_MPU6000_I2C_INDEX); +	ao_i2c_recv(data, len, AO_MPU6000_I2C_INDEX, TRUE);  	ao_i2c_put(AO_MPU6000_I2C_INDEX);  } @@ -78,9 +74,11 @@ ao_mpu6000_show(void)  	ao_mpu6000_read(MPU6000_WHO_AM_I, data, 1);  	printf ("mpu6000 WHO_AM_I: %02x\n", data[0]); -	ao_mpu6000_read(MPU6000_ACCEL_XOUT_H, data, 1); +#if 0 +	ao_mpu6000_read(MPU6000_ACCEL_XOUT_H, data, 14);  	for (i = 0; i < 14; i++)  		printf ("reg %02x: %02x\n", i + MPU6000_ACCEL_XOUT_H, data[i]); +#endif  }  static const struct ao_cmds ao_mpu6000_cmds[] = { | 
