Compare commits

...

5 Commits

Author SHA1 Message Date
Maxime JOURDAN 040584f1eb
Merge 5a2a231dea into 139e8d28bc 2025-03-12 02:30:52 +01:00
Rania JMAI 139e8d28bc [HAL] Upload new fixes 2025-03-10 13:28:25 +01:00
Maxime JOURDAN 5a2a231dea fix typo 2023-04-03 19:15:35 +02:00
Maxime JOURDAN 78bc3c4a6d Add return status for LmHandlerJoin function 2023-04-03 19:08:05 +02:00
Maxime JOURDAN 2ccbb7479f fix comment format 2023-04-03 19:06:41 +02:00
3 changed files with 25 additions and 7 deletions
Drivers
Middlewares/Third_Party/LoRaWAN/LmHandler

@ -1 +1 @@
Subproject commit 8188d40505f5f77cb6ff9cea404b661d445acbd2 Subproject commit a496d1eebd7394fb880ebfdd56fdcb5f2cce687b

View File

@ -595,8 +595,10 @@ TimerTime_t LmHandlerGetDutyCycleWaitTime( void )
return DutyCycleWaitTime; return DutyCycleWaitTime;
} }
void LmHandlerJoin( ActivationType_t mode, bool forceRejoin ) LmHandlerErrorStatus_t LmHandlerJoin( ActivationType_t mode, bool forceRejoin )
{ {
LmHandlerErrorStatus_t lmhStatus = LORAMAC_HANDLER_ERROR;
LoRaMacStatus_t status;
MlmeReq_t mlmeReq; MlmeReq_t mlmeReq;
mlmeReq.Type = MLME_JOIN; mlmeReq.Type = MLME_JOIN;
@ -611,7 +613,12 @@ void LmHandlerJoin( ActivationType_t mode, bool forceRejoin )
LoRaMacStart(); LoRaMacStart();
#if (defined( LORAMAC_VERSION ) && ( LORAMAC_VERSION == 0x01000300 )) #if (defined( LORAMAC_VERSION ) && ( LORAMAC_VERSION == 0x01000300 ))
/* Starts the OTAA join procedure */ /* Starts the OTAA join procedure */
LoRaMacMlmeRequest( &mlmeReq ); status = LoRaMacMlmeRequest( &mlmeReq );
if( status == LORAMAC_STATUS_OK )
{
lmhStatus = LORAMAC_STATUS_OK;
}
#endif /* LORAMAC_VERSION */ #endif /* LORAMAC_VERSION */
} }
else else
@ -661,7 +668,7 @@ void LmHandlerJoin( ActivationType_t mode, bool forceRejoin )
{ {
LmHandlerCallbacks->OnJoinRequest( &JoinParams ); LmHandlerCallbacks->OnJoinRequest( &JoinParams );
} }
LmHandlerRequestClass( LmHandlerParams.DefaultClass ); lmhStatus = LmHandlerRequestClass( LmHandlerParams.DefaultClass );
#endif /* LORAMAC_VERSION */ #endif /* LORAMAC_VERSION */
} }
@ -669,10 +676,17 @@ void LmHandlerJoin( ActivationType_t mode, bool forceRejoin )
if( ( CtxRestoreDone == false ) || ( forceRejoin == true ) ) if( ( CtxRestoreDone == false ) || ( forceRejoin == true ) )
{ {
/* Starts the join procedure */ /* Starts the join procedure */
LoRaMacMlmeRequest( &mlmeReq ); status = LoRaMacMlmeRequest( &mlmeReq );
if( status == LORAMAC_STATUS_OK )
{
lmhStatus = LORAMAC_STATUS_OK;
}
} }
DutyCycleWaitTime = mlmeReq.ReqReturn.DutyCycleWaitTime; DutyCycleWaitTime = mlmeReq.ReqReturn.DutyCycleWaitTime;
#endif /* LORAMAC_VERSION */ #endif /* LORAMAC_VERSION */
return lmhStatus;
} }
LmHandlerFlagStatus_t LmHandlerJoinStatus( void ) LmHandlerFlagStatus_t LmHandlerJoinStatus( void )

View File

@ -363,8 +363,12 @@ TimerTime_t LmHandlerGetDutyCycleWaitTime( void );
* *
* \param [in] mode Activation mode (OTAA or ABP) * \param [in] mode Activation mode (OTAA or ABP)
* \param [in] forceRejoin Flag to force the rejoin even if LoRaWAN context can be restored * \param [in] forceRejoin Flag to force the rejoin even if LoRaWAN context can be restored
*
* \retval status Returns \ref LORAMAC_HANDLER_SUCCESS if request has been
* processed else if device not yet joined a network \ref LORAMAC_HANDLER_NO_NETWORK_JOINED
* else \ref LORAMAC_HANDLER_ERROR
*/ */
void LmHandlerJoin( ActivationType_t mode, bool forceRejoin ); LmHandlerErrorStatus_t LmHandlerJoin( ActivationType_t mode, bool forceRejoin );
/*! /*!
* Check whether the Device is joined to the network * Check whether the Device is joined to the network
@ -394,7 +398,7 @@ LmHandlerErrorStatus_t LmHandlerPingSlotReq( uint8_t periodicity );
* *
* \retval status Returns \ref LORAMAC_HANDLER_SUCCESS if request has been * \retval status Returns \ref LORAMAC_HANDLER_SUCCESS if request has been
* processed else if device not yet joined a network \ref LORAMAC_HANDLER_NO_NETWORK_JOINED * processed else if device not yet joined a network \ref LORAMAC_HANDLER_NO_NETWORK_JOINED
else \ref LORAMAC_HANDLER_ERROR * else \ref LORAMAC_HANDLER_ERROR
*/ */
LmHandlerErrorStatus_t LmHandlerRequestClass( DeviceClass_t newClass ); LmHandlerErrorStatus_t LmHandlerRequestClass( DeviceClass_t newClass );