Put C++ header guard and add extern to function declarations.

This commit is contained in:
H. Utku Maden 2021-05-16 10:31:06 +03:00
parent 3a5f280bfe
commit 259ede3d5b

@ -10,11 +10,17 @@
#ifndef _BMX280_H_ #ifndef _BMX280_H_
#define _BMX280_H_ #define _BMX280_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h> #include <stdint.h>
#include <limits.h> #include <limits.h>
#include "driver/i2c.h" #include "driver/i2c.h"
#include "sdkconfig.h" #include "sdkconfig.h"
#define BMXAPI extern
/** /**
* Anonymous structure to driver settings. * Anonymous structure to driver settings.
*/ */
@ -27,43 +33,43 @@ typedef struct bmx280_t bmx280_t;
* @param port The I2C port to use. * @param port The I2C port to use.
* @return A non-null pointer to the driver structure on success. * @return A non-null pointer to the driver structure on success.
*/ */
bmx280_t* bmx280_create(i2c_port_t port); BMXAPI bmx280_t* bmx280_create(i2c_port_t port);
/** /**
* Destroy your the instance. * Destroy your the instance.
* @param bmx280 The instance to destroy. * @param bmx280 The instance to destroy.
*/ */
void bmx280_close(bmx280_t* bmx280); BMXAPI void bmx280_close(bmx280_t* bmx280);
/** /**
* Probe for the sensor and read calibration data. * Probe for the sensor and read calibration data.
* @param bmx280 Driver structure. * @param bmx280 Driver structure.
*/ */
esp_err_t bmx280_init(bmx280_t* bmx280); BMXAPI esp_err_t bmx280_init(bmx280_t* bmx280);
/** /**
* Configure the sensor with the given parameters. * Configure the sensor with the given parameters.
* @param bmx280 Driver structure. * @param bmx280 Driver structure.
* @param configuration The configuration to use. * @param configuration The configuration to use.
*/ */
esp_err_t bmx280_configure(bmx280_t* bmx280, bmx280_config_t *cfg); BMXAPI esp_err_t bmx280_configure(bmx280_t* bmx280, bmx280_config_t *cfg);
/** /**
* Set the sensor mode of operation. * Set the sensor mode of operation.
* @param bmx280 Driver structure. * @param bmx280 Driver structure.
* @param mode The mode to set the sensor to. * @param mode The mode to set the sensor to.
*/ */
esp_err_t bmx280_setMode(bmx280_t* bmx280, bmx280_mode_t mode); BMXAPI esp_err_t bmx280_setMode(bmx280_t* bmx280, bmx280_mode_t mode);
/** /**
* Get the sensor current mode of operation. * Get the sensor current mode of operation.
* @param bmx280 Driver structure. * @param bmx280 Driver structure.
* @param mode Pointer to write current mode to. * @param mode Pointer to write current mode to.
*/ */
esp_err_t bmx280_getMode(bmx280_t* bmx280, bmx280_mode_t* mode); BMXAPI esp_err_t bmx280_getMode(bmx280_t* bmx280, bmx280_mode_t* mode);
/** /**
* Returns true if sensor is currently sampling environment conditions. * Returns true if sensor is currently sampling environment conditions.
* @param bmx280 Driver structure. * @param bmx280 Driver structure.
*/ */
bool bmx280_isSampling(bmx280_t* bmx280); BMXAPI bool bmx280_isSampling(bmx280_t* bmx280);
/** /**
* Read sensor values as fixed point numbers. * Read sensor values as fixed point numbers.
@ -72,7 +78,7 @@ bool bmx280_isSampling(bmx280_t* bmx280);
* @param pressure The pressure in Pa (1/256 Pa increments) * @param pressure The pressure in Pa (1/256 Pa increments)
* @param humidity The humidity in %RH (1/1024 %RH increments) (UINT32_MAX when invlaid.) * @param humidity The humidity in %RH (1/1024 %RH increments) (UINT32_MAX when invlaid.)
*/ */
esp_err_t bmx280_readout(bmx280_t *bmx280, int32_t *temperature, uint32_t *pressure, uint32_t *humidity); BMXAPI esp_err_t bmx280_readout(bmx280_t *bmx280, int32_t *temperature, uint32_t *pressure, uint32_t *humidity);
/** /**
* Convert sensor readout to floating point values. * Convert sensor readout to floating point values.
@ -113,4 +119,8 @@ static inline esp_err_t bmx280_readoutFloat(bmx280_t *bmx280, float* temperature
return err; return err;
} }
#ifdef __cplusplus
};
#endif
#endif #endif