X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fdrivers%2Fao_adxl375.c;h=dca2213b1ba94cb3b111a19ed81301c6e1cf8450;hb=91b6d1e56a37a2cfae53c3727feaaa40505f48d9;hp=778c214b6e49b637a0ebd0be74b65c5de1120b68;hpb=c01514fa1e0a2cea3955c71a833b4a21b3d33f24;p=fw%2Faltos diff --git a/src/drivers/ao_adxl375.c b/src/drivers/ao_adxl375.c index 778c214b..dca2213b 100644 --- a/src/drivers/ao_adxl375.c +++ b/src/drivers/ao_adxl375.c @@ -143,7 +143,7 @@ ao_adxl375_setup(void) uint8_t devid = ao_adxl375_reg_read(AO_ADXL375_DEVID); if (devid != AO_ADXL375_DEVID_ID) - ao_sensor_errors = 1; + AO_SENSOR_ERROR(AO_DATA_ADXL375); /* Set the data rate */ ao_adxl375_reg_write(AO_ADXL375_BW_RATE, @@ -172,7 +172,6 @@ ao_adxl375_setup(void) (0 << AO_ADXL375_POWER_CTL_SLEEP) | (AO_ADXL375_POWER_CTL_WAKEUP_8 << AO_ADXL375_POWER_CTL_WAKEUP)); - (void) ao_adxl375_total_value; /* Perform self-test */ struct ao_adxl375_total self_test_off, self_test_on; @@ -204,8 +203,15 @@ ao_adxl375_setup(void) self_test_value = z_change; - if (z_change < MIN_SELF_TEST || MAX_SELF_TEST < z_change) - ao_sensor_errors = 1; + if (z_change < MIN_SELF_TEST) + AO_SENSOR_ERROR(AO_DATA_ADXL375); + + /* This check is commented out as maximum self test is unreliable + + if (z_change > MAX_SELF_TEST) + AO_SENSOR_ERROR(AO_DATA_ADXL375); + + */ /* Discard some samples to let it settle down */ ao_adxl375_total_value(&self_test_off, AO_ADXL375_SELF_TEST_SETTLE); @@ -229,13 +235,13 @@ static struct ao_task ao_adxl375_task; static void ao_adxl375_dump(void) { - printf ("ADXL375 value %d %d %d self test %d min %d max %d\n", + printf ("ADXL375 value %d %d %d self test %ld min %ld max %ld\n", ao_adxl375_current.x, ao_adxl375_current.y, ao_adxl375_current.z, - self_test_value, - MIN_SELF_TEST, - MAX_SELF_TEST); + (long) self_test_value, + (long) MIN_SELF_TEST, + (long) MAX_SELF_TEST); } const struct ao_cmds ao_adxl375_cmds[] = {