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

feat(ess): Use BME680 interface

parent 530b48d1
No related branches found
No related tags found
No related merge requests found
...@@ -88,11 +88,11 @@ static const attsAttr_t ESSSvcAttrList[] = { ...@@ -88,11 +88,11 @@ static const attsAttr_t ESSSvcAttrList[] = {
.permissions = ATTS_PERMIT_READ, .permissions = ATTS_PERMIT_READ,
}, },
{ {
.pUuid = attTemperatureChUuid, .pUuid = attTemperatureChUuid,
.pValue = initTemperatureValue, .pValue = initTemperatureValue,
.pLen = &initTemperatureLen, .pLen = &initTemperatureLen,
.maxLen = sizeof(initTemperatureValue), .maxLen = sizeof(initTemperatureValue),
//.settings = ATTS_SET_READ_CBACK, .settings = ATTS_SET_READ_CBACK,
.permissions = ATTS_PERMIT_READ | ATTS_PERMIT_READ_ENC | .permissions = ATTS_PERMIT_READ | ATTS_PERMIT_READ_ENC |
ATTS_PERMIT_READ_AUTH, ATTS_PERMIT_READ_AUTH,
}, },
...@@ -121,6 +121,7 @@ static const attsAttr_t ESSSvcAttrList[] = { ...@@ -121,6 +121,7 @@ static const attsAttr_t ESSSvcAttrList[] = {
.pValue = initHumidityValue, .pValue = initHumidityValue,
.pLen = &initHumidityLen, .pLen = &initHumidityLen,
.maxLen = sizeof(initHumidityValue), .maxLen = sizeof(initHumidityValue),
.settings = ATTS_SET_READ_CBACK,
.permissions = ATTS_PERMIT_READ | ATTS_PERMIT_READ_ENC | .permissions = ATTS_PERMIT_READ | ATTS_PERMIT_READ_ENC |
ATTS_PERMIT_READ_AUTH, ATTS_PERMIT_READ_AUTH,
}, },
...@@ -149,6 +150,7 @@ static const attsAttr_t ESSSvcAttrList[] = { ...@@ -149,6 +150,7 @@ static const attsAttr_t ESSSvcAttrList[] = {
.pValue = initPressureValue, .pValue = initPressureValue,
.pLen = &initPressureLen, .pLen = &initPressureLen,
.maxLen = sizeof(initPressureValue), .maxLen = sizeof(initPressureValue),
.settings = ATTS_SET_READ_CBACK,
.permissions = ATTS_PERMIT_READ | ATTS_PERMIT_READ_ENC | .permissions = ATTS_PERMIT_READ | ATTS_PERMIT_READ_ENC |
ATTS_PERMIT_READ_AUTH, ATTS_PERMIT_READ_AUTH,
}, },
...@@ -171,12 +173,9 @@ WSF_CT_ASSERT( ...@@ -171,12 +173,9 @@ WSF_CT_ASSERT(
((sizeof(ESSSvcAttrList) / sizeof(ESSSvcAttrList[0])) == ((sizeof(ESSSvcAttrList) / sizeof(ESSSvcAttrList[0])) ==
ESS_END_HDL - ESS_START_HDL + 1)); ESS_END_HDL - ESS_START_HDL + 1));
#if 0
/* /*
* BLE ESS read callback. * 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( static uint8_t readESSCB(
dmConnId_t connId, dmConnId_t connId,
...@@ -185,25 +184,53 @@ static uint8_t readESSCB( ...@@ -185,25 +184,53 @@ static uint8_t readESSCB(
uint16_t offset, uint16_t offset,
attsAttr_t *pAttr 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) { switch (handle) {
// Temperature
case ESS_TEMPERATURE_VAL_HDL: case ESS_TEMPERATURE_VAL_HDL:
//*((int16_t *)pAttr->pValue) = i16; temperature = data.temperature * 100;
//APP_TRACE_INFO1("ble-ess: read temperature: %d\n", i16); 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; return ATT_SUCCESS;
default: default:
APP_TRACE_INFO0("ble-card10: read no handler found\n"); APP_TRACE_INFO0("ble-card10: read no handler found\n");
return ATT_ERR_HANDLE; return ATT_ERR_HANDLE;
} }
} }
#endif
static attsGroup_t svcESSGroup = { static attsGroup_t svcESSGroup = {
.pNext = NULL, .pNext = NULL,
.pAttr = (attsAttr_t *)ESSSvcAttrList, .pAttr = (attsAttr_t *)ESSSvcAttrList,
.readCback = NULL, .readCback = readESSCB,
//.readCback = readESSCB,
.writeCback = NULL, .writeCback = NULL,
.startHandle = ESS_START_HDL, .startHandle = ESS_START_HDL,
.endHandle = ESS_END_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