diff --git a/hardware/BME280.c b/hardware/BME280.c index 11b6d19..af4c19e 100644 --- a/hardware/BME280.c +++ b/hardware/BME280.c @@ -250,7 +250,7 @@ bool bme280_init(uint8_t cs_usrio_pin) { bme280_temperature_fine_adjust = BME280_TEMPERATURE_ADJUSTMENT; - USR_IO_DDR |= bme280_cs_usrio_pin; + USR_IO_DDR |= _BV(bme280_cs_usrio_pin); SPI_DDR |= _BV(SPI_MOSI) | _BV(SPI_CLK); SPI_DDR &= ~(_BV(SPI_MISO)); diff --git a/main.c b/main.c index dcf406a..0b7e90f 100755 --- a/main.c +++ b/main.c @@ -104,12 +104,12 @@ void init(void) { mtime_t sensor_poll_time = 0; void sensor_jobs(void) { - if (rtc_milliseconds() > sensor_poll_time+config_sensor_interval_ms) { + if (milliseconds() > sensor_poll_time) { if (config_sensor_bme280_enabled && bme280_ready) { bme280_poll(); } - sensor_poll_time = rtc_milliseconds(); + sensor_poll_time = milliseconds() + config_sensor_interval_ms; } } diff --git a/util/Config.h b/util/Config.h index 69732bd..0820bf9 100644 --- a/util/Config.h +++ b/util/Config.h @@ -120,19 +120,4 @@ void EEPROM_updatebyte(uint16_t addr, uint8_t data); uint8_t EEPROM_readbyte(uint16_t addr); void EEPROM_writebyte(uint16_t addr, uint8_t data); -#endif - -/* - CSMA P - CSMA Slot Time - Preamble - Tail - - LED intensity - Output gain - Input gain - - Pass-all - - Log packets -*/ \ No newline at end of file +#endif \ No newline at end of file diff --git a/util/time.h b/util/time.h index c361b5c..df3054a 100755 --- a/util/time.h +++ b/util/time.h @@ -35,6 +35,10 @@ inline mtime_t ticks_to_ms(ticks_t ticks) { return DIV_ROUND(ticks, DIV_ROUND(CLOCK_TICKS_PER_SEC, 1000)); } +static inline mtime_t milliseconds(void) { + return ticks_to_ms(timer_clock()); +} + static inline uint32_t rtc_seconds(void) { uint32_t result; @@ -45,6 +49,10 @@ static inline uint32_t rtc_seconds(void) { return result; } +static inline mtime_t rtc_milliseconds(void) { + return ticks_to_ms(timer_clock() % CLOCK_TICKS_PER_SEC); +} + static inline uint32_t rtc_unix_timestamp(void) { uint32_t result; ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { @@ -54,10 +62,6 @@ static inline uint32_t rtc_unix_timestamp(void) { return result+UNIX_EPOCH_OFFSET; } -static inline mtime_t rtc_milliseconds(void) { - return ticks_to_ms(timer_clock() % CLOCK_TICKS_PER_SEC); -} - static inline void rtc_set_seconds(uint32_t seconds) { ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { _rtc_seconds = seconds;