Sat, 01 Apr 2023 21:06:59 +0200
Added task_out to drive the relays and led lights. Added NVS namespace to store the state of the outputs. Respond to subscribed MQTT topics to set new output values.
/** * @file task_bmp280.h * @brief The FreeRTOS task to query the BMP280 sensor connected to * the I2C bus. * The task will update the sensor state structures. */ #ifndef _TASK_BMP280_H #define _TASK_BMP280_H /* * Error codes in this task */ #define BMP280_ERR_NONE 0 ///< No errors #define BMP280_ERR_READ 1 /** * @brief Structure containing the variables for the BMP280 task. */ typedef struct { bool valid; ///< Valid measurement bool fake; ///< Fake measurement uint8_t address; ///< Device i2c address float temperature; ///< Temperature in celsius float humidity; float pressure; ///< Pressure in hPa int error; ///< Error result } BMP280_State; /** * @brief Request a new measurement from selected sensors. */ void request_bmp280(void); /** * @brief Check if results are ready * @return true of results are ready, else false. */ bool ready_bmp280(void); /** * @brief The FreeRTOS task to update the BMP280 on request. * @param pvParameters Parameters for the task. */ void task_bmp280(void *pvParameters); #endif