@@ -1158,22 +1158,24 @@ void RadioIrqProcess( void )
1158
1158
1159
1159
if ( ( irqRegs & IRQ_RX_DONE ) == IRQ_RX_DONE )
1160
1160
{
1161
- //printf("rx done\r\n");
1162
- uint8_t size ;
1163
- TimerStop ( & RxTimeoutTimer );
1164
- SX126xGetPayload ( RadioRxPayload , & size , 255 );
1165
- SX126xGetPacketStatus ( & RadioPktStatus );
1166
- if ( ( RadioEvents != NULL ) && ( RadioEvents -> RxDone != NULL ) && ( irqRegs & IRQ_CRC_ERROR ) != IRQ_CRC_ERROR )
1161
+ if ( ( irqRegs & IRQ_CRC_ERROR ) == IRQ_CRC_ERROR )
1167
1162
{
1168
- RadioEvents -> RxDone ( RadioRxPayload , size , RadioPktStatus .Params .LoRa .RssiPkt , RadioPktStatus .Params .LoRa .SnrPkt );
1163
+ if ( ( RadioEvents != NULL ) && ( RadioEvents -> RxError ) )
1164
+ {
1165
+ RadioEvents -> RxError ( );
1166
+ }
1169
1167
}
1170
- }
1171
-
1172
- if ( ( irqRegs & IRQ_CRC_ERROR ) == IRQ_CRC_ERROR )
1173
- {
1174
- if ( ( RadioEvents != NULL ) && ( RadioEvents -> RxError ) )
1168
+ else
1175
1169
{
1176
- RadioEvents -> RxError ( );
1170
+ //printf("rx done\r\n");
1171
+ uint8_t size ;
1172
+ TimerStop ( & RxTimeoutTimer );
1173
+ SX126xGetPayload ( RadioRxPayload , & size , 255 );
1174
+ SX126xGetPacketStatus ( & RadioPktStatus );
1175
+ if ( ( RadioEvents != NULL ) && ( RadioEvents -> RxDone != NULL ) && ( irqRegs & IRQ_CRC_ERROR ) != IRQ_CRC_ERROR )
1176
+ {
1177
+ RadioEvents -> RxDone ( RadioRxPayload , size , RadioPktStatus .Params .LoRa .RssiPkt , RadioPktStatus .Params .LoRa .SnrPkt );
1178
+ }
1177
1179
}
1178
1180
}
1179
1181
0 commit comments