I2C. Testhal update.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3584 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
barthess 2011-12-08 19:28:55 +00:00
parent edfa9d2fae
commit 8196de6aef
4 changed files with 9 additions and 6 deletions

View File

@ -31,7 +31,7 @@ endif
# Enable this if you want to see the full log while compiling.
ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = yes
USE_VERBOSE_COMPILE = no
endif
#

View File

@ -36,15 +36,15 @@ static uint8_t rx_data[2];
/* temperature value */
static int16_t temperature = 0;
static i2cflags_t errors = 0;
#define addr 0b1001100
/* This is main function. */
void request_fake(void){
i2cflags_t errors = 0;
i2cAcquireBus(&I2CD1);
errors = i2cMasterReceive(&I2CD1, addr, rx_data, 2);
i2cMasterReceive(&I2CD1, addr, rx_data, 2, &errors, TIME_INFINITE);
i2cReleaseBus(&I2CD1);
if (errors == I2CD_ACK_FAILURE){

View File

@ -40,6 +40,8 @@
static uint8_t accel_rx_data[ACCEL_RX_DEPTH];
static uint8_t accel_tx_data[ACCEL_TX_DEPTH];
static i2cflags_t errors = 0;
static int16_t acceleration_x = 0;
static int16_t acceleration_y = 0;
static int16_t acceleration_z = 0;
@ -57,7 +59,7 @@ int init_lis3(void){
/* sending */
i2cAcquireBus(&I2CD1);
i2cMasterTransmit(&I2CD1, lis3_addr, accel_tx_data, 4, accel_rx_data, 0);
i2cMasterTransmit(&I2CD1, lis3_addr, accel_tx_data, 4, accel_rx_data, 0, &errors, TIME_INFINITE);
i2cReleaseBus(&I2CD1);
return 0;
}
@ -68,7 +70,7 @@ int init_lis3(void){
void request_acceleration_data(void){
accel_tx_data[0] = ACCEL_OUT_DATA | AUTO_INCREMENT_BIT; // register address
i2cAcquireBus(&I2CD1);
i2cMasterTransmit(&I2CD1, lis3_addr, accel_tx_data, 1, accel_rx_data, 6);
i2cMasterTransmit(&I2CD1, lis3_addr, accel_tx_data, 1, accel_rx_data, 6, &errors, TIME_INFINITE);
i2cReleaseBus(&I2CD1);
acceleration_x = accel_rx_data[0] + (accel_rx_data[1] << 8);

View File

@ -38,6 +38,7 @@ static uint8_t tmp75_rx_data[TMP75_RX_DEPTH];
/* temperature value */
static int16_t temperature = 0;
static i2cflags_t errors = 0;
#define tmp75_addr 0b1001000
@ -46,7 +47,7 @@ void request_temperature(void){
int16_t t_int = 0, t_frac = 0;
i2cAcquireBus(&I2CD1);
i2cMasterReceive(&I2CD1, tmp75_addr, tmp75_rx_data, 2);
i2cMasterReceive(&I2CD1, tmp75_addr, tmp75_rx_data, 2, &errors, TIME_INFINITE);
i2cReleaseBus(&I2CD1);
t_int = tmp75_rx_data[0] * 100;