@@ -914,7 +914,7 @@ static void ProcessRadioRxDone( void )
914914 MacCtx .McpsIndication .RxSlot = MacCtx .RxSlot ;
915915 MacCtx .McpsIndication .Port = 0 ;
916916 MacCtx .McpsIndication .Multicast = 0 ;
917- MacCtx .McpsIndication .FramePending = 0 ;
917+ MacCtx .McpsIndication .IsUplinkTxPending = 0 ;
918918 MacCtx .McpsIndication .Buffer = NULL ;
919919 MacCtx .McpsIndication .BufferSize = 0 ;
920920 MacCtx .McpsIndication .RxData = false;
@@ -1203,7 +1203,6 @@ static void ProcessRadioRxDone( void )
12031203
12041204 MacCtx .McpsIndication .Status = LORAMAC_EVENT_INFO_STATUS_OK ;
12051205 MacCtx .McpsIndication .Multicast = multicast ;
1206- MacCtx .McpsIndication .FramePending = macMsgData .FHDR .FCtrl .Bits .FPending ;
12071206 MacCtx .McpsIndication .Buffer = NULL ;
12081207 MacCtx .McpsIndication .BufferSize = 0 ;
12091208 MacCtx .McpsIndication .DownLinkCounter = downLinkCounter ;
@@ -1252,6 +1251,13 @@ static void ProcessRadioRxDone( void )
12521251 }
12531252 }
12541253
1254+ // Set the pending status
1255+ if ( ( ( ( Nvm .MacGroup1 .SrvAckRequested == true ) || ( macMsgData .FHDR .FCtrl .Bits .FPending > 0 ) ) && ( Nvm .MacGroup2 .DeviceClass == CLASS_A ) ) ||
1256+ ( MacCtx .McpsIndication .ResponseTimeout > 0 ) )
1257+ {
1258+ MacCtx .McpsIndication .IsUplinkTxPending = 1 ;
1259+ }
1260+
12551261 RemoveMacCommands ( MacCtx .McpsIndication .RxSlot , macMsgData .FHDR .FCtrl , MacCtx .McpsConfirm .McpsRequest );
12561262
12571263 switch ( fType )
0 commit comments