X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fdrivers%2Fao_ms5607.c;h=c5e733a46e6bf4dacca71dd40ba9e581cd745d90;hb=3af81a45be69b4693396de4a5e2c386be566b933;hp=288d14ed23d1b00f269055423d5c3aa7bdfb6bb0;hpb=ff7fa802f632700f73418246f1be5017ac0a09b4;p=fw%2Faltos diff --git a/src/drivers/ao_ms5607.c b/src/drivers/ao_ms5607.c index 288d14ed..c5e733a4 100644 --- a/src/drivers/ao_ms5607.c +++ b/src/drivers/ao_ms5607.c @@ -25,9 +25,7 @@ struct ao_ms5607_prom ao_ms5607_prom; static uint8_t ms5607_configured; -#ifndef AO_MS5607_SPI_SPEED -#define AO_MS5607_SPI_SPEED AO_SPI_SPEED_FAST -#endif +#define AO_MS5607_SPI_SPEED ao_spi_speed(20000000) static void ao_ms5607_start(void) { @@ -112,8 +110,14 @@ ao_ms5607_prom_read(struct ao_ms5607_prom *prom) r++; } - if (!ao_ms5607_prom_valid((uint8_t *) prom)) + + if (!ao_ms5607_prom_valid((uint8_t *) prom)) { +#if HAS_SENSOR_ERRORS + AO_SENSOR_ERROR(AO_DATA_MS5607); +#else ao_panic(AO_PANIC_SELF_TEST_MS5607); +#endif + } #if __BYTE_ORDER == __LITTLE_ENDIAN /* Byte swap */ @@ -240,6 +244,9 @@ struct ao_task ao_ms5607_task; void ao_ms5607_info(void) { +#if !HAS_MS5607_TASK + ao_ms5607_setup(); +#endif printf ("ms5607 reserved: %u\n", ao_ms5607_prom.reserved); printf ("ms5607 sens: %u\n", ao_ms5607_prom.sens); printf ("ms5607 off: %u\n", ao_ms5607_prom.off); @@ -256,8 +263,6 @@ ao_ms5607_dump(void) struct ao_ms5607_value value; #if !HAS_MS5607_TASK - ao_ms5607_setup(); - ao_ms5607_info(); ao_ms5607_sample(&ao_ms5607_current); #endif ao_ms5607_convert(&ao_ms5607_current, &value);