Microbit as a BLE gamepad

Dependents:   nRF51822

Fork of nrf51-sdk by Lancaster University

Embed: (wiki syntax)

« Back to documentation index

Functions

Functions

 SVCALL (SD_BLE_L2CAP_CID_REGISTER, uint32_t, sd_ble_l2cap_cid_register(uint16_t cid))
 Register a CID with L2CAP.
 SVCALL (SD_BLE_L2CAP_CID_UNREGISTER, uint32_t, sd_ble_l2cap_cid_unregister(uint16_t cid))
 Unregister a CID with L2CAP.
 SVCALL (SD_BLE_L2CAP_TX, uint32_t, sd_ble_l2cap_tx(uint16_t conn_handle, ble_l2cap_header_t const *p_header, uint8_t const *p_data))
 Transmit an L2CAP packet.

Function Documentation

SVCALL ( SD_BLE_L2CAP_CID_REGISTER  ,
uint32_t  ,
sd_ble_l2cap_cid_register(uint16_t cid)   
)

Register a CID with L2CAP.

This registers a higher protocol layer with the L2CAP multiplexer, and is requried prior to all operations on the CID.

Parameters:
[in]cidL2CAP CID.
Return values:
NRF_SUCCESSSuccessfully registered a CID with the L2CAP layer.
NRF_ERROR_INVALID_PARAMInvalid parameter(s) supplied, CID must be above BLE_L2CAP_CID_DYN_BASE.
BLE_ERROR_L2CAP_CID_IN_USEL2CAP CID already in use.
NRF_ERROR_NO_MEMNot enough memory to complete operation.
SVCALL ( SD_BLE_L2CAP_TX  ,
uint32_t  ,
sd_ble_l2cap_tx(uint16_t conn_handle, ble_l2cap_header_t const *p_header, uint8_t const *p_data)   
)

Transmit an L2CAP packet.

Note:
It is important to note that a call to this function will consume an application buffer, and will therefore generate a BLE_EVT_TX_COMPLETE event when the packet has been transmitted. Please see the documentation of sd_ble_tx_buffer_count_get for more details.
Parameters:
[in]conn_handleConnection Handle.
[in]p_headerPointer to a packet header containing length and CID.
[in]p_dataPointer to the data to be transmitted.
Return values:
NRF_SUCCESSSuccessfully queued an L2CAP packet for transmission.
NRF_ERROR_INVALID_ADDRInvalid pointer supplied.
NRF_ERROR_INVALID_PARAMInvalid parameter(s) supplied, CIDs must be registered beforehand with sd_ble_l2cap_cid_register.
NRF_ERROR_NOT_FOUNDCID not found.
NRF_ERROR_NO_MEMNot enough memory to complete operation.
BLE_ERROR_NO_TX_BUFFERSNot enough application buffers available.
NRF_ERROR_DATA_SIZEInvalid data size(s) supplied, see BLE_L2CAP_MTU_DEF.
SVCALL ( SD_BLE_L2CAP_CID_UNREGISTER  ,
uint32_t  ,
sd_ble_l2cap_cid_unregister(uint16_t cid)   
)

Unregister a CID with L2CAP.

This unregisters a previously registerd higher protocol layer with the L2CAP multiplexer.

Parameters:
[in]cidL2CAP CID.
Return values:
NRF_SUCCESSSuccessfully unregistered the CID.
NRF_ERROR_INVALID_PARAMInvalid parameter(s) supplied.
NRF_ERROR_NOT_FOUNDCID not previously registered.