main/task_bmp280.h

Tue, 28 Mar 2023 11:25:46 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Tue, 28 Mar 2023 11:25:46 +0200
changeset 2
3462a53e548f
parent 1
1c9894662795
permissions
-rw-r--r--

Finished the BMP280 task.

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