RUI3 (RAK Unified Interface 3) - RAK4631
LmhPackage_s

Data Fields

uint8_t Port
 
void(* Init )(void *params, uint8_t *dataBuffer, uint8_t dataBufferMaxSize)
 
bool(* IsInitialized )(void)
 
bool(* IsRunning )(void)
 
void(* Process )(void)
 
void(* OnMcpsConfirmProcess )(McpsConfirm_t *mcpsConfirm)
 
void(* OnMcpsIndicationProcess )(McpsIndication_t *mcpsIndication)
 
void(* OnMlmeConfirmProcess )(MlmeConfirm_t *mlmeConfirm)
 
void(* OnMlmeIndicationProcess )(MlmeIndication_t *mlmeIndication)
 
void(* OnMacMcpsRequest )(LoRaMacStatus_t status, McpsReq_t *mcpsReq, TimerTime_t nextTxDelay)
 
void(* OnMacMlmeRequest )(LoRaMacStatus_t status, MlmeReq_t *mlmeReq, TimerTime_t nextTxDelay)
 
void(* OnJoinRequest )(bool isOtaa)
 
LmHandlerErrorStatus_t(* OnSendRequest )(LmHandlerAppData_t *appData, LmHandlerMsgTypes_t isTxConfirmed)
 
LmHandlerErrorStatus_t(* OnDeviceTimeRequest )(void)
 
void(* OnSysTimeUpdate )(void)
 

Field Documentation

◆ Port

uint8_t Port

◆ Init

void( * Init) (void *params, uint8_t *dataBuffer, uint8_t dataBufferMaxSize)

Initializes the package with provided parameters

Parameters
[IN]params Pointer to the package parameters
[IN]dataBuffer Pointer to main application buffer
[IN]dataBufferMaxSize Main application buffer maximum size

◆ IsInitialized

bool( * IsInitialized) (void)

Returns the current package initialization status.

Return values
statusPackage initialization status [true: Initialized, false: Not initialized]

◆ IsRunning

bool( * IsRunning) (void)

Returns the package operation status.

Return values
statusPackage operation status [true: Running, false: Not running]

◆ Process

void( * Process) (void)

Processes the internal package events.

◆ OnMcpsConfirmProcess

void( * OnMcpsConfirmProcess) (McpsConfirm_t *mcpsConfirm)

Processes the MCSP Confirm

Parameters
[IN]mcpsConfirm MCPS confirmation primitive data

◆ OnMcpsIndicationProcess

void( * OnMcpsIndicationProcess) (McpsIndication_t *mcpsIndication)

Processes the MCPS Indication

Parameters
[IN]mcpsIndication MCPS indication primitive data

◆ OnMlmeConfirmProcess

void( * OnMlmeConfirmProcess) (MlmeConfirm_t *mlmeConfirm)

Processes the MLME Confirm

Parameters
[IN]mlmeConfirm MLME confirmation primitive data

◆ OnMlmeIndicationProcess

void( * OnMlmeIndicationProcess) (MlmeIndication_t *mlmeIndication)

Processes the MLME Indication

Parameters
[IN]mlmeIndication MLME indication primitive data

◆ OnMacMcpsRequest

void( * OnMacMcpsRequest) (LoRaMacStatus_t status, McpsReq_t *mcpsReq, TimerTime_t nextTxDelay)

Notifies the upper layer that a MCPS request has been made to the MAC layer

Parameters
[IN]status - Request returned status
[IN]mcpsRequest - Performed MCPS-Request. Refer to McpsReq_t.
[IN]nextTxDelay - Time to wait until another TX is possible.

◆ OnMacMlmeRequest

void( * OnMacMlmeRequest) (LoRaMacStatus_t status, MlmeReq_t *mlmeReq, TimerTime_t nextTxDelay)

Notifies the upper layer that a MLME request has been made to the MAC layer

Parameters
[IN]status - Request returned status
[IN]mlmeRequest - Performed MLME-Request. Refer to MlmeReq_t.
[IN]nextTxDelay - Time to wait until another TX is possible.

◆ OnJoinRequest

void( * OnJoinRequest) (bool isOtaa)

Join a LoRa Network in classA

if the device is ABP, this is a pass through function

Parameters
[IN]isOtaa Indicates which activation mode must be used

◆ OnSendRequest

LmHandlerErrorStatus_t( * OnSendRequest) (LmHandlerAppData_t *appData, LmHandlerMsgTypes_t isTxConfirmed)

Instructs the MAC layer to send a ClassA uplink

Parameters
[IN]appData Data to be sent
[IN]isTxConfirmed Indicates if the uplink requires an acknowledgement
Return values
statusReturns LORAMAC_HANDLER_SUCCESS if request has been processed else LORAMAC_HANDLER_ERROR

◆ OnDeviceTimeRequest

LmHandlerErrorStatus_t( * OnDeviceTimeRequest) (void)

Requests network server time update

Return values
statusReturns LORAMAC_HANDLER_SET if joined else LORAMAC_HANDLER_RESET

◆ OnSysTimeUpdate

void( * OnSysTimeUpdate) (void)

Notifies the upper layer that the system time has been updated.