uint32_t ble_gap_evt_passkey_display_enc(ble_evt_t const * const p_event, uint32_t event_len, uint8_t * const p_buf, uint32_t * const p_buf_len) { SER_EVT_ENC_BEGIN(BLE_GAP_EVT_PASSKEY_DISPLAY); uint8_t ser_data = p_event->evt.gap_evt.params.passkey_display.match_request & 0x01; SER_PUSH_uint16(&p_event->evt.gap_evt.conn_handle); SER_PUSH_uint8array(p_event->evt.gap_evt.params.passkey_display.passkey, BLE_GAP_PASSKEY_LEN); SER_PUSH_uint8(&ser_data); SER_EVT_ENC_END; }
uint32_t ble_uuid_encode_rsp_enc(uint32_t return_code, uint8_t * const p_buf, uint32_t * const p_buf_len, uint8_t uuid_le_len, uint8_t const * const p_uuid_le) { SER_RSP_ENC_BEGIN(SD_BLE_UUID_ENCODE); SER_PUSH_uint8(&uuid_le_len); if (p_uuid_le != NULL) { SER_PUSH_uint8array(p_uuid_le, uuid_le_len); } SER_RSP_ENC_END; }
uint32_t ble_gatts_evt_write_t_enc(void const * const p_void_struct, uint8_t * const p_buf, uint32_t buf_len, uint32_t * const p_index) { SER_STRUCT_ENC_BEGIN(ble_gatts_evt_write_t); SER_PUSH_uint16(&p_struct->handle); SER_PUSH_FIELD(&p_struct->uuid, ble_uuid_t_enc); SER_PUSH_uint8(&p_struct->op); SER_PUSH_uint8(&p_struct->auth_required); SER_PUSH_uint16(&p_struct->offset); SER_PUSH_uint16(&p_struct->len); SER_PUSH_uint8array(p_struct->data, p_struct->len); SER_STRUCT_ENC_END; }