diff --git a/epicardium/ble/svc_dis.c b/epicardium/ble/svc_dis.c index 8ce2786486458369498b744207a61c8dfa8d0644..b855f2847424973f2569ce58f24c8ada8be81141 100644 --- a/epicardium/ble/svc_dis.c +++ b/epicardium/ble/svc_dis.c @@ -24,13 +24,17 @@ */ /* clang-format off */ /* clang-formet turned off for easier diffing against orginal file */ +#include "card10-version.h" #include "wsf_types.h" #include "att_api.h" #include "wsf_assert.h" #include "wsf_trace.h" #include "util/bstream.h" + +#define DIS_MAXSIZE_FWR_ATT 25 #include "svc_dis.h" #include "svc_cfg.h" +#include <string.h> /************************************************************************************************** Macros @@ -60,10 +64,10 @@ #define DIS_DEFAULT_SERIAL_NUM_LEN 1 /*! Default firmware revision */ -#define DIS_DEFAULT_FW_REV "<git hash>" +#define DIS_DEFAULT_FW_REV CARD10_VERSION /*! Length of default firmware revision */ -#define DIS_DEFAULT_FW_REV_LEN 10 +#define DIS_DEFAULT_FW_REV_LEN strlen(CARD10_VERSION) /*! Default hardware revision */ #define DIS_DEFAULT_HW_REV "1" @@ -128,7 +132,7 @@ static const uint16_t disLenFwrCh = sizeof(disValFwrCh); /* Firmware revision string */ static const uint8_t disUuFwr[] = {UINT16_TO_BYTES(ATT_UUID_FIRMWARE_REV)}; static uint8_t disValFwr[DIS_MAXSIZE_FWR_ATT] = DIS_DEFAULT_FW_REV; -static uint16_t disLenFwr = DIS_DEFAULT_FW_REV_LEN; +static uint16_t disLenFwr; /* Hardware revision string characteristic */ static const uint8_t disValHwrCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_HWR_HDL), UINT16_TO_BYTES(ATT_UUID_HARDWARE_REV)}; @@ -319,6 +323,7 @@ WSF_CT_ASSERT(((sizeof(disList) / sizeof(disList[0])) == DIS_END_HDL - DIS_START /*************************************************************************************************/ void SvcDisAddGroup(void) { + disLenFwr = DIS_DEFAULT_FW_REV_LEN; AttsAddGroup(&svcDisGroup); }