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

fix(ess): Show how to update a characteristic without a callback

parent f88d12f6
No related branches found
No related tags found
1 merge request!428Environmental Sensing Service
......@@ -22,7 +22,8 @@
/*************************************************************************************************/
void BleStart(void);
/* ATT client module interface. Used by main BLE module */
void bleValueUpdate(attEvt_t *pMsg);
void bleDiscCback(dmConnId_t connId, uint8_t status);
void bleESS_update();
......@@ -70,7 +70,7 @@ static const attsAttr_t ESSSvcAttrList[] = {
.pValue = initTemperatureValue,
.pLen = &initTemperatureLen,
.maxLen = sizeof(initTemperatureValue),
.settings = ATTS_SET_READ_CBACK,
//.settings = ATTS_SET_READ_CBACK,
.permissions = ATTS_PERMIT_READ | ATTS_PERMIT_READ_ENC |
ATTS_PERMIT_READ_AUTH,
},
......@@ -80,10 +80,14 @@ static const attsAttr_t ESSSvcAttrList[] = {
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,
uint16_t handle,
......@@ -95,29 +99,35 @@ static uint8_t readESSCB(
switch (handle) {
// Temperature
case ESS_TEMPERATURE_VAL_HDL:
//pAttr->pValue[0] = i16 & 0xFF; //pAttr->pValue[1] = i16 >> 8;
*((int16_t *)pAttr->pValue) = i16;
APP_TRACE_INFO1("ble-ess: read temperature: %d\n", i16);
//*((int16_t *)pAttr->pValue) = i16;
//APP_TRACE_INFO1("ble-ess: read temperature: %d\n", i16);
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 = readESSCB,
.readCback = NULL,
//.readCback = readESSCB,
.writeCback = NULL,
.startHandle = ESS_START_HDL,
.endHandle = ESS_END_HDL,
};
void bleESS_update(void)
{
uint16_t i16 = 0;
AttsSetAttr(ESS_TEMPERATURE_VAL_HDL, sizeof(i16), (uint8_t *)&i16);
}
/*
* This registers and starts the BLE card10 service.
* This registers and starts the ESS service.
*/
void bleESS_init(void)
{
AttsAddGroup(&svcESSGroup);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment