2022-04-14 20:47:39 +02:00

93 lines
1.6 KiB
C

#ifndef BTLIB_H
#define BTLIB_H
#include "nimble/ble.h"
#include "host/ble_hs.h"
#include "configuration.h"
#define C_WL_MODE_BLE 0b100
#define ENVIRONMENTAL_SENSING_UUID 0x181A
#define ES_MEASUREMENT_UUID 0x290C
#define CHAR_CO2_UUID 0x0C39
#define CHAR_TEMP_UUID 0x2A6E
#define CHAR_HUM_UUID 0x2A6F
#define CO2_SENSOR_APPEARANCE 0x054A
#define DEFAULT_NAME "CO2_ble"
#define DEFAULT_NAME_LEN 7
#define NIMBLE_LOG_TAG "NIMBLE"
enum {
ES_SAMPLING_FUNC_UNSPEC,
ES_SAMPLING_FUNC_INSTANT,
ES_SAMPLING_FUNC_MEAN,
ES_SAMPLING_FUNC_RMS,
ES_SAMPLING_FUNC_MAX,
ES_SAMPLING_FUNC_MIN,
ES_SAMPLING_FUNC_ACC,
ES_SAMPLING_FUNC_COUNT,
};
enum {
ES_APP_UNSPEC,
ES_APP_AIR,
ES_APP_WATER,
ES_APP_BAROMETRIC,
ES_APP_SOIL,
ES_APP_INFRARED,
ES_APP_MAP_DB,
ES_APP_BAROMETRIC_EL,
ES_APP_GPS_EL,
ES_APP_GPS_MAP_EL,
ES_APP_VERT_EL,
ES_APP_ONSHORE,
ES_APP_ONBOARD,
ES_APP_FRONT,
ES_APP_BACK,
ES_APP_UPPER,
ES_APP_LOWER,
ES_APP_PRIMARY,
ES_APP_SECONDARY,
ES_APP_OUTDOOR,
ES_APP_INDOOR,
ES_APP_TOP,
ES_APP_BOTTOM,
ES_APP_MAIN,
ES_APP_BACKUP,
ES_APP_AUXILIARY,
ES_APP_SUPPLEMENTARY,
ES_APP_INSIDE,
ES_APP_OUTSIDE,
ES_APP_LEFT,
ES_APP_RIGHT,
ES_APP_INTERNAL,
ES_APP_EXTERNAL,
ES_APP_SOLAR,
};
enum{
ES_SVC_IDX,
};
enum{
ES_CHAR_CO2,
ES_CHAR_TEMP,
ES_CHAR_HUM,
ES_CHAR_NB,
};
struct ES_char_descr {
uint16_t flags;
uint8_t sampling_function;
uint8_t measurement_period[3];
uint8_t update_interval[3];
uint8_t application;
uint8_t measurement_uncertainty;
};
typedef struct ES_char_descr ES_char_descr_t;
void initBle(configuration_data_t* main_conf);
void ble_sensor_notify();
#endif