1.2.5.19 ADP_DATA_CFM_PARAMS Struct
C
typedef struct { /* The handle of the NSDU confirmed by this primitive */ uintptr_t nsduHandle; /* The status code (result) of a previous ADP Data Request */ uint8_t status; } ADP_DATA_CFM_PARAMS;
Summary
Defines the Parameters for the ADP Data Confirm event handler function.
Description
The structure contains the fields reported by the ADP Data Confirm event handler function.
Field description:
nsduHandle. The handle associated with the NSDU being confirmed.
status. The result of the last NSDU transmission.
Returned values for status are:
G3_SUCCESS (0x00)
Returned when the last requested transmission succeeded.
G3_INVALID_REQUEST (0xA1)
Data request is called before device has joined a network. Suggested action: Wait for Bootstrap process to complete before calling data request.
G3_FAILED (0xA2)
Data request is correctly handled by ADP layer, but MAC layer has no resources in such moment to handle it. Suggested action: wait a random time in application level to let the MAC layer free some resources and try sending again.
G3_ROUTE_ERROR (0xA5)
When ADP_DataRequest is called for a destination to which there is no route, and one of the following happens:
Route discovery is not allowed due to request parameters or IB configuration. Suggested action: Allow route discovery, or perform ADP_RouteDiscoveryRequest from upper layer before calling ADP_DataRequest.
Route discovery is allowed, and such discovery fails to find a route. Suggested action: Wait for a route to be available (or explicitly look for it using ADP_RouteDiscoveryRequest primitive), and then retry sending data.
G3_NO_BUFFERS (0xB4)
This value is returned when the ADP_DataRequest primitive is called, but the stack has no free resources to handle it. It can be due to the fact that all transmission buffers are being used, or because a route discovery is needed before data sending and there are no resources to perform the discovery (other discovery processes running are using the resources). Suggested action: wait a random time in application level to let the stack free some resources and try sending again.
MAC_WRP_STATUS_UNSUPPORTED_SECURITY (0xDF)
This value is reported when there is an Encryption Error. Suggested action: Check that ADP_IB_SECURITY_LEVEL has a correct value.
MAC_WRP_STATUS_CHANNEL_ACCESS_FAILURE (0xE1)
This value is reported when CSMA retires are exhausted. Suggested action: Retry transmission after a random time.
MAC_WRP_STATUS_DENIED (0xE2)
This value is reported when Tx is aborted by MAC layer. Suggested action: Retry transmission after a random time.
MAC_WRP_STATUS_SECURITY_ERROR (0xE4)
This value is reported when there is an Encryption Error. Suggested action: Check Security configuration correctness.
MAC_WRP_STATUS_NO_ACK (0xE9)
This value is reported in case ACK is not received and route discovery is not allowed when calling ADP_DataRequest. If discovery is allowed, a route will be created and data sent, or in case route is not found, a G3_ROUTE_ERROR will be reported. Suggested action: Trigger a Route Discovery process from application, as it has not been automatically triggered by the stack.
MAC_WRP_STATUS_TRANSACTION_OVERFLOW (0xF1)
This value is reported when Device is already transmitting. Suggested action: Retry transmission after a random time.
MAC_WRP_STATUS_UNAVAILABLE_KEY (0xF3)
This value is reported when there is an Encryption Error due to Encryption Key used. Suggested action: Check that ADP_IB_ACTIVE_KEY_INDEX has a correct value.
MAC_WRP_STATUS_LIMIT_REACHED (0xFA)
This value is reported when MAC layer ran out of transmitting resources. Suggested action: Retry transmission after a random time.
Remarks
None.