File tree Expand file tree Collapse file tree 31 files changed +612
-274
lines changed Expand file tree Collapse file tree 31 files changed +612
-274
lines changed Original file line number Diff line number Diff line change @@ -142,6 +142,25 @@ not of a bootloader and the radio frequency band to be used.
142142
1431436 . Changelog
144144-------------
145+ 2017-04-19, V4.3.2
146+ * General (Last release based on LoRaWAN specification 1.0.1)
147+ 1 . This version has passed EU868 and US915 LoRa-Alliance compliance tests.
148+ 2 . GitHub reported issues corrections.
149+ 3 . Added an algorithm to automatically compute the Rx windows parameters. (Window symbolTimeout and Offset from downlink expected time)
150+ 4 . Added a workaround to reset the radio in case a TxTimeout occurs.
151+ 5 . Modified FSK modem handling to use the provided symbolTimeout (1 symbol equals 1 byte) when in RxSingle mode.
152+ 6 . Added newly defined TxCw(Tx Continuous Wave) certification protocol command.
153+ 7 . Added a fix for an overflow issue that could happen with NmeaStringSize variable.
154+ 8 . Improved GpioMcuInit function to first configure the output pin state before activating the pin.
155+
156+ * LoRaWAN
157+ 1 . GitHub reported issues corrections.
158+ 2 . Changed the AdrAckCounter handling as expected by the test houses.
159+ 3 . Fix an issue where the node stopped transmitting.
160+ 4 . Removed useless LoRaMacPayload buffer.
161+ 5 . MAC layer indications handling simplification.
162+ 6 . Relocate parameter settings from ResetMacParameters to the initialization.
163+
1451642017-02-27, V4.3.1
146165* General
147166 1 . This version has passed EU868 and US915 LoRa-Alliance compliance tests.
Original file line number Diff line number Diff line change @@ -606,6 +606,15 @@ static void McpsIndication( McpsIndication_t *mcpsIndication )
606606 mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
607607 LoRaMacMlmeRequest ( & mlmeReq );
608608 }
609+ else if ( mcpsIndication -> BufferSize == 7 )
610+ {
611+ MlmeReq_t mlmeReq ;
612+ mlmeReq .Type = MLME_TXCW_1 ;
613+ mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
614+ mlmeReq .Req .TxCw .Frequency = ( uint32_t )( ( mcpsIndication -> Buffer [3 ] << 16 ) | ( mcpsIndication -> Buffer [4 ] << 8 ) | mcpsIndication -> Buffer [5 ] ) * 100 ;
615+ mlmeReq .Req .TxCw .Power = mcpsIndication -> Buffer [6 ];
616+ LoRaMacMlmeRequest ( & mlmeReq );
617+ }
609618 ComplianceTest .State = 1 ;
610619 }
611620 break ;
Original file line number Diff line number Diff line change @@ -655,6 +655,15 @@ static void McpsIndication( McpsIndication_t *mcpsIndication )
655655 mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
656656 LoRaMacMlmeRequest ( & mlmeReq );
657657 }
658+ else if ( mcpsIndication -> BufferSize == 7 )
659+ {
660+ MlmeReq_t mlmeReq ;
661+ mlmeReq .Type = MLME_TXCW_1 ;
662+ mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
663+ mlmeReq .Req .TxCw .Frequency = ( uint32_t )( ( mcpsIndication -> Buffer [3 ] << 16 ) | ( mcpsIndication -> Buffer [4 ] << 8 ) | mcpsIndication -> Buffer [5 ] ) * 100 ;
664+ mlmeReq .Req .TxCw .Power = mcpsIndication -> Buffer [6 ];
665+ LoRaMacMlmeRequest ( & mlmeReq );
666+ }
658667 ComplianceTest .State = 1 ;
659668 }
660669 break ;
Original file line number Diff line number Diff line change @@ -621,6 +621,15 @@ static void McpsIndication( McpsIndication_t *mcpsIndication )
621621 mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
622622 LoRaMacMlmeRequest ( & mlmeReq );
623623 }
624+ else if ( mcpsIndication -> BufferSize == 7 )
625+ {
626+ MlmeReq_t mlmeReq ;
627+ mlmeReq .Type = MLME_TXCW_1 ;
628+ mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
629+ mlmeReq .Req .TxCw .Frequency = ( uint32_t )( ( mcpsIndication -> Buffer [3 ] << 16 ) | ( mcpsIndication -> Buffer [4 ] << 8 ) | mcpsIndication -> Buffer [5 ] ) * 100 ;
630+ mlmeReq .Req .TxCw .Power = mcpsIndication -> Buffer [6 ];
631+ LoRaMacMlmeRequest ( & mlmeReq );
632+ }
624633 ComplianceTest .State = 1 ;
625634 }
626635 break ;
Original file line number Diff line number Diff line change @@ -551,6 +551,15 @@ static void McpsIndication( McpsIndication_t *mcpsIndication )
551551 mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
552552 LoRaMacMlmeRequest ( & mlmeReq );
553553 }
554+ else if ( mcpsIndication -> BufferSize == 7 )
555+ {
556+ MlmeReq_t mlmeReq ;
557+ mlmeReq .Type = MLME_TXCW_1 ;
558+ mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
559+ mlmeReq .Req .TxCw .Frequency = ( uint32_t )( ( mcpsIndication -> Buffer [3 ] << 16 ) | ( mcpsIndication -> Buffer [4 ] << 8 ) | mcpsIndication -> Buffer [5 ] ) * 100 ;
560+ mlmeReq .Req .TxCw .Power = mcpsIndication -> Buffer [6 ];
561+ LoRaMacMlmeRequest ( & mlmeReq );
562+ }
554563 ComplianceTest .State = 1 ;
555564 }
556565 break ;
Original file line number Diff line number Diff line change @@ -618,6 +618,15 @@ static void McpsIndication( McpsIndication_t *mcpsIndication )
618618 mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
619619 LoRaMacMlmeRequest ( & mlmeReq );
620620 }
621+ else if ( mcpsIndication -> BufferSize == 7 )
622+ {
623+ MlmeReq_t mlmeReq ;
624+ mlmeReq .Type = MLME_TXCW_1 ;
625+ mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
626+ mlmeReq .Req .TxCw .Frequency = ( uint32_t )( ( mcpsIndication -> Buffer [3 ] << 16 ) | ( mcpsIndication -> Buffer [4 ] << 8 ) | mcpsIndication -> Buffer [5 ] ) * 100 ;
627+ mlmeReq .Req .TxCw .Power = mcpsIndication -> Buffer [6 ];
628+ LoRaMacMlmeRequest ( & mlmeReq );
629+ }
621630 ComplianceTest .State = 1 ;
622631 }
623632 break ;
Original file line number Diff line number Diff line change @@ -606,6 +606,15 @@ static void McpsIndication( McpsIndication_t *mcpsIndication )
606606 mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
607607 LoRaMacMlmeRequest ( & mlmeReq );
608608 }
609+ else if ( mcpsIndication -> BufferSize == 7 )
610+ {
611+ MlmeReq_t mlmeReq ;
612+ mlmeReq .Type = MLME_TXCW_1 ;
613+ mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
614+ mlmeReq .Req .TxCw .Frequency = ( uint32_t )( ( mcpsIndication -> Buffer [3 ] << 16 ) | ( mcpsIndication -> Buffer [4 ] << 8 ) | mcpsIndication -> Buffer [5 ] ) * 100 ;
615+ mlmeReq .Req .TxCw .Power = mcpsIndication -> Buffer [6 ];
616+ LoRaMacMlmeRequest ( & mlmeReq );
617+ }
609618 ComplianceTest .State = 1 ;
610619 }
611620 break ;
Original file line number Diff line number Diff line change @@ -655,6 +655,15 @@ static void McpsIndication( McpsIndication_t *mcpsIndication )
655655 mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
656656 LoRaMacMlmeRequest ( & mlmeReq );
657657 }
658+ else if ( mcpsIndication -> BufferSize == 7 )
659+ {
660+ MlmeReq_t mlmeReq ;
661+ mlmeReq .Type = MLME_TXCW_1 ;
662+ mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
663+ mlmeReq .Req .TxCw .Frequency = ( uint32_t )( ( mcpsIndication -> Buffer [3 ] << 16 ) | ( mcpsIndication -> Buffer [4 ] << 8 ) | mcpsIndication -> Buffer [5 ] ) * 100 ;
664+ mlmeReq .Req .TxCw .Power = mcpsIndication -> Buffer [6 ];
665+ LoRaMacMlmeRequest ( & mlmeReq );
666+ }
658667 ComplianceTest .State = 1 ;
659668 }
660669 break ;
Original file line number Diff line number Diff line change @@ -621,6 +621,15 @@ static void McpsIndication( McpsIndication_t *mcpsIndication )
621621 mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
622622 LoRaMacMlmeRequest ( & mlmeReq );
623623 }
624+ else if ( mcpsIndication -> BufferSize == 7 )
625+ {
626+ MlmeReq_t mlmeReq ;
627+ mlmeReq .Type = MLME_TXCW_1 ;
628+ mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
629+ mlmeReq .Req .TxCw .Frequency = ( uint32_t )( ( mcpsIndication -> Buffer [3 ] << 16 ) | ( mcpsIndication -> Buffer [4 ] << 8 ) | mcpsIndication -> Buffer [5 ] ) * 100 ;
630+ mlmeReq .Req .TxCw .Power = mcpsIndication -> Buffer [6 ];
631+ LoRaMacMlmeRequest ( & mlmeReq );
632+ }
624633 ComplianceTest .State = 1 ;
625634 }
626635 break ;
Original file line number Diff line number Diff line change @@ -551,6 +551,15 @@ static void McpsIndication( McpsIndication_t *mcpsIndication )
551551 mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
552552 LoRaMacMlmeRequest ( & mlmeReq );
553553 }
554+ else if ( mcpsIndication -> BufferSize == 7 )
555+ {
556+ MlmeReq_t mlmeReq ;
557+ mlmeReq .Type = MLME_TXCW_1 ;
558+ mlmeReq .Req .TxCw .Timeout = ( uint16_t )( ( mcpsIndication -> Buffer [1 ] << 8 ) | mcpsIndication -> Buffer [2 ] );
559+ mlmeReq .Req .TxCw .Frequency = ( uint32_t )( ( mcpsIndication -> Buffer [3 ] << 16 ) | ( mcpsIndication -> Buffer [4 ] << 8 ) | mcpsIndication -> Buffer [5 ] ) * 100 ;
560+ mlmeReq .Req .TxCw .Power = mcpsIndication -> Buffer [6 ];
561+ LoRaMacMlmeRequest ( & mlmeReq );
562+ }
554563 ComplianceTest .State = 1 ;
555564 }
556565 break ;
You can’t perform that action at this time.
0 commit comments