@@ -189,10 +189,6 @@ lorawan_status_t LoRaWANStack::initialize_mac_layer(EventQueue *queue)
189189 tr_debug (" Initializing MAC layer" );
190190 _queue = queue;
191191
192- #if defined(LORAWAN_COMPLIANCE_TEST)
193- _compliance_test.app_data_buffer = compliance_test_buffer;
194- #endif
195-
196192 _loramac.initialize (&LoRaMacPrimitives, queue);
197193
198194 // Reset counters to zero. Will change in future with 1.1 support.
@@ -876,36 +872,34 @@ lorawan_status_t LoRaWANStack::lora_state_machine(device_states_t new_state)
876872
877873lorawan_status_t LoRaWANStack::send_compliance_test_frame_to_mac ()
878874{
879- loramac_mcps_req_t mcps_req ;
875+ loramac_compliance_test_req_t test_req ;
880876
881- // prepare_special_tx_frame(_compliance_test.app_port);
882877 // TODO: What if the port is not 224 ???
883878 if (_compliance_test.app_port == 224 ) {
884879 // Clear any normal message stuff before compliance test.
885- memset (&mcps_req , 0 , sizeof (mcps_req ));
880+ memset (&test_req , 0 , sizeof (test_req ));
886881
887882 if (_compliance_test.link_check == true ) {
888883 _compliance_test.link_check = false ;
889884 _compliance_test.state = 1 ;
890- mcps_req .f_buffer_size = 3 ;
891- mcps_req .f_buffer [0 ] = 5 ;
892- mcps_req .f_buffer [1 ] = _compliance_test.demod_margin ;
893- mcps_req .f_buffer [2 ] = _compliance_test.nb_gateways ;
885+ test_req .f_buffer_size = 3 ;
886+ test_req .f_buffer [0 ] = 5 ;
887+ test_req .f_buffer [1 ] = _compliance_test.demod_margin ;
888+ test_req .f_buffer [2 ] = _compliance_test.nb_gateways ;
894889 } else {
895890 switch (_compliance_test.state ) {
896891 case 4 :
897892 _compliance_test.state = 1 ;
898- mcps_req.f_buffer_size = _compliance_test.app_data_size ;
899-
900- mcps_req.f_buffer [0 ] = _compliance_test.app_data_buffer [0 ];
893+ test_req.f_buffer_size = _compliance_test.app_data_size ;
894+ test_req.f_buffer [0 ] = _compliance_test.app_data_buffer [0 ];
901895 for (uint8_t i = 1 ; i < MIN (_compliance_test.app_data_size , MBED_CONF_LORA_TX_MAX_SIZE); ++i) {
902- mcps_req .f_buffer [i] = _compliance_test.app_data_buffer [i];
896+ test_req .f_buffer [i] = _compliance_test.app_data_buffer [i];
903897 }
904898 break ;
905899 case 1 :
906- mcps_req .f_buffer_size = 2 ;
907- mcps_req .f_buffer [0 ] = _compliance_test.downlink_counter >> 8 ;
908- mcps_req .f_buffer [1 ] = _compliance_test.downlink_counter ;
900+ test_req .f_buffer_size = 2 ;
901+ test_req .f_buffer [0 ] = _compliance_test.downlink_counter >> 8 ;
902+ test_req .f_buffer [1 ] = _compliance_test.downlink_counter ;
909903 break ;
910904 }
911905 }
@@ -914,45 +908,32 @@ lorawan_status_t LoRaWANStack::send_compliance_test_frame_to_mac()
914908 // TODO: If port is not 224, this might not work!
915909 // Is there a test case where same _tx_msg's buffer would be used, when port is not 224???
916910 if (!_compliance_test.is_tx_confirmed ) {
917- mcps_req.type = MCPS_UNCONFIRMED;
918- // mcps_req.f_buffer = _tx_msg.f_buffer;
919- // mcps_req.f_buffer_size = _tx_msg.f_buffer_size;
920- mcps_req.fport = _compliance_test.app_port ;
921- mcps_req.nb_trials = 1 ;
922- mcps_req.data_rate = _loramac.get_default_tx_datarate ();
911+ test_req.type = MCPS_UNCONFIRMED;
912+ test_req.fport = _compliance_test.app_port ;
913+ test_req.nb_trials = 1 ;
914+ test_req.data_rate = _loramac.get_default_tx_datarate ();
923915
924- tr_info (" Transmit unconfirmed compliance test frame %d bytes." , mcps_req .f_buffer_size );
916+ tr_info (" Transmit unconfirmed compliance test frame %d bytes." , test_req .f_buffer_size );
925917
926- for (uint8_t i = 0 ; i < mcps_req .f_buffer_size ; ++i) {
927- tr_info (" Byte %d, data is 0x%x" , i+1 , ((uint8_t *)mcps_req .f_buffer )[i]);
918+ for (uint8_t i = 0 ; i < test_req .f_buffer_size ; ++i) {
919+ tr_info (" Byte %d, data is 0x%x" , i+1 , ((uint8_t *)test_req .f_buffer )[i]);
928920 }
929921 } else if (_compliance_test.is_tx_confirmed ) {
930- mcps_req.type = MCPS_CONFIRMED;
931- // mcps_req.f_buffer = _tx_msg.f_buffer;
932- // mcps_req.f_buffer_size = _tx_msg.f_buffer_size;
933- mcps_req.fport = _compliance_test.app_port ;
934- mcps_req.nb_trials = _num_retry;
935- mcps_req.data_rate = _loramac.get_default_tx_datarate ();
922+ test_req.type = MCPS_CONFIRMED;
923+ test_req.fport = _compliance_test.app_port ;
924+ test_req.nb_trials = _num_retry;
925+ test_req.data_rate = _loramac.get_default_tx_datarate ();
936926
937- tr_info (" Transmit confirmed compliance test frame %d bytes." , mcps_req .f_buffer_size );
927+ tr_info (" Transmit confirmed compliance test frame %d bytes." , test_req .f_buffer_size );
938928
939- for (uint8_t i = 0 ; i < mcps_req .f_buffer_size ; ++i) {
940- tr_info (" Byte %d, data is 0x%x" , i+1 , ((uint8_t *)mcps_req .f_buffer )[i]);
929+ for (uint8_t i = 0 ; i < test_req .f_buffer_size ; ++i) {
930+ tr_info (" Byte %d, data is 0x%x" , i+1 , ((uint8_t *)test_req .f_buffer )[i]);
941931 }
942932 } else {
943933 return LORAWAN_STATUS_SERVICE_UNKNOWN;
944934 }
945935
946- return mcps_request_handler (&mcps_req);
947- }
948-
949- lorawan_status_t LoRaWANStack::mcps_request_handler (loramac_mcps_req_t *mcps_request)
950- {
951- if (mcps_request == NULL ) {
952- return LORAWAN_STATUS_PARAMETER_INVALID;
953- }
954-
955- return _loramac.mcps_request (mcps_request);
936+ return _loramac.test_request (&test_req);
956937}
957938
958939void LoRaWANStack::compliance_test_handler (loramac_mcps_indication_t *mcps_indication)
@@ -1035,8 +1016,6 @@ void LoRaWANStack::compliance_test_handler(loramac_mcps_indication_t *mcps_indic
10351016 _loramac.setup_link_check_request ();
10361017 break ;
10371018 case 6 : // (ix)
1038- loramac_mlme_req_t mlme_req;
1039-
10401019 // Disable TestMode and revert back to normal operation
10411020 _compliance_test.is_tx_confirmed = true ;
10421021 _compliance_test.app_port = MBED_CONF_LORA_APP_PORT;
0 commit comments