main/task_bmp280.h

Sun, 16 Apr 2023 12:27:12 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 16 Apr 2023 12:27:12 +0200
changeset 30
7448b8dd4288
parent 2
3462a53e548f
permissions
-rw-r--r--

Preparations for BLE GATT. Added extra time after INA219 is powered on before measurement. Reduced LEDC frequency to 60 Hz, that makes the LED lights less nervous. Hardware mod on output 4, now needs external pulldown resistor.

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