Skip to content
Snippets Groups Projects
Commit cb489fd0 authored by schneider's avatar schneider
Browse files

feat(ess): Use BME680 interface

parent f82a74e4
No related branches found
No related tags found
No related merge requests found
......@@ -88,11 +88,11 @@ static const attsAttr_t ESSSvcAttrList[] = {
.permissions = ATTS_PERMIT_READ,
},
{
.pUuid = attTemperatureChUuid,
.pValue = initTemperatureValue,
.pLen = &initTemperatureLen,
.maxLen = sizeof(initTemperatureValue),
//.settings = ATTS_SET_READ_CBACK,
.pUuid = attTemperatureChUuid,
.pValue = initTemperatureValue,
.pLen = &initTemperatureLen,
.maxLen = sizeof(initTemperatureValue),
.settings = ATTS_SET_READ_CBACK,
.permissions = ATTS_PERMIT_READ | ATTS_PERMIT_READ_ENC |
ATTS_PERMIT_READ_AUTH,
},
......@@ -121,6 +121,7 @@ static const attsAttr_t ESSSvcAttrList[] = {
.pValue = initHumidityValue,
.pLen = &initHumidityLen,
.maxLen = sizeof(initHumidityValue),
.settings = ATTS_SET_READ_CBACK,
.permissions = ATTS_PERMIT_READ | ATTS_PERMIT_READ_ENC |
ATTS_PERMIT_READ_AUTH,
},
......@@ -149,6 +150,7 @@ static const attsAttr_t ESSSvcAttrList[] = {
.pValue = initPressureValue,
.pLen = &initPressureLen,
.maxLen = sizeof(initPressureValue),
.settings = ATTS_SET_READ_CBACK,
.permissions = ATTS_PERMIT_READ | ATTS_PERMIT_READ_ENC |
ATTS_PERMIT_READ_AUTH,
},
......@@ -171,12 +173,9 @@ WSF_CT_ASSERT(
((sizeof(ESSSvcAttrList) / sizeof(ESSSvcAttrList[0])) ==
ESS_END_HDL - ESS_START_HDL + 1));
#if 0
/*
* BLE ESS read callback.
*
* Disabled at the moment as no dynamic handling of read requests
* is needed and all fields are updated by bleESS_update()
*/
static uint8_t readESSCB(
dmConnId_t connId,
......@@ -185,25 +184,53 @@ static uint8_t readESSCB(
uint16_t offset,
attsAttr_t *pAttr
) {
uint16_t i16 = 0;
int16_t temperature;
uint16_t humidity;
uint32_t pressure;
struct bme680_sensor_data data;
int ret = epic_bme680_read_sensors(&data);
if (ret != 0) {
return ATT_ERR_UNDEFINED;
}
switch (handle) {
// Temperature
case ESS_TEMPERATURE_VAL_HDL:
//*((int16_t *)pAttr->pValue) = i16;
//APP_TRACE_INFO1("ble-ess: read temperature: %d\n", i16);
temperature = data.temperature * 100;
AttsSetAttr(
ESS_TEMPERATURE_VAL_HDL,
sizeof(temperature),
(uint8_t *)&temperature
);
APP_TRACE_INFO1("ble-ess: read temperature: %d\n", temperature);
return ATT_SUCCESS;
case ESS_HUMIDITY_VAL_HDL:
humidity = data.humidity * 100;
AttsSetAttr(
ESS_HUMIDITY_VAL_HDL,
sizeof(humidity),
(uint8_t *)&humidity
);
APP_TRACE_INFO1("ble-ess: read humidity: %u\n", humidity);
return ATT_SUCCESS;
case ESS_PRESSURE_VAL_HDL:
pressure = data.pressure * 1000;
AttsSetAttr(
ESS_PRESSURE_VAL_HDL,
sizeof(pressure),
(uint8_t *)&pressure
);
APP_TRACE_INFO1("ble-ess: read pressure: %u\n", pressure);
return ATT_SUCCESS;
default:
APP_TRACE_INFO0("ble-card10: read no handler found\n");
return ATT_ERR_HANDLE;
}
}
#endif
static attsGroup_t svcESSGroup = {
.pNext = NULL,
.pAttr = (attsAttr_t *)ESSSvcAttrList,
.readCback = NULL,
//.readCback = readESSCB,
.pNext = NULL,
.pAttr = (attsAttr_t *)ESSSvcAttrList,
.readCback = readESSCB,
.writeCback = NULL,
.startHandle = ESS_START_HDL,
.endHandle = ESS_END_HDL,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment