Serialization HAL Transport

nRF5 SDK v12.2.0

This information applies to the following SoftDevice: S132

This section contains declarations of functions and typedefs used as API of the HAL Transport layer for serialization. This layer is fully hardware independent. Currently, the HAL Transport layer is responsible for controlling the PHY layer and memory management. In the future, it is possible to add more features to it, such as crc or retransmission.



Page-1 Start/End-point Start Start Process.245 HAL_TRANSP_RX_STATE_CLOSED HAL_TRANSP_RX_STATE_CLOSED Flowline1 Process.230 HAL_TRANSP_RX_STATE_IDLE HAL_TRANSP_RX_STATE_IDLE Process.232 HAL_TRANSP_RX_STATE_RECEIVING HAL_TRANSP_RX_STATE_RECEIVING Process.233 HAL_TRANSP_RX_STATE_RECEIVED HAL_TRANSP_RX_STATE_RECEIVED Flowline1.234 ser_hal_transport_open(transport_events_handler) / ser_phy_op... ser_hal_transport_open(transport_events_handler) / ser_phy_open(phy_events_handler) Flowline1.236 SER_PHY_EVT_RX_BUF_REQUEST / transport_events_handler( SER_HA... SER_PHY_EVT_RX_BUF_REQUEST / transport_events_handler( SER_HAL_TRANSP_EVT_RX_PKT_RECEIVING) Flowline2 ser_hal_transport_close() / ser_phy_close() Straight Edge.28 N Straight Edge.29 N ser_hal_transport_close() / ser_phy_close() Sheet.261 from any state from any state Annotation/Comment Sheet.264 Sheet.265 Sheet.266 Sheet.267 Sheet.268 Sheet.269 Sheet.270 Sheet.271 Sheet.272 Sheet.273 Sheet.274 Sheet.275 Sheet.276 Sheet.277 Legend: trigger from PHY layer / actions trigger from layer a... Legend: trigger from PHY layer / actions trigger from layer above transport / actions [guard] / actions Decision.254 Decision.280 Process.281 HAL_TRANSP_RX_STATE_RECEIVED_PENDING_BUF_REQ HAL_TRANSP_RX_STATE_RECEIVED_PENDING_BUF_REQ Process.282 HAL_TRANSP_RX_STATE_DROPPING HAL_TRANSP_RX_STATE_DROPPING Process.283 HAL_TRANSP_RX_STATE_RECEIVED_DROPPING HAL_TRANSP_RX_STATE_RECEIVED_DROPPING Flowline2.295 [rx_buf_request.num_of_bytes > sizeof (m_rx_buffer)] / ser_ph... Straight Edge.28 N Straight Edge.29 N [rx_buf_request.num_of_bytes > sizeof (m_rx_buffer)] / ser_phy_rx_buf_set(NULL) Flowline2.298 [rx_buf_request.num_of_bytes <= sizeof (m_rx_buffer)] / ser_p... Straight Edge.28 N Straight Edge.29 N [rx_buf_request.num_of_bytes <= sizeof (m_rx_buffer)] / ser_phy_rx_buf_set(m_rx_buffer) Flowline2.301 SER_PHY_EVT_RX_PKT_RECEIVED / transport_events_handler( HAL_T... Straight Edge.28 N Straight Edge.29 N SER_PHY_EVT_RX_PKT_RECEIVED / transport_events_handler( HAL_TRANSP_RX_STATE_RECEIVED) Flowline1.304 SER_PHY_EVT_RX_BUF_REQUEST / transport_events_handler( SER_HA... SER_PHY_EVT_RX_BUF_REQUEST / transport_events_handler( SER_HAL_TRANSP_EVT_RX_PKT_RECEIVING) Flowline2.305 [rx_buf_request.num_of_bytes <= sizeof (m_rx_buffer)] / - Straight Edge.28 N Straight Edge.29 N [rx_buf_request.num_of_bytes <= sizeof (m_rx_buffer)] / - Flowline2.308 [rx_buf_request.num_of_bytes > sizeof (m_rx_buffer)] / ser_ph... Straight Edge.28 N Straight Edge.29 N [rx_buf_request.num_of_bytes > sizeof (m_rx_buffer)] / ser_phy_rx_buf_set(NULL) Flowline2.311 ser_hal_transport_rx_pkt_free(m_rx_buffer) / ser_phy_rx_buf_s... Straight Edge.28 N Straight Edge.29 N ser_hal_transport_rx_pkt_free(m_rx_buffer) / ser_phy_rx_buf_set(m_rx_buffer) Flowline2.314 ser_hal_transport_rx_pkt_free(m_rx_buffer) / - Straight Edge.28 N Straight Edge.29 N ser_hal_transport_rx_pkt_free(m_rx_buffer) / - Flowline2.317 SER_PHY_EVT_RX_PKT_DROPPED / transport_events_handler( SER_HA... Straight Edge.28 N Straight Edge.29 N SER_PHY_EVT_RX_PKT_DROPPED / transport_events_handler( SER_HAL_TRANSP_EVT_RX_PKT_DROPPED) Flowline2.320 ser_hal_transport_rx_pkt_free(m_rx_buffer) / - Straight Edge.28 N Straight Edge.29 N ser_hal_transport_rx_pkt_free(m_rx_buffer) / - Flowline2.323 SER_PHY_EVT_RX_PKT_DROPPED / transport_events_handler( SER_HA... Straight Edge.28 N Straight Edge.29 N SER_PHY_EVT_RX_PKT_DROPPED / transport_events_handler( SER_HAL_TRANSP_EVT_RX_PKT_DROPPED)
RX state machine



ser_hal_transport_tx_state_machine.svg
TX state machine