main/task_bmp280.h

Sat, 15 Apr 2023 13:29:40 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sat, 15 Apr 2023 13:29:40 +0200
changeset 29
551a53b31373
parent 2
3462a53e548f
permissions
-rw-r--r--

Final release and installed for production.

/**
 * @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

mercurial