Is sd_ble_uuid_vs_add available over the serialzation interface? How can we add a custom vendor ID over the interface if there isn't a serialzation function for it here?
Is sd_ble_uuid_vs_add available over the serialzation interface? How can we add a custom vendor ID over the interface if there isn't a serialzation function for it here?
I went ahead and added the functionality to sdk/Nordic/nrf51822/Source/ble/rpc/ble_rpc_cmd_decoder.c:
static uint32_t uuid_vs_add_handle(uint8_t * p_command, uint32_t command_len)
{
uint32_t err_code;
uint8_t uuid_type;
uint32_t index = 0;
ble_uuid128_t* p_uuid_data = (ble_uuid128_t*)&(p_command[index]);
RPC_DECODER_LENGTH_CHECK(command_len, index, SD_BLE_UUID_VS_ADD);
err_code = sd_ble_uuid_vs_add(p_uuid_data, &uuid_type);
return ble_rpc_cmd_resp_send(SD_BLE_UUID_VS_ADD, err_code);
}
static uint32_t ble_base_cmd_decode(uint8_t * p_command, uint8_t op_code, uint32_t command_len)
{
....
case SD_BLE_UUID_VS_ADD:
err_code = uuid_vs_add_handle(p_command, command_len);
break;
....
}
Then call it with the SD_BLE_UUID_VS_ADD opcode followed by the 128-bit vendor base UUID.
This seems to work fine. Anyone see an issue with this?
P.S. Might be worth adding the corresponding encoder to ble_rpc_cmd_encoder.c as well.