nRF51 SDK - S120 SoftDevice
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
BLE S120 Functions

0x34 - sd_power_system_off

Function packet format.

Frame format encoding of the sd_power_system_off packet.

The parameters are encoded in the following order:

Length Parameter Value
1 byte Operation Code 0x34


system_power_off.png
Figure 1: Packet format for sd_system_power_off function.


Response packet format

There is no response for this command.

0x52 - sd_temp_get

Function packet format.

Frame format encoding of the sd_temp_get packet.

The parameters are encoded in the following order:

Length Parameter Value
1 byte Operation Code 0x52
1 byte Temperature Present 0x00 - not present, 0x01 - present


temp_get.png
Figure 1: Packet format for sd_temp_get function.


Response packet format

Frame format encoding of the sd_temp_get response packet:

Length Parameter Value
1 byte Operation Code 0x52
4 bytes nRF Error Code See sd_temp_get
4 bytes Measured Temperature Value See sd_temp_get


temp_get_response.png
Figure 2: Packet format for sd_temp_get response.


0x60 - sd_ble_enable

Function packet format

Frame format encoding of the sd_ble_enable packet.

The parameters are encoded in the following order:

Length Parameter Value
1 byte Operation Code 0x60, see BLE_COMMON_SVCS
1 byte Enable Params Present 0x00 - not present, 0x01 - present
2 bytes Conditional: Enable Params See ble_enable_params_t


ble_enable_packet_s120.png
Figure 1: Packet format for sd_ble_enable function.


Response packet format

Frame format encoding of the sd_ble_enable response packet:

Length Parameter Value
1 byte Operation Code 0x60, see BLE_COMMON_SVCS
4 bytes nRF Error Code See sd_ble_enable


default_response_packet_generic.png
Figure 2: Packet format for sd_ble_enabale response.


0x62 - sd_ble_tx_buffer_count_get

Function packet format

Frame format encoding of the sd_ble_tx_buffer_count_get packet.

The parameters are encoded in the following order:

Length Parameter Value
1 byte Operation Code 0x62, see BLE_COMMON_SVCS
1 byte Tx Buffer Count Present 0x00 - not present, 0x01 - present


tx_buffer_count_get_packet.png
Figure 1: Packet format for sd_ble_tx_buffer_count_get function.


Response packet format

If a command was executed successfully, so that 'nRF Error Code' = NRF_SUCCESS, the nRF Error Code is followed by conditional data.

Frame format encoding of the sd_ble_tx_buffer_count_get response packet:

Length Parameter Value
1 byte Operation Code 0x62, see BLE_COMMON_SVCS
4 bytes nRF Error Code See sd_ble_tx_buffer_count_get
1 byte Conditional: Tx Buffer Count Present 0x00 - not present, 0x01 - present
1 byte Conditional: Tx Buffer Count See sd_ble_tx_buffer_count_get


tx_buffer_count_get_response.png
Figure 2: Packet format for sd_ble_tx_buffer_count_get function response.


0x63 - sd_ble_uuid_vs_add

Function packet format

Frame format encoding of the sd_ble_uuid_vs_add packet.

The parameters are encoded in the following order:

Length Parameter Value
1 byte Operation Code 0x63, see BLE_COMMON_SVCS
1 byte UUID Present 0x00 - not present, 0x01 - present
16 bytes Conditional: Vendor Specific UUID See ble_uuid128_t
1 byte UUID type Present 0x00 - not present, 0x01 - present


uuid_vs_add_packet.png
Figure 1: Packet format for sd_ble_uuid_vs_add function.


Response packet format

If a command was executed successfully, so that 'nRF Error Code' = NRF_SUCCESS, the nRF Error Code is followed by conditional data.

Frame format encoding of the sd_ble_uuid_vs_add response packet:

Length Parameter Value
1 byte Operation Code 0x63, see BLE_COMMON_SVCS
4 bytes nRF Error Code See sd_ble_uuid_vs_add
1 byte UUID Type Present 0x00 - not present, 0x01 - present
1 byte Conditional: UUID Type Index to Vendor Specific UUID


uuid_vs_add_response.png
Figure 2: Packet format for sd_ble_uuid_vs_add response.


0x64 - sd_ble_uuid_decode

Function packet format

Frame format encoding of the sd_ble_uuid_decode packet.

The parameters are encoded in the following order:

Length Parameter Value
1 byte Operation Code 0x64, see BLE_COMMON_SVCS
1 byte Length of Raw UUID Shall be 2 or 16 bytes
1 byte Raw UUID Present 0x00 - not present, 0x01 - present
2 or 16 bytes Raw UUID Raw UUID to be decoded
1 byte UUID Result Struct Present 0x00 - not present, 0x01 - present


uuid_decode_packet.png
Figure 1: Packet format for sd_ble_uuid_decode request function.


Response packet format

