X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fdrivers%2Fao_ms5607.c;h=162141115c01c5f7e7f2abbab541bc9b5622b486;hp=a468fee3392bd23b8d8211e6de898ad4ce0296dd;hb=ee7a54b3215ffa1eb38f16a151c0740b14b60857;hpb=c6e57291d91f1f6c4de5c54a5cfd3eef66d9f830 diff --git a/src/drivers/ao_ms5607.c b/src/drivers/ao_ms5607.c index a468fee3..16214111 100644 --- a/src/drivers/ao_ms5607.c +++ b/src/drivers/ao_ms5607.c @@ -31,12 +31,12 @@ static uint8_t ms5607_configured; static void ao_ms5607_start(void) { - ao_spi_get_bit(AO_MS5607_CS_PORT, AO_MS5607_CS_PIN, AO_MS5607_CS, AO_MS5607_SPI_INDEX, AO_MS5607_SPI_SPEED); + ao_spi_get_bit(AO_MS5607_CS_PORT, AO_MS5607_CS_PIN, AO_MS5607_SPI_INDEX, AO_MS5607_SPI_SPEED); } static void ao_ms5607_stop(void) { - ao_spi_put_bit(AO_MS5607_CS_PORT, AO_MS5607_CS_PIN, AO_MS5607_CS, AO_MS5607_SPI_INDEX); + ao_spi_put_bit(AO_MS5607_CS_PORT, AO_MS5607_CS_PIN, AO_MS5607_SPI_INDEX); } static void @@ -74,7 +74,7 @@ ao_ms5607_crc(uint8_t *prom) return n_rem; } -static int +static bool ao_ms5607_prom_valid(uint8_t *prom) { uint8_t crc; @@ -87,13 +87,13 @@ ao_ms5607_prom_valid(uint8_t *prom) if (*p++ + 1 > 1) break; if (i == 16) - return FALSE; + return false; crc = ao_ms5607_crc(prom); if (crc != (prom[15] & 0xf)) - return FALSE; + return false; - return TRUE; + return true; } static void @@ -164,7 +164,7 @@ ao_ms5607_get_sample(uint8_t cmd) { ao_spi_put(AO_MS5607_SPI_INDEX); #endif ao_arch_block_interrupts(); - while (!ao_gpio_get(AO_MS5607_MISO_PORT, AO_MS5607_MISO_PIN, AO_MS5607_MISO) && + while (!ao_gpio_get(AO_MS5607_MISO_PORT, AO_MS5607_MISO_PIN) && !ao_ms5607_done) ao_sleep((void *) &ao_ms5607_done); ao_arch_release_interrupts(); @@ -240,6 +240,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); @@ -255,6 +258,10 @@ ao_ms5607_dump(void) { struct ao_ms5607_value value; +#if !HAS_MS5607_TASK + ao_ms5607_info(); + ao_ms5607_sample(&ao_ms5607_current); +#endif ao_ms5607_convert(&ao_ms5607_current, &value); printf ("Pressure: %8lu %8ld\n", ao_ms5607_current.pres, value.pres); printf ("Temperature: %8lu %8ld\n", ao_ms5607_current.temp, value.temp);