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

ParamDescription
pDstAddr16-bit address of LBA or LBS, or 64 bit address (extended address of LBD)
nsduLengthThe size of the NSDU, in bytes; limited to ADP_LBP_MAX_NSDU_LENGTH
pNsduPointer to NSDU to send
nsduHandleThe 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.
maxHopsThe number of hops for the LBP frame
discoverRouteIf 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.
qualityOfServiceThe requested quality of service (QoS) of the frame to send. Allowed values are 0 (normal priority) and 1 (high priority).
bSecurityEnableIf 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.