uint32_t ble_gatts_cfg_attr_tab_size_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_cfg_attr_tab_size_t); SER_PUSH_uint32(&p_struct->attr_tab_size); SER_STRUCT_ENC_END; }
uint32_t ble_gatts_enable_params_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_enable_params_t); uint8_t ser_data = p_struct->service_changed & 0x01; SER_PUSH_uint8(&ser_data); SER_PUSH_uint32(&p_struct->attr_tab_size); SER_STRUCT_ENC_END; }
uint32_t ble_opt_get_rsp_enc(uint32_t return_code, uint8_t * const p_buf, uint32_t * const p_buf_len, uint32_t opt_id, ble_opt_t const * const p_opt) { SER_RSP_ENC_BEGIN(SD_BLE_OPT_GET); SER_ASSERT_NOT_NULL(p_opt); SER_ASSERT(((opt_id == BLE_COMMON_OPT_CONN_BW) || (opt_id == BLE_COMMON_OPT_PA_LNA) || (opt_id == BLE_COMMON_OPT_CONN_EVT_EXT) || (opt_id == BLE_GAP_OPT_CH_MAP) || (opt_id == BLE_GAP_OPT_LOCAL_CONN_LATENCY) || (opt_id == BLE_GAP_OPT_PASSKEY) || (opt_id == BLE_GAP_OPT_SCAN_REQ_REPORT) || (opt_id == BLE_GAP_OPT_COMPAT_MODE) || (opt_id == BLE_GAP_OPT_AUTH_PAYLOAD_TIMEOUT) || (opt_id == BLE_GAP_OPT_EXT_LEN)), NRF_ERROR_INVALID_PARAM); SER_PUSH_uint32(&opt_id); field_encoder_handler_t fp_encoder = NULL; void const * p_struct = NULL; switch (opt_id) { case BLE_COMMON_OPT_CONN_BW: fp_encoder = ble_common_opt_conn_bw_t_enc; p_struct = &p_opt->common_opt.conn_bw; break; case BLE_COMMON_OPT_PA_LNA: fp_encoder = ble_common_opt_pa_lna_t_enc; p_struct = &p_opt->common_opt.pa_lna; break; case BLE_COMMON_OPT_CONN_EVT_EXT: fp_encoder = ble_common_opt_conn_evt_ext_t_enc; p_struct = &p_opt->common_opt.conn_evt_ext; break; case BLE_GAP_OPT_CH_MAP: fp_encoder = ble_gap_opt_ch_map_t_enc; p_struct = &p_opt->gap_opt.ch_map; break; case BLE_GAP_OPT_LOCAL_CONN_LATENCY: fp_encoder = ble_gap_opt_local_conn_latency_t_enc; p_struct = &p_opt->gap_opt.local_conn_latency; break; case BLE_GAP_OPT_PASSKEY: fp_encoder = ble_gap_opt_passkey_t_enc; p_struct = &p_opt->gap_opt.passkey; break; case BLE_GAP_OPT_AUTH_PAYLOAD_TIMEOUT: fp_encoder = ble_gap_opt_auth_payload_timeout_t_enc; p_struct = &p_opt->gap_opt.auth_payload_timeout; break; case BLE_GAP_OPT_EXT_LEN: fp_encoder = ble_gap_opt_ext_len_t_enc; p_struct = &p_opt->gap_opt.ext_len; break; case BLE_GAP_OPT_SCAN_REQ_REPORT: fp_encoder = ble_gap_opt_scan_req_report_t_enc; p_struct = &p_opt->gap_opt.scan_req_report; break; case BLE_GAP_OPT_COMPAT_MODE: fp_encoder = ble_gap_opt_compat_mode_t_enc; p_struct = &p_opt->gap_opt.compat_mode; break; default: SER_ASSERT(NRF_ERROR_INVALID_PARAM, NRF_ERROR_INVALID_PARAM); break; } SER_PUSH_FIELD(p_struct, fp_encoder); SER_RSP_ENC_END; }