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 @@ ...@@ -22,7 +22,8 @@
/*************************************************************************************************/ /*************************************************************************************************/
void BleStart(void); void BleStart(void);
/* ATT client module interface. Used by main BLE module */ /* ATT client module interface. Used by main BLE module */
void bleValueUpdate(attEvt_t *pMsg); void bleValueUpdate(attEvt_t *pMsg);
void bleDiscCback(dmConnId_t connId, uint8_t status); void bleDiscCback(dmConnId_t connId, uint8_t status);
void bleESS_update();
...@@ -70,7 +70,7 @@ static const attsAttr_t ESSSvcAttrList[] = { ...@@ -70,7 +70,7 @@ static const attsAttr_t ESSSvcAttrList[] = {
.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,
}, },
...@@ -80,10 +80,14 @@ static const attsAttr_t ESSSvcAttrList[] = { ...@@ -80,10 +80,14 @@ static const attsAttr_t ESSSvcAttrList[] = {
WSF_CT_ASSERT( 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,
uint16_t handle, uint16_t handle,
...@@ -95,29 +99,35 @@ static uint8_t readESSCB( ...@@ -95,29 +99,35 @@ static uint8_t readESSCB(
switch (handle) { switch (handle) {
// Temperature // Temperature
case ESS_TEMPERATURE_VAL_HDL: case ESS_TEMPERATURE_VAL_HDL:
//pAttr->pValue[0] = i16 & 0xFF; //pAttr->pValue[1] = i16 >> 8; //*((int16_t *)pAttr->pValue) = i16;
*((int16_t *)pAttr->pValue) = i16; //APP_TRACE_INFO1("ble-ess: read temperature: %d\n", i16);
APP_TRACE_INFO1("ble-ess: read temperature: %d\n", i16);
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 = readESSCB, .readCback = NULL,
//.readCback = readESSCB,
.writeCback = NULL, .writeCback = NULL,
.startHandle = ESS_START_HDL, .startHandle = ESS_START_HDL,
.endHandle = ESS_END_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) void bleESS_init(void)
{ {
AttsAddGroup(&svcESSGroup); 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