Logo
UNICENS V2.1.0-3491
User Manual and API Reference
typedef Ucs_Lld_RxMsg_t*(* Ucs_Lld_RxAllocateCb_t)(void *inst_ptr, uint16_t buffer_size)

Allocates an Rx message object.

Parameters
inst_ptrReference to an internal UNICENS handler
buffer_sizeThe size in bytes of the received Rx message. Valid values: 6..72.
Returns
The Rx message object or NULL if no message object is available. In the latter case the low-level driver can wait until Ucs_Lld_RxMsgAvailableCb_t() is invoked. The low-level driver is allowed to pre-allocate Rx messages with the maximum size of 72 bytes. After writing received data into Ucs_Lld_RxMsg_t::data_ptr the low-level driver must set Ucs_Lld_RxMsg_t::data_size to the actual message size.
Warning
The function will also return NULL if the requested buffer_size exceeds the valid range. In such a case the UNICENS cannot guarantee that Ucs_Lld_RxMsgAvailableCb_t() is called as expected. Received messages exceeding the valid range must be discarded by the LLD.