1.2.5.46 ADP_LbpRequest Function
C
void ADP_LbpRequest ( const ADP_ADDRESS *pDstAddr, uint16_t nsduLength, uint8_t *pNsdu, uintptr_t nsduHandle, uint8_t maxHops, bool discoveryRoute, uint8_t qualityOfService, bool securityEnable );
Summary
This primitive allows the LBP Module to send an LBP message.
Description
The ADP LBP Request primitive allows the LBP Module to send an LBP message. Result is provided in the corresponding ADP LBP Confirm callback.
Parameters
Param | Description |
---|---|
pDstAddr | 16-bit address of LBA or LBS, or 64 bit address (extended address of LBD) |
nsduLength | The size of the NSDU, in bytes; limited to ADP_LBP_MAX_NSDU_LENGTH |
pNsdu | Pointer to NSDU to send |
nsduHandle | The handle of the NSDU to transmit. This parameter is used to identify in the ADP LBP Confirm primitive which request is concerned. It can be randomly chosen by the upper layer. |
maxHops | The number of hops for the LBP frame |
discoverRoute | If true, a route discovery procedure will be performed prior to sending the frame if a route to the destination is not available in the routing table. If false, no route discovery is performed. |
qualityOfService | The requested quality of service (QoS) of the frame to send. Allowed values are 0 (normal priority) and 1 (high priority). |
bSecurityEnable | If true, this parameter enables the MAC layer security for sending the frame. |
Returns
None.
Example
uint8_t nsdu[ADP_LBP_MAX_NSDU_LENGTH]; uint16_t nsduLength; ADP_ADDRESS destAddress; // ... // Fill NSDU // ... destAddress.addrSize = ADP_ADDRESS_16BITS; destAddress.shortAddr = 0x0001; ADP_LbpRequest(&destAddress, nsduLength, nsdu, 0, 8, true, 0, true); // Wait for LBP Confirm
Remarks
This primitive is used by the provided LBP module. Application does not have to manage it.