diff --git a/epicardium/ble/filetransfer.c b/epicardium/ble/filetransfer.c index 5c88fef7d4f57687426f2ccea07e9ebeb68727d8..01a74ada5bdc149353a780e20e6bf29bcf1d760f 100644 --- a/epicardium/ble/filetransfer.c +++ b/epicardium/ble/filetransfer.c @@ -96,8 +96,6 @@ static const uint16_t txChConfig_len = sizeof(txChConfig); static const uint8_t attTxChConfigUuid[] = { FILE_TRANS_UUID_SUFFIX, 0x01, FILE_TRANS_UUID_PREFIX }; -static uint8_t attTxChConfigValue[128]; -static uint16_t attTxChConfigValue_len = sizeof(attTxChConfigUuid); /* BLE File transfer Central RX configuration */ static const uint8_t rxChConfig[] = { ATT_PROP_READ | ATT_PROP_NOTIFY, @@ -113,7 +111,7 @@ static const uint8_t attRxChConfigUuid[] = { FILE_TRANS_UUID_SUFFIX, 0x02, FILE_TRANS_UUID_PREFIX }; static uint8_t attRxChConfigValue[64]; -static uint16_t attRxChConfigValue_len = sizeof(attRxChConfigUuid); +static uint16_t attRxChConfigValue_len = 0; /* File descriptor of the currently transferred file */ static int file_fd = -1; @@ -140,11 +138,10 @@ static const attsAttr_t fileTransCfgList[] = { }, /* File transfer Central TX, this contains information about the real data */ { - .pUuid = attTxChConfigUuid, - .pValue = attTxChConfigValue, - .pLen = &attTxChConfigValue_len, - /* use last biyte for null termination */ - .maxLen = sizeof(attTxChConfigValue) - 1, + .pUuid = attTxChConfigUuid, + .pValue = NULL, + .pLen = NULL, + .maxLen = 128, .settings = ATTS_SET_WRITE_CBACK | ATTS_SET_VARIABLE_LEN, .permissions = ATTS_PERMIT_WRITE, }, @@ -163,7 +160,7 @@ static const attsAttr_t fileTransCfgList[] = { .pValue = attRxChConfigValue, .pLen = &attRxChConfigValue_len, .maxLen = sizeof(attRxChConfigValue), - .settings = ATTS_SET_READ_CBACK, + .settings = ATTS_SET_VARIABLE_LEN, .permissions = ATTS_PERMIT_READ, }, /* File transfer Central RX notification channel */