If a command was executed successfully, so that 'nRF Error Code' = NRF_SUCCESS, the nRF Error Code is followed by conditional data.

Frame format encoding of the sd_ble_uuid_decode response packet:

Length Parameter Value
1 byte Operation Code 0x64, see BLE_COMMON_SVCS
4 bytes nRF Error Code See sd_ble_uuid_decode
1 byte Conditional: ble_uuid_t Present0x00 - not present, 0x01 - present
3 bytes Conditional: Encoded UUID Raw UUID decoded to ble_uuid_t


ble_uuid_t is encoded in the following order:

Length Parameter Value
2 bytes UUID UUID Value
1 byte Type UUID Type


uuid_decode_response.png
Figure 2: Packet format for sd_ble_uuid_decode response.


0x65 - sd_ble_uuid_encode

Function packet format

Frame format encoding of the sd_ble_uuid_encode packet.

The parameters are encoded in the following order:

Length Parameter Value
1 byte Operation Code 0x65, see BLE_COMMON_SVCS
1 byte UUID Present 0x00 - not present, 0x01 - present
3 bytes Conditional: UUID See ble_uuid_t
1 byte Length Present 0x00 - not present, 0x01 - present
1 byte UUID Result Buffer Present 0x00 - not present, 0x01 - present


As can also be seen inside Figure 1, the 3 bytes inside ble_uuid_t are encoded as:

Length Parameter Value
2 bytes UUID UUID Value
1 byte Type UUID Type


uuid_encode_packet.png
Figure 1: Packet format for sd_ble_uuid_encode function.


Response packet format

If a command was executed successfully, so that 'nRF Error Code' = NRF_SUCCESS, the nRF Error Code is followed by conditional data.

Frame format encoding of the sd_ble_uuid_encode response packet:

Length Parameter Value
1 byte Operation Code 0x65, see BLE_COMMON_SVCS
4 bytes nRF Error Code See sd_ble_uuid_encode
1 byte Conditional: Length of encoded UUID 2 or 16
2 or 16 bytes Conditional: Encoded UUID UUID value


uuid_encode_response.png
Figure 2: Packet format for sd_ble_uuid_encode response.


0x66 - sd_ble_version_get

Function packet format

Frame format encoding of the sd_ble_version_get packet.

The parameters are encoded in the following order:

Length Parameter Value
1 byte Operation Code 0x66, see BLE_COMMON_SVCS
1 byte Version Present 0x00 - not present, 0x01 - present


version_get_packet.png
Figure 1: Packet format for sd_ble_version_get function.


Response packet format

If a command was executed successfully, so that 'nRF Error Code' = NRF_SUCCESS, the nRF Error Code is followed by conditional data.

Frame format encoding of the sd_ble_version_get response packet:

Length Parameter Value
1 byte Operation Code 0x66, see BLE_COMMON_SVCS
4 bytes nRF Error Code See sd_ble_version_get
1 byte Conditional: Version Number See ble_version_t::version_number
2 bytes Conditional: Company ID See ble_version_t::company_id
2 bytes Conditional: Subversion Number See ble_version_t::subversion_number


version_get_response.png
Figure 2: Packet format for sd_ble_version_get response.


0x67 - sd_ble_user_mem_reply

Function packet format

Frame format encoding of the sd_ble_user_mem_reply packet.

The parameters are encoded in the following order:

Length Parameter Value
1 byte Operation Code 0x67, see BLE_COMMON_SVCS
2 bytes Connection Handle Handle value
1 byte Memory Block Structure Present 0x00 - not present, 0x01 - present
2 bytes Conditional: Length Length of memory block, see ble_user_mem_block_t::len
1 byte Conditional: Memory Block Present 0x00 - not present, 0x01 - present


user_mem_reply_packet.png
Figure 1: Packet format for sd_ble_user_mem_reply function.


Note
When sd_ble_user_mem_reply is called, a user memory context is created using app_ble_user_mem_context_create and conn_ble_user_mem_context_create. This context corresponds to a single connection indicated by the connection handle. The context is used to synchronize the user memory block between Connectivity and Application processor. It is released using app_ble_user_mem_context_destroy and conn_ble_user_mem_context_destroy when BLE_EVT_USER_MEM_RELEASE is received.

Response packet format

If a command was executed successfully, so that 'nRF Error Code' = NRF_SUCCESS, the nRF Error Code is followed by conditional data.

Frame format encoding of the sd_ble_user_mem_reply response packet:

Length Parameter Value
1 byte Operation Code 0x67, see BLE_COMMON_SVCS
4 bytes nRF Error Code See sd_ble_user_mem_reply


default_response_packet_generic.png
Figure 2: Packet format for sd_ble_user_mem_reply response.


0x68 - sd_ble_opt_set

Function packet format

Frame format encoding of the sd_ble_opt_set packet.

The parameters are encoded in the following order:

Length Parameter Value
1 byte Operation Code 0x68, see BLE_COMMON_SVCS
4 bytes Option ID See sd_ble_opt_set
1 byte Option present 0x00 - not present, 0x01 - present
1 ... 19 bytes Conditional: Option See ble_opt_t


opt_set_request_packet.png
Figure 1: Packet format for sd_ble_opt_set function.


Encoding of BLE Option

The Option field (if present) is encoded depending on the Option ID field.

If 'Option ID' equals BLE_GAP_OPT_CH_MAP, Option is encoded as follows:

Length Parameter Value
2 bytes Connection Handle See ble_gap_opt_ch_map_t::conn_handle
5 bytes Channel Map See ble_gap_opt_ch_map_t::ch_map[5]


opt_set_channel_map_encoding.png
Figure 2: Encoding of Option when Option ID equals BLE_GAP_OPT_CH_MAP.


If 'Option ID' equals BLE_GAP_OPT_LOCAL_CONN_LATENCY, Option is encoded as follows:

Length Parameter Value
2 bytes Connection Handle See ble_gap_opt_local_conn_latency_t
2 bytes Requested Latency See ble_gap_opt_local_conn_latency_t
1 byte Actual Latency present 0x00 - not present, 0x01 - present
2 bytes Conditional: Actual Latency See ble_gap_opt_local_conn_latency_t


opt_set_local_conn_latency_encoding.png
Figure 2: Encoding of Option when Option ID equals BLE_GAP_OPT_LOCAL_CONN_LATENCY.


If 'Option ID' = BLE_GAP_OPT_PASSKEY, Option is encoded as follows:

Length Parameter Value
6 bytes Passkey See ble_gap_opt_passkey_t


opt_set_passkey_encoding.png
Figure 3: Encoding of Option when Option ID equals BLE_GAP_OPT_PASSKEY.


If 'Option ID' = BLE_GAP_OPT_PRIVACY, Option is encoded as follows:

Length Parameter Value
1 byte IRK present 0x00 - not present, 0x01 - present
16 bytes Conditional: IRK See ble_gap_opt_privacy_t
2 bytes Interval See ble_gap_opt_privacy_t


opt_set_privacy_encoding.png
Figure 4: Encoding of Option when Option ID equals BLE_GAP_OPT_PRIVACY.


If 'Option ID' = BLE_GAP_OPT_SCAN_REQ_REPORT, Option is encoded as follows:

Length Parameter Value
1 byte Scan request report (bitfield):
- enable: 1 bit
See ble_gap_opt_scan_req_report_t


If 'GAP Option ID' = BLE_GAP_OPT_COMPAT_MODE, Option is encoded as follows:

Length Parameter Value
1 byte Compatibility mode (bitfield):
- mode_1_enable: 1 bit
See ble_gap_opt_compat_mode_t


If 'Option ID' = BLE_COMMON_OPT_RADIO_CPU_MUTEX, Option is encoded as follows:

Length Parameter Value
1 byte Radio CPU mutex (bitfield):
- enable: 1 bit
See ble_common_opt_radio_cpu_mutex_t


opt_set_bitfield_encoding.png
Figure 5: Encoding of Option when Option ID equals BLE_GAP_OPT_SCAN_REQ_REPORT or BLE_GAP_OPT_COMPAT_MODE or BLE_COMMON_OPT_RADIO_CPU_MUTEX.


Response packet format

Frame encoding of the sd_ble_opt_set response packet:

Length Parameter Value
1 byte Operation Code 0x68, see BLE_COMMON_SVCS
4 bytes nRF Error Code See sd_ble_opt_set


default_response_packet_generic.png
Figure 6: Packet format for sd_ble_opt_set response.


0x69 - sd_ble_opt_get

Function packet format

Frame format encoding of the sd_ble_opt_get packet.

The parameters are encoded in the following order:

Length Parameter Value
1 byte Operation Code 0x69, see BLE_COMMON_SVCS
4 bytes Option ID See sd_ble_opt_get
1 byte Option present 0x00 - not present, 0x01 - present


opt_get_request_packet.png
Figure 1: Packet format for sd_ble_opt_get function.


Response packet format

If a command was executed successfully, so that 'nRF Error Code' = NRF_SUCCESS, the nRF Error Code is followed by conditional data.

Frame encoding of the sd_ble_opt_get response packet:

Length Parameter Value
1 byte Operation Code 0x69, see BLE_COMMON_SVCS
4 bytes nRF Error Code See sd_ble_opt_get
4 bytes Conditional: Option ID See sd_ble_opt_get
1 ... 19 bytes Conditional: Option See ble_opt_t


opt_get_response_packet_s120.png
Figure 2: Packet format for sd_ble_opt_get response.


Encoding of the conditional field "Option" is done in the same way as in the sd_ble_opt_set request packet, which is described in detail in section Encoding of BLE Option.