#pragma once #include "host/ble_gatt.h" enum ble_services {CSF_SVC_ID, CS_SVC_ID, RVS_SVC_ID, RANGE_SVC_ID, SETTINGS_SVC_ID, SVCS_NUM}; enum settings_chars {RFRSH_RATE_ID, ZEROS_CALI_ID, ZEROS_CALI_RESET, ZEROS_CALI_NSAMP_ID, SETTINGS_CHRS_NUM}; enum range_characteristics {AUTO_RANGE_ID, CURRENT_RANGE_ID, RANGE_CHRS_NUM}; #define CHAR_PRESENTATION_FORMAT_SIZE 7 struct char_pres_format { uint8_t format; uint8_t exponent; uint16_t unit; uint8_t namespc; uint8_t descrH; uint8_t descrL; }; int gatt_char_access_csf(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt* ctxt, void* arg); int gatt_char_access_cs(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt* ctxt, void* arg); int gatt_char_access_ev(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt* ctxt, void* arg); int gatt_char_access_sampling_rate(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt* ctxt, void* arg); int gatt_char_access_zeros_cali(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt* ctxt, void* arg); int gatt_char_access_range(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt* ctxt, void* arg);