FreeCalypso > hg > tcs211-l1-reconst
comparison chipsetsw/layer1/cfile/l1_trace.c @ 154:f9d2c65905f5
l1_trace.c: binary trace code excised
author | Mychaela Falconia <falcon@ivan.Harhan.ORG> |
---|---|
date | Sat, 21 May 2016 04:03:40 +0000 |
parents | ac77167940a3 |
children | c11f6d8d8fbd |
comparison
equal
deleted
inserted
replaced
153:ac77167940a3 | 154:f9d2c65905f5 |
---|---|
631 | 631 |
632 /************************************ Binary trace ********************************************************/ | 632 /************************************ Binary trace ********************************************************/ |
633 | 633 |
634 #if L1_BINARY_TRACE | 634 #if L1_BINARY_TRACE |
635 | 635 |
636 /*************************************************************************/ | 636 /* |
637 /* Classic trace output */ | 637 * FreeCalypso: the binary trace code has been excised |
638 /*************************************************************************/ | 638 * because we have no way of reconstructing what it was |
639 | 639 * in the TCS211 version before LoCosto changes. |
640 /*-------------------------------------------------------*/ | 640 */ |
641 /* l1_trace_message() */ | |
642 /*-------------------------------------------------------*/ | |
643 /* Parameters : */ | |
644 /* Return : */ | |
645 /* Description: L1 Trace formatting. */ | |
646 /*-------------------------------------------------------*/ | |
647 void l1_trace_message(xSignalHeaderRec *msg) | |
648 { | |
649 | |
650 /***********************************************************************/ | |
651 /* Trace configuration */ | |
652 /***********************************************************************/ | |
653 | |
654 if (msg->SignalCode == TRACE_CONFIG) | |
655 { | |
656 char *ptr; | |
657 T_TRACE_CONFIG *save; | |
658 | |
659 | |
660 // Download values | |
661 //---------------- | |
662 | |
663 // Note: RTT values are used in L1S but partial download of these values have no | |
664 // negative influence on L1 or Trace behavior | |
665 | |
666 // First UWORD32 is the classic L1 dynamic trace | |
667 trace_info.pending_config->l1_dyn_trace = ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->trace_config; | |
668 | |
669 // The eight following UWORD32 define the RTT cell configuration | |
670 trace_info.pending_config->rttl1_cell_enable[0] = ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[0]; | |
671 trace_info.pending_config->rttl1_cell_enable[1] = ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[1]; | |
672 trace_info.pending_config->rttl1_cell_enable[2] = ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[2]; | |
673 trace_info.pending_config->rttl1_cell_enable[3] = ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[3]; | |
674 trace_info.pending_config->rttl1_cell_enable[4] = ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[4]; | |
675 trace_info.pending_config->rttl1_cell_enable[5] = ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[5]; | |
676 trace_info.pending_config->rttl1_cell_enable[6] = ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[6]; | |
677 trace_info.pending_config->rttl1_cell_enable[7] = ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[7]; | |
678 | |
679 // Last UWORD32 define the RTT event | |
680 trace_info.pending_config->rttl1_event_enable = ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_event; | |
681 | |
682 // Re-initialize global variables | |
683 l1_init_trace_var(); | |
684 | |
685 // Switch pointers | |
686 save = trace_info.current_config; | |
687 trace_info.current_config = trace_info.pending_config; | |
688 trace_info.pending_config = save; | |
689 | |
690 // Trace the configuration change | |
691 //------------------------------- | |
692 | |
693 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_TRACE_CONFIG_CHANGE), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
694 { | |
695 | |
696 ((T_TR_TRACE_CONFIG_CHANGE *)(ptr))->header = TRL1_TRACE_CONFIG_CHANGE | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
697 ((T_TR_TRACE_CONFIG_CHANGE *)(ptr))->trace_config = trace_info.current_config->l1_dyn_trace ; | |
698 ((T_TR_TRACE_CONFIG_CHANGE *)(ptr))->rtt_cell_enable[0] = trace_info.current_config->rttl1_cell_enable[0]; | |
699 ((T_TR_TRACE_CONFIG_CHANGE *)(ptr))->rtt_cell_enable[1] = trace_info.current_config->rttl1_cell_enable[1]; | |
700 ((T_TR_TRACE_CONFIG_CHANGE *)(ptr))->rtt_cell_enable[2] = trace_info.current_config->rttl1_cell_enable[2]; | |
701 ((T_TR_TRACE_CONFIG_CHANGE *)(ptr))->rtt_cell_enable[3] = trace_info.current_config->rttl1_cell_enable[3]; | |
702 ((T_TR_TRACE_CONFIG_CHANGE *)(ptr))->rtt_cell_enable[4] = trace_info.current_config->rttl1_cell_enable[4]; | |
703 ((T_TR_TRACE_CONFIG_CHANGE *)(ptr))->rtt_cell_enable[5] = trace_info.current_config->rttl1_cell_enable[5]; | |
704 ((T_TR_TRACE_CONFIG_CHANGE *)(ptr))->rtt_cell_enable[6] = trace_info.current_config->rttl1_cell_enable[6]; | |
705 ((T_TR_TRACE_CONFIG_CHANGE *)(ptr))->rtt_cell_enable[7] = trace_info.current_config->rttl1_cell_enable[7]; | |
706 ((T_TR_TRACE_CONFIG_CHANGE *)(ptr))->rtt_event = trace_info.current_config->rttl1_event_enable; | |
707 | |
708 L1_send_trace_no_cpy(ptr,sizeof(T_TR_TRACE_CONFIG_CHANGE)); | |
709 | |
710 return; | |
711 } | |
712 | |
713 } | |
714 | |
715 /***********************************************************************/ | |
716 /* Traces coming from L1S */ | |
717 /***********************************************************************/ | |
718 | |
719 switch(msg->SignalCode) | |
720 { | |
721 #if (DSP_DEBUG_TRACE_ENABLE == 1) | |
722 | |
723 ////////////////////// | |
724 // DSP debug buffer // | |
725 ////////////////////// | |
726 | |
727 case TRACE_DSP_DEBUG: | |
728 { | |
729 WORD16 size = ((T_DSP_DEBUG_INFO *)(msg->SigP))->size; | |
730 char *ptr; | |
731 UWORD8 index = 0; | |
732 | |
733 // DSP debug header trace: L1 indication to associate with the buffer | |
734 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_DSP_DEBUG_HEADER), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
735 { | |
736 ((T_TR_DSP_DEBUG_HEADER *)(ptr))->header = TRL1_DSP_DEBUG_HEADER | (((T_DSP_DEBUG_INFO *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
737 ((T_TR_DSP_DEBUG_HEADER *)(ptr))->debug_time = ((T_DSP_DEBUG_INFO *)(msg->SigP))->debug_time; | |
738 ((T_TR_DSP_DEBUG_HEADER *)(ptr))->patch_version = ((T_DSP_DEBUG_INFO *)(msg->SigP))->patch_version; | |
739 ((T_TR_DSP_DEBUG_HEADER *)(ptr))->trace_level = ((T_DSP_DEBUG_INFO *)(msg->SigP))->trace_level; | |
740 | |
741 L1_send_trace_no_cpy(ptr,sizeof(T_TR_DSP_DEBUG_HEADER)); | |
742 } | |
743 | |
744 // DSP debug buffer trace | |
745 while (size > 0) | |
746 { | |
747 UWORD8 item_size = size; | |
748 | |
749 // Split buffer in several buffers with size inferior to 240 (RVT limitation to 255) | |
750 // Header not included (+8b) | |
751 if (item_size > 240) item_size = 240; | |
752 | |
753 // Buffer size -> add header | |
754 if (rvt_mem_alloc(trace_info.l1_trace_user_id, item_size + sizeof(T_TR_DSP_DEBUG_BUFFER) - sizeof(UWORD16), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
755 { | |
756 UWORD8 i; | |
757 | |
758 ((T_TR_DSP_DEBUG_BUFFER *)(ptr))->header = TRL1_DSP_DEBUG_BUFFER | (((T_DSP_DEBUG_INFO *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
759 ((T_TR_DSP_DEBUG_BUFFER *)(ptr))->size = (item_size >> 1); | |
760 // First element tells if it's the last msg | |
761 ((T_TR_DSP_DEBUG_BUFFER *)(ptr))->content[0] = 0; | |
762 | |
763 for (i = 1; i < (item_size >> 1); i++) | |
764 { | |
765 ((T_TR_DSP_DEBUG_BUFFER *)(ptr))->content[i] = ((T_DSP_DEBUG_INFO *)(msg->SigP))->buffer[index++]; | |
766 } | |
767 | |
768 size -= (item_size - 2); // (item_size - 2) bytes of the buffer transmitted | |
769 // -2 because of the first word used for status | |
770 | |
771 // Indicates it's the last buffer | |
772 if (size <= 0) | |
773 ((T_TR_DSP_DEBUG_BUFFER *)(ptr))->content[0] = 1; | |
774 | |
775 L1_send_trace_no_cpy(ptr,item_size + sizeof(T_TR_DSP_DEBUG_BUFFER) - sizeof(UWORD16)); | |
776 } | |
777 | |
778 // No trace buffer available -> cancel trace ! | |
779 else | |
780 { | |
781 break; | |
782 } | |
783 } | |
784 } | |
785 break; | |
786 | |
787 #endif // DSP_DEBUG_TRACE_ENABLE | |
788 | |
789 #if (L1_GPRS) | |
790 | |
791 /////////////////////////// | |
792 // PDTCH condensed trace // | |
793 /////////////////////////// | |
794 | |
795 case TRACE_CONDENSED_PDTCH: | |
796 { | |
797 char *ptr; | |
798 | |
799 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_CONDENSED_PDTCH), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
800 { | |
801 UWORD8 i,j; | |
802 | |
803 ((T_TR_CONDENSED_PDTCH *)(ptr))->header = TRL1_CONDENSED_PDTCH | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
804 ((T_TR_CONDENSED_PDTCH *)(ptr))->rx_allocation = ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->rx_allocation; | |
805 ((T_TR_CONDENSED_PDTCH *)(ptr))->tx_allocation = ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->tx_allocation; | |
806 ((T_TR_CONDENSED_PDTCH *)(ptr))->blk_status = ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->blk_status; | |
807 ((T_TR_CONDENSED_PDTCH *)(ptr))->dl_cs_type = ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->dl_cs_type; | |
808 ((T_TR_CONDENSED_PDTCH *)(ptr))->dl_status[0] = ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->dl_status[0]; | |
809 ((T_TR_CONDENSED_PDTCH *)(ptr))->dl_status[1] = ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->dl_status[1]; | |
810 ((T_TR_CONDENSED_PDTCH *)(ptr))->dl_status[2] = ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->dl_status[2]; | |
811 ((T_TR_CONDENSED_PDTCH *)(ptr))->dl_status[3] = ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->dl_status[3]; | |
812 | |
813 for (i=0, j=0; (i<8)&&(j<4); i++) | |
814 if (((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->ul_status[i] != 0) | |
815 { | |
816 ((T_TR_CONDENSED_PDTCH *)(ptr))->ul_status[j++] = ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->ul_status[i]; | |
817 } | |
818 | |
819 L1_send_trace_no_cpy(ptr,sizeof(T_TR_CONDENSED_PDTCH)); | |
820 } | |
821 } | |
822 break; | |
823 | |
824 #endif // L1_GPRS | |
825 | |
826 ///////////////// | |
827 // Quick trace // | |
828 ///////////////// | |
829 | |
830 case QUICK_TRACE: | |
831 { | |
832 UWORD8 debug_code = ((T_QUICK_TRACE *)(msg->SigP))->debug_code; | |
833 char ptr[200]; | |
834 char *str = ((T_TR_ASCII *)(ptr))->str; | |
835 UWORD32 *param = ((T_QUICK_TRACE *)(msg->SigP))->tab; | |
836 | |
837 // Fill string in 'str' variable | |
838 // Parameters included in param[n] | |
839 switch (debug_code) | |
840 { | |
841 case 0: | |
842 { | |
843 sprintf(str, "Quick trace example %d", param[0]); | |
844 } | |
845 break; | |
846 | |
847 } | |
848 | |
849 // Send trace | |
850 ((T_TR_ASCII *)(ptr))->header = TRL1_ASCII | (((T_QUICK_TRACE *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
851 ((T_TR_ASCII *)(ptr))->size = strlen(((T_TR_ASCII *)(ptr))->str); | |
852 L1_send_trace_cpy(ptr,((T_TR_ASCII *)(ptr))->size + 8); | |
853 } | |
854 break; | |
855 | |
856 //////////////// | |
857 // Debug info // | |
858 //////////////// | |
859 | |
860 case TRACE_INFO: | |
861 { | |
862 // Read cell ID in the header (first UWORD32) | |
863 UWORD16 trace_id = *((UWORD32 *)(msg->SigP)) & TR_HEADER_ID_MASK; | |
864 | |
865 switch(trace_id) | |
866 { | |
867 case TRL1_PM_EQUAL_0: | |
868 { | |
869 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_PM_EQUAL_0)); | |
870 } | |
871 break; | |
872 | |
873 case TRL1_MCU_DSP_MISMATCH: | |
874 { | |
875 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_MCU_DSP_MISMATCH)); | |
876 } | |
877 break; | |
878 | |
879 case TRL1_L1S_ABORT: | |
880 { | |
881 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_L1S_ABORT)); | |
882 } | |
883 break; | |
884 | |
885 #if (D_ERROR_STATUS_TRACE_ENABLE) | |
886 case TRL1_D_ERROR_STATUS: | |
887 { | |
888 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_D_ERROR_STATUS)); | |
889 } | |
890 break; | |
891 #endif | |
892 | |
893 #if L1_GPRS | |
894 | |
895 case TRL1_RLC_UL_PARAM: | |
896 { | |
897 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_RLC_UL_PARAM)); | |
898 } | |
899 break; | |
900 | |
901 case TRL1_RLC_DL_PARAM: | |
902 { | |
903 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_RLC_DL_PARAM)); | |
904 } | |
905 break; | |
906 | |
907 case TRL1_FORBIDDEN_UPLINK: | |
908 { | |
909 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_FORBIDDEN_UPLINK)); | |
910 } | |
911 break; | |
912 | |
913 case TRL1_DL_PTCCH: | |
914 { | |
915 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_DL_PTCCH)); | |
916 } | |
917 break; | |
918 | |
919 case TRL1_IT_DSP_ERROR: | |
920 { | |
921 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_IT_DSP_ERROR)); | |
922 } | |
923 break; | |
924 | |
925 #endif // L1_GPRS | |
926 | |
927 case TRL1_ADC: | |
928 { | |
929 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_ADC)); | |
930 } | |
931 break; | |
932 | |
933 case TRL1_NEW_TOA: | |
934 { | |
935 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_NEW_TOA)); | |
936 } | |
937 break; | |
938 | |
939 case TRL1_SAIC_DEBUG: | |
940 { | |
941 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_SAIC_DEBUG)); | |
942 } | |
943 break; | |
944 | |
945 case TRL1_BURST_PARAM: | |
946 { | |
947 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_BURST_PARAM)); | |
948 } | |
949 break; | |
950 | |
951 case TRL1_SLEEP: | |
952 { | |
953 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_SLEEP)); | |
954 } | |
955 break; | |
956 | |
957 case TRL1_GAUGING: | |
958 { | |
959 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_GAUGING)); | |
960 } | |
961 break; | |
962 | |
963 case TRL1_PTCCH_DISABLE: | |
964 { | |
965 L1_send_trace_cpy(msg->SigP,sizeof(T_TR_PTCCH_DISABLE)); | |
966 } | |
967 break; | |
968 | |
969 default: | |
970 { | |
971 char *ptr; | |
972 | |
973 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_UNKNOWN_L1S_TRACE), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
974 { | |
975 | |
976 ((T_TR_UNKNOWN_L1S_TRACE *)(ptr))->header = TRL1_UNKNOWN_L1S_TRACE | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
977 ((T_TR_UNKNOWN_L1S_TRACE *)(ptr))->id = trace_id; | |
978 | |
979 L1_send_trace_no_cpy(ptr,sizeof(T_TR_UNKNOWN_L1S_TRACE)); | |
980 } | |
981 } | |
982 } // End switch | |
983 } // End case "TRACE_INFO" | |
984 } | |
985 | |
986 /***********************************************************************/ | |
987 /* L1S CPU load */ | |
988 /***********************************************************************/ | |
989 | |
990 if (trace_info.current_config->l1_dyn_trace & 1<<L1_DYN_TRACE_L1S_CPU_LOAD) | |
991 { | |
992 if(max_cpu_flag) | |
993 { | |
994 char *ptr; | |
995 | |
996 max_cpu_flag = 0; | |
997 | |
998 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1S_CPU_PEAK), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
999 { | |
1000 | |
1001 ((T_TR_L1S_CPU_PEAK *)(ptr))->header = TRL1_L1S_CPU_PEAK | (fn_max_cpu << TR_HEADER_FN_DELAY); | |
1002 ((T_TR_L1S_CPU_PEAK *)(ptr))->max_cpu = (UWORD8)max_cpu; | |
1003 | |
1004 L1_send_trace_no_cpy(ptr, sizeof(T_TR_L1S_CPU_PEAK)); | |
1005 } | |
1006 } | |
1007 } | |
1008 | |
1009 /***********************************************************************/ | |
1010 /* L1A messages */ | |
1011 /***********************************************************************/ | |
1012 | |
1013 if (trace_info.current_config->l1_dyn_trace & 1<<L1_DYN_TRACE_L1A_MESSAGES) | |
1014 { | |
1015 | |
1016 switch(msg->SignalCode) | |
1017 { | |
1018 | |
1019 /********************************************************************************/ | |
1020 /* CIRCUIT SWITCHED */ | |
1021 /********************************************************************************/ | |
1022 | |
1023 ///////////////////////////////////////// | |
1024 // Message to set the right radio band // | |
1025 ///////////////////////////////////////// | |
1026 case MPHC_INIT_L1_REQ: | |
1027 { | |
1028 char *ptr; | |
1029 | |
1030 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_INIT_L1_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1031 { | |
1032 | |
1033 ((T_TR_MPHC_INIT_L1_REQ *)(ptr))->header = TRL1_MPHC_INIT_L1_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1034 ((T_TR_MPHC_INIT_L1_REQ *)(ptr))->radio_band_config = ((T_MPHC_INIT_L1_REQ *)(msg->SigP))->radio_band_config; | |
1035 | |
1036 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_NEW_SCELL_REQ)); | |
1037 } | |
1038 } | |
1039 break; | |
1040 | |
1041 case MPHC_INIT_L1_CON: | |
1042 { | |
1043 char *ptr; | |
1044 | |
1045 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_INIT_L1_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1046 { | |
1047 ((T_TR_MPHC_INIT_L1_CON *)(ptr))->header = TRL1_MPHC_INIT_L1_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1048 | |
1049 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_NEW_SCELL_REQ)); | |
1050 } | |
1051 } | |
1052 break; | |
1053 | |
1054 //////////////////////////// | |
1055 // Serving Cell selection // | |
1056 //////////////////////////// | |
1057 | |
1058 case MPHC_NEW_SCELL_REQ: | |
1059 { | |
1060 char *ptr; | |
1061 | |
1062 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_NEW_SCELL_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1063 { | |
1064 | |
1065 ((T_TR_MPHC_NEW_SCELL_REQ *)(ptr))->header = TRL1_MPHC_NEW_SCELL_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1066 ((T_TR_MPHC_NEW_SCELL_REQ *)(ptr))->radio_freq = ((T_MPHC_NEW_SCELL_REQ *)(msg->SigP))->radio_freq; | |
1067 ((T_TR_MPHC_NEW_SCELL_REQ *)(ptr))->fn_offset = ((T_MPHC_NEW_SCELL_REQ *)(msg->SigP))->fn_offset; | |
1068 ((T_TR_MPHC_NEW_SCELL_REQ *)(ptr))->time_alignmt = ((T_MPHC_NEW_SCELL_REQ *)(msg->SigP))->time_alignmt; | |
1069 ((T_TR_MPHC_NEW_SCELL_REQ *)(ptr))->bsic = ((T_MPHC_NEW_SCELL_REQ *)(msg->SigP))->bsic; | |
1070 | |
1071 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_NEW_SCELL_REQ)); | |
1072 } | |
1073 } | |
1074 break; | |
1075 | |
1076 ////////////////////////////// | |
1077 // Neighbor cell monitoring // | |
1078 ////////////////////////////// | |
1079 | |
1080 case MPHC_NETWORK_LOST_IND: | |
1081 { | |
1082 char *ptr; | |
1083 | |
1084 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_NETWORK_LOST_IND), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1085 { | |
1086 | |
1087 ((T_TR_MPHC_NETWORK_LOST_IND *)(ptr))->header = TRL1_MPHC_NETWORK_LOST_IND | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1088 | |
1089 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_NETWORK_LOST_IND)); | |
1090 } | |
1091 } | |
1092 break; | |
1093 | |
1094 // Idle mode neighbor cell synchronization | |
1095 | |
1096 case MPHC_NETWORK_SYNC_REQ: | |
1097 { | |
1098 char *ptr; | |
1099 | |
1100 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_NETWORK_SYNC_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1101 { | |
1102 | |
1103 ((T_TR_MPHC_NETWORK_SYNC_REQ *)(ptr))->header = TRL1_MPHC_NETWORK_SYNC_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1104 ((T_TR_MPHC_NETWORK_SYNC_REQ *)(ptr))->radio_freq = ((T_MPHC_NETWORK_SYNC_REQ *)(msg->SigP))->radio_freq; | |
1105 ((T_TR_MPHC_NETWORK_SYNC_REQ *)(ptr))->fn_offset = ((T_MPHC_NETWORK_SYNC_REQ *)(msg->SigP))->fn_offset; | |
1106 ((T_TR_MPHC_NETWORK_SYNC_REQ *)(ptr))->time_alignmt = ((T_MPHC_NETWORK_SYNC_REQ *)(msg->SigP))->time_alignmt; | |
1107 ((T_TR_MPHC_NETWORK_SYNC_REQ *)(ptr))->timing_validity = ((T_MPHC_NETWORK_SYNC_REQ *)(msg->SigP))->timing_validity; | |
1108 ((T_TR_MPHC_NETWORK_SYNC_REQ *)(ptr))->search_mode = ((T_MPHC_NETWORK_SYNC_REQ *)(msg->SigP))->search_mode; | |
1109 | |
1110 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_NETWORK_SYNC_REQ)); | |
1111 } | |
1112 } | |
1113 break; | |
1114 | |
1115 case MPHC_STOP_NETWORK_SYNC_REQ: | |
1116 { | |
1117 char *ptr; | |
1118 | |
1119 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_STOP_NETWORK_SYNC_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1120 { | |
1121 | |
1122 ((T_TR_MPHC_STOP_NETWORK_SYNC_REQ *)(ptr))->header = TRL1_MPHC_STOP_NETWORK_SYNC_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1123 | |
1124 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_STOP_NETWORK_SYNC_REQ)); | |
1125 } | |
1126 } | |
1127 break; | |
1128 | |
1129 case MPHC_NCELL_SYNC_REQ: | |
1130 { | |
1131 char *ptr; | |
1132 | |
1133 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_NCELL_SYNC_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1134 { | |
1135 | |
1136 ((T_TR_MPHC_NCELL_SYNC_REQ *)(ptr))->header = TRL1_MPHC_NCELL_SYNC_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1137 ((T_TR_MPHC_NCELL_SYNC_REQ *)(ptr))->radio_freq = ((T_MPHC_NCELL_SYNC_REQ *)(msg->SigP))->radio_freq; | |
1138 ((T_TR_MPHC_NCELL_SYNC_REQ *)(ptr))->fn_offset = ((T_MPHC_NCELL_SYNC_REQ *)(msg->SigP))->fn_offset; | |
1139 ((T_TR_MPHC_NCELL_SYNC_REQ *)(ptr))->time_alignmt = ((T_MPHC_NCELL_SYNC_REQ *)(msg->SigP))->time_alignmt; | |
1140 ((T_TR_MPHC_NCELL_SYNC_REQ *)(ptr))->timing_validity = ((T_MPHC_NCELL_SYNC_REQ *)(msg->SigP))->timing_validity; | |
1141 | |
1142 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_NCELL_SYNC_REQ)); | |
1143 } | |
1144 } | |
1145 break; | |
1146 | |
1147 case MPHC_NCELL_LIST_SYNC_REQ: | |
1148 { | |
1149 char *ptr; | |
1150 | |
1151 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_NCELL_LIST_SYNC_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1152 { | |
1153 UWORD8 i; | |
1154 | |
1155 ((T_TR_MPHC_NCELL_LIST_SYNC_REQ *)(ptr))->header = TRL1_MPHC_NCELL_LIST_SYNC_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1156 ((T_TR_MPHC_NCELL_LIST_SYNC_REQ *)(ptr))->eotd = ((T_MPHC_NCELL_LIST_SYNC_REQ *)(msg->SigP))->eotd; | |
1157 ((T_TR_MPHC_NCELL_LIST_SYNC_REQ *)(ptr))->list_size = ((T_MPHC_NCELL_LIST_SYNC_REQ *)(msg->SigP))->list_size; | |
1158 | |
1159 | |
1160 for (i=0; i<((T_MPHC_NCELL_LIST_SYNC_REQ *)(msg->SigP))->list_size; i++) | |
1161 { | |
1162 ((T_TR_MPHC_NCELL_LIST_SYNC_REQ *)(ptr))->radio_freq[i] = ((T_MPHC_NCELL_LIST_SYNC_REQ *)(msg->SigP))->ncell_list[i].timing_validity; | |
1163 ((T_TR_MPHC_NCELL_LIST_SYNC_REQ *)(ptr))->fn_offset[i] = ((T_MPHC_NCELL_LIST_SYNC_REQ *)(msg->SigP))->ncell_list[i].time_alignmt; | |
1164 ((T_TR_MPHC_NCELL_LIST_SYNC_REQ *)(ptr))->time_alignmt[i] = ((T_MPHC_NCELL_LIST_SYNC_REQ *)(msg->SigP))->ncell_list[i].fn_offset; | |
1165 ((T_TR_MPHC_NCELL_LIST_SYNC_REQ *)(ptr))->timing_validity[i] = ((T_MPHC_NCELL_LIST_SYNC_REQ *)(msg->SigP))->ncell_list[i].radio_freq; | |
1166 } | |
1167 | |
1168 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_NCELL_LIST_SYNC_REQ)); | |
1169 } | |
1170 } | |
1171 break; | |
1172 | |
1173 case MPHC_STOP_NCELL_SYNC_REQ: | |
1174 { | |
1175 char *ptr; | |
1176 | |
1177 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_STOP_NCELL_SYNC_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1178 { | |
1179 | |
1180 ((T_TR_MPHC_STOP_NCELL_SYNC_REQ *)(ptr))->header = TRL1_MPHC_STOP_NCELL_SYNC_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1181 ((T_TR_MPHC_STOP_NCELL_SYNC_REQ *)(ptr))->radio_freq_array_size = ((T_MPHC_STOP_NCELL_SYNC_REQ *)(msg->SigP))->radio_freq_array_size; | |
1182 ((T_TR_MPHC_STOP_NCELL_SYNC_REQ *)(ptr))->radio_freq_array[0] = ((T_MPHC_STOP_NCELL_SYNC_REQ *)(msg->SigP))->radio_freq_array[0]; | |
1183 ((T_TR_MPHC_STOP_NCELL_SYNC_REQ *)(ptr))->radio_freq_array[1] = ((T_MPHC_STOP_NCELL_SYNC_REQ *)(msg->SigP))->radio_freq_array[1]; | |
1184 ((T_TR_MPHC_STOP_NCELL_SYNC_REQ *)(ptr))->radio_freq_array[2] = ((T_MPHC_STOP_NCELL_SYNC_REQ *)(msg->SigP))->radio_freq_array[2]; | |
1185 ((T_TR_MPHC_STOP_NCELL_SYNC_REQ *)(ptr))->radio_freq_array[3] = ((T_MPHC_STOP_NCELL_SYNC_REQ *)(msg->SigP))->radio_freq_array[3]; | |
1186 ((T_TR_MPHC_STOP_NCELL_SYNC_REQ *)(ptr))->radio_freq_array[4] = ((T_MPHC_STOP_NCELL_SYNC_REQ *)(msg->SigP))->radio_freq_array[4]; | |
1187 ((T_TR_MPHC_STOP_NCELL_SYNC_REQ *)(ptr))->radio_freq_array[5] = ((T_MPHC_STOP_NCELL_SYNC_REQ *)(msg->SigP))->radio_freq_array[5]; | |
1188 ((T_TR_MPHC_STOP_NCELL_SYNC_REQ *)(ptr))->radio_freq_array[6] = ((T_MPHC_STOP_NCELL_SYNC_REQ *)(msg->SigP))->radio_freq_array[0]; | |
1189 ((T_TR_MPHC_STOP_NCELL_SYNC_REQ *)(ptr))->radio_freq_array[7] = ((T_MPHC_STOP_NCELL_SYNC_REQ *)(msg->SigP))->radio_freq_array[1]; | |
1190 ((T_TR_MPHC_STOP_NCELL_SYNC_REQ *)(ptr))->radio_freq_array[8] = ((T_MPHC_STOP_NCELL_SYNC_REQ *)(msg->SigP))->radio_freq_array[2]; | |
1191 ((T_TR_MPHC_STOP_NCELL_SYNC_REQ *)(ptr))->radio_freq_array[9] = ((T_MPHC_STOP_NCELL_SYNC_REQ *)(msg->SigP))->radio_freq_array[3]; | |
1192 ((T_TR_MPHC_STOP_NCELL_SYNC_REQ *)(ptr))->radio_freq_array[10] = ((T_MPHC_STOP_NCELL_SYNC_REQ *)(msg->SigP))->radio_freq_array[4]; | |
1193 ((T_TR_MPHC_STOP_NCELL_SYNC_REQ *)(ptr))->radio_freq_array[11] = ((T_MPHC_STOP_NCELL_SYNC_REQ *)(msg->SigP))->radio_freq_array[5]; | |
1194 | |
1195 | |
1196 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_STOP_NCELL_SYNC_REQ)); | |
1197 } | |
1198 } | |
1199 break; | |
1200 | |
1201 // Dedicated mode neigbor cell synchronization | |
1202 | |
1203 case MPHC_NCELL_FB_SB_READ: | |
1204 { | |
1205 char *ptr; | |
1206 | |
1207 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_NCELL_FB_SB_READ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1208 { | |
1209 | |
1210 ((T_TR_MPHC_NCELL_FB_SB_READ *)(ptr))->header = TRL1_MPHC_NCELL_FB_SB_READ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1211 ((T_TR_MPHC_NCELL_FB_SB_READ *)(ptr))->radio_freq = ((T_MPHC_NCELL_FB_SB_READ *)(msg->SigP))->radio_freq; | |
1212 | |
1213 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_NCELL_FB_SB_READ)); | |
1214 } | |
1215 } | |
1216 break; | |
1217 | |
1218 case MPHC_NCELL_SB_READ: | |
1219 { | |
1220 char *ptr; | |
1221 | |
1222 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_NCELL_SB_READ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1223 { | |
1224 | |
1225 ((T_TR_MPHC_NCELL_SB_READ *)(ptr))->header = TRL1_MPHC_NCELL_SB_READ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1226 ((T_TR_MPHC_NCELL_SB_READ *)(ptr))->radio_freq = ((T_MPHC_NCELL_SB_READ *)(msg->SigP))->radio_freq; | |
1227 ((T_TR_MPHC_NCELL_SB_READ *)(ptr))->fn_offset = ((T_MPHC_NCELL_SB_READ *)(msg->SigP))->fn_offset; | |
1228 ((T_TR_MPHC_NCELL_SB_READ *)(ptr))->time_alignmt = ((T_MPHC_NCELL_SB_READ *)(msg->SigP))->time_alignmt; | |
1229 | |
1230 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_NCELL_SB_READ)); | |
1231 } | |
1232 } | |
1233 break; | |
1234 | |
1235 case L1C_FB_INFO: | |
1236 { | |
1237 char *ptr; | |
1238 | |
1239 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_FB_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1240 { | |
1241 | |
1242 ((T_TR_L1C_FB_INFO *)(ptr))->header = TRL1_L1C_FB_INFO | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1243 ((T_TR_L1C_FB_INFO *)(ptr))->fb_flag = ((T_L1C_FB_INFO*)(msg->SigP))->fb_flag; | |
1244 ((T_TR_L1C_FB_INFO *)(ptr))->radio_freq = ((T_L1C_FB_INFO*)(msg->SigP))->radio_freq; | |
1245 ((T_TR_L1C_FB_INFO *)(ptr))->pm = ((T_L1C_FB_INFO*)(msg->SigP))->pm; | |
1246 ((T_TR_L1C_FB_INFO *)(ptr))->toa = ((T_L1C_FB_INFO*)(msg->SigP))->toa; | |
1247 ((T_TR_L1C_FB_INFO *)(ptr))->angle = ((T_L1C_FB_INFO*)(msg->SigP))->angle; | |
1248 ((T_TR_L1C_FB_INFO *)(ptr))->snr = ((T_L1C_FB_INFO*)(msg->SigP))->snr; | |
1249 ((T_TR_L1C_FB_INFO *)(ptr))->input_level = l1a_l1s_com.last_input_level[((T_L1C_FB_INFO*)(msg->SigP))->radio_freq - | |
1250 l1_config.std.radio_freq_index_offset].input_level; | |
1251 ((T_TR_L1C_FB_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
1252 ((T_TR_L1C_FB_INFO *)(ptr))->afc = l1s.afc; | |
1253 | |
1254 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_FB_INFO)); | |
1255 } | |
1256 } | |
1257 break; | |
1258 | |
1259 case L1C_SB_INFO: | |
1260 { | |
1261 char *ptr; | |
1262 | |
1263 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_SB_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1264 { | |
1265 | |
1266 ((T_TR_L1C_SB_INFO *)(ptr))->header = TRL1_L1C_SB_INFO | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1267 ((T_TR_L1C_SB_INFO *)(ptr))->radio_freq = ((T_L1C_SB_INFO *)(msg->SigP))->radio_freq; | |
1268 ((T_TR_L1C_SB_INFO *)(ptr))->sb_flag = ((T_L1C_SB_INFO *)(msg->SigP))->sb_flag; | |
1269 ((T_TR_L1C_SB_INFO *)(ptr))->fn_offset = ((T_L1C_SB_INFO *)(msg->SigP))->fn_offset; | |
1270 ((T_TR_L1C_SB_INFO *)(ptr))->time_alignmt = ((T_L1C_SB_INFO *)(msg->SigP))->time_alignmt; | |
1271 ((T_TR_L1C_SB_INFO *)(ptr))->bsic = ((T_L1C_SB_INFO *)(msg->SigP))->bsic; | |
1272 ((T_TR_L1C_SB_INFO *)(ptr))->pm = ((T_L1C_SB_INFO *)(msg->SigP))->pm; | |
1273 ((T_TR_L1C_SB_INFO *)(ptr))->toa = ((T_L1C_SB_INFO *)(msg->SigP))->toa; | |
1274 ((T_TR_L1C_SB_INFO *)(ptr))->angle = ((T_L1C_SB_INFO *)(msg->SigP))->angle; | |
1275 ((T_TR_L1C_SB_INFO *)(ptr))->snr = ((T_L1C_SB_INFO *)(msg->SigP))->snr; | |
1276 ((T_TR_L1C_SB_INFO *)(ptr))->input_level = l1a_l1s_com.last_input_level[((T_L1C_SB_INFO *)(msg->SigP))->radio_freq - l1_config.std.radio_freq_index_offset].input_level; | |
1277 ((T_TR_L1C_SB_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
1278 ((T_TR_L1C_SB_INFO *)(ptr))->afc = l1s.afc; | |
1279 | |
1280 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_SB_INFO)); | |
1281 } | |
1282 } | |
1283 break; | |
1284 | |
1285 case L1C_SBCONF_INFO: | |
1286 { | |
1287 char *ptr; | |
1288 | |
1289 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_SBCONF_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1290 { | |
1291 | |
1292 ((T_TR_L1C_SBCONF_INFO *)(ptr))->header = TRL1_L1C_SBCONF_INFO | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1293 ((T_TR_L1C_SBCONF_INFO *)(ptr))->radio_freq = ((T_L1C_SBCONF_INFO *)(msg->SigP))->radio_freq; | |
1294 ((T_TR_L1C_SBCONF_INFO *)(ptr))->sb_flag = ((T_L1C_SBCONF_INFO *)(msg->SigP))->sb_flag; | |
1295 ((T_TR_L1C_SBCONF_INFO *)(ptr))->fn_offset = ((T_L1C_SBCONF_INFO *)(msg->SigP))->fn_offset; | |
1296 ((T_TR_L1C_SBCONF_INFO *)(ptr))->time_alignmt = ((T_L1C_SBCONF_INFO *)(msg->SigP))->time_alignmt; | |
1297 ((T_TR_L1C_SBCONF_INFO *)(ptr))->bsic = ((T_L1C_SBCONF_INFO *)(msg->SigP))->bsic; | |
1298 ((T_TR_L1C_SBCONF_INFO *)(ptr))->pm = ((T_L1C_SBCONF_INFO *)(msg->SigP))->pm; | |
1299 ((T_TR_L1C_SBCONF_INFO *)(ptr))->toa = ((T_L1C_SBCONF_INFO *)(msg->SigP))->toa; | |
1300 ((T_TR_L1C_SBCONF_INFO *)(ptr))->angle = ((T_L1C_SBCONF_INFO *)(msg->SigP))->angle; | |
1301 ((T_TR_L1C_SBCONF_INFO *)(ptr))->snr = ((T_L1C_SBCONF_INFO *)(msg->SigP))->snr; | |
1302 ((T_TR_L1C_SBCONF_INFO *)(ptr))->input_level = l1a_l1s_com.last_input_level[((T_L1C_SBCONF_INFO *)(msg->SigP))->radio_freq - l1_config.std.radio_freq_index_offset].input_level; | |
1303 ((T_TR_L1C_SBCONF_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
1304 ((T_TR_L1C_SBCONF_INFO *)(ptr))->afc = l1s.afc; | |
1305 | |
1306 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_SBCONF_INFO)); | |
1307 } | |
1308 } | |
1309 break; | |
1310 | |
1311 case MPHC_NETWORK_SYNC_IND: | |
1312 { | |
1313 char *ptr; | |
1314 | |
1315 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_NETWORK_SYNC_IND), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1316 { | |
1317 | |
1318 ((T_TR_MPHC_NETWORK_SYNC_IND *)(ptr))->header = TRL1_MPHC_NETWORK_SYNC_IND | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1319 ((T_TR_MPHC_NETWORK_SYNC_IND *)(ptr))->sb_flag = ((T_MPHC_NETWORK_SYNC_IND*)(msg->SigP))->sb_flag; | |
1320 ((T_TR_MPHC_NETWORK_SYNC_IND *)(ptr))->radio_freq = ((T_MPHC_NETWORK_SYNC_IND*)(msg->SigP))->radio_freq; | |
1321 ((T_TR_MPHC_NETWORK_SYNC_IND *)(ptr))->fn_offset = ((T_MPHC_NETWORK_SYNC_IND*)(msg->SigP))->fn_offset; | |
1322 ((T_TR_MPHC_NETWORK_SYNC_IND *)(ptr))->time_alignmt = ((T_MPHC_NETWORK_SYNC_IND*)(msg->SigP))->time_alignmt; | |
1323 ((T_TR_MPHC_NETWORK_SYNC_IND *)(ptr))->bsic = ((T_MPHC_NETWORK_SYNC_IND*)(msg->SigP))->bsic; | |
1324 | |
1325 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_NETWORK_SYNC_IND)); | |
1326 } | |
1327 } | |
1328 break; | |
1329 | |
1330 case MPHC_NCELL_SYNC_IND: | |
1331 { | |
1332 char *ptr; | |
1333 | |
1334 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_NCELL_SYNC_IND), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1335 { | |
1336 | |
1337 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->header = TRL1_MPHC_NCELL_SYNC_IND | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1338 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->radio_freq = ((T_MPHC_NCELL_SYNC_IND*)(msg->SigP))->radio_freq; | |
1339 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->sb_flag = ((T_MPHC_NCELL_SYNC_IND*)(msg->SigP))->sb_flag; | |
1340 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->fn_offset = ((T_MPHC_NCELL_SYNC_IND*)(msg->SigP))->fn_offset; | |
1341 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->time_alignmt = ((T_MPHC_NCELL_SYNC_IND*)(msg->SigP))->time_alignmt; | |
1342 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->bsic = ((T_MPHC_NCELL_SYNC_IND*)(msg->SigP))->bsic; | |
1343 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->neigh_id = ((T_MPHC_NCELL_SYNC_IND*)(msg->SigP))->neigh_id; | |
1344 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->list_size = l1a_l1s_com.nsync.current_list_size; | |
1345 #if (L1_EOTD) | |
1346 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->eotd_data_valid = ((T_MPHC_NCELL_SYNC_IND*)(msg->SigP))->eotd_data_valid; | |
1347 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->mode = ((T_MPHC_NCELL_SYNC_IND*)(msg->SigP))->mode; | |
1348 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->fn_sb_neigh = ((T_MPHC_NCELL_SYNC_IND*)(msg->SigP))->fn_sb_neigh; | |
1349 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->fn_in_SB = ((T_MPHC_NCELL_SYNC_IND*)(msg->SigP))->fn_in_SB; | |
1350 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->toa_correction = ((T_MPHC_NCELL_SYNC_IND*)(msg->SigP))->toa_correction; | |
1351 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->delta_fn = ((T_MPHC_NCELL_SYNC_IND*)(msg->SigP))->delta_fn; | |
1352 ((T_TR_MPHC_NCELL_SYNC_IND *)(ptr))->delta_qbit = ((T_MPHC_NCELL_SYNC_IND*)(msg->SigP))->delta_qbit; | |
1353 #endif | |
1354 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_NCELL_SYNC_IND)); | |
1355 } | |
1356 } | |
1357 break; | |
1358 | |
1359 // Neighbor cell BCCH reading | |
1360 | |
1361 case MPHC_NCELL_BCCH_REQ: | |
1362 { | |
1363 char *ptr; | |
1364 | |
1365 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_NCELL_BCCH_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1366 { | |
1367 | |
1368 ((T_TR_MPHC_NCELL_BCCH_REQ *)(ptr))->header = TRL1_MPHC_NCELL_BCCH_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1369 ((T_TR_MPHC_NCELL_BCCH_REQ *)(ptr))->radio_freq = ((T_MPHC_NCELL_BCCH_REQ *)(msg->SigP))->radio_freq; | |
1370 ((T_TR_MPHC_NCELL_BCCH_REQ *)(ptr))->fn_offset = ((T_MPHC_NCELL_BCCH_REQ *)(msg->SigP))->fn_offset; | |
1371 ((T_TR_MPHC_NCELL_BCCH_REQ *)(ptr))->time_alignmt = ((T_MPHC_NCELL_BCCH_REQ *)(msg->SigP))->time_alignmt; | |
1372 ((T_TR_MPHC_NCELL_BCCH_REQ *)(ptr))->tsc = ((T_MPHC_NCELL_BCCH_REQ *)(msg->SigP))->tsc; | |
1373 ((T_TR_MPHC_NCELL_BCCH_REQ *)(ptr))->bcch_blks_req = ((T_MPHC_NCELL_BCCH_REQ *)(msg->SigP))->bcch_blks_req; | |
1374 #if L1_GPRS | |
1375 ((T_TR_MPHC_NCELL_BCCH_REQ *)(ptr))->gprs_priority = ((T_MPHC_NCELL_BCCH_REQ *)(msg->SigP))->gprs_priority; | |
1376 #endif | |
1377 | |
1378 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_NCELL_BCCH_REQ)); | |
1379 } | |
1380 } | |
1381 break; | |
1382 | |
1383 case MPHC_STOP_NCELL_BCCH_REQ: | |
1384 { | |
1385 char *ptr; | |
1386 | |
1387 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_STOP_NCELL_BCCH_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1388 { | |
1389 | |
1390 ((T_TR_MPHC_STOP_NCELL_BCCH_REQ *)(ptr))->header = TRL1_MPHC_STOP_NCELL_BCCH_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1391 ((T_TR_MPHC_STOP_NCELL_BCCH_REQ *)(ptr))->radio_freq_array_size = ((T_MPHC_STOP_NCELL_BCCH_REQ *)(msg->SigP))->radio_freq_array_size; | |
1392 ((T_TR_MPHC_STOP_NCELL_BCCH_REQ *)(ptr))->radio_freq_array[0] = ((T_MPHC_STOP_NCELL_BCCH_REQ *)(msg->SigP))->radio_freq_array[0]; | |
1393 ((T_TR_MPHC_STOP_NCELL_BCCH_REQ *)(ptr))->radio_freq_array[1] = ((T_MPHC_STOP_NCELL_BCCH_REQ *)(msg->SigP))->radio_freq_array[1]; | |
1394 ((T_TR_MPHC_STOP_NCELL_BCCH_REQ *)(ptr))->radio_freq_array[2] = ((T_MPHC_STOP_NCELL_BCCH_REQ *)(msg->SigP))->radio_freq_array[2]; | |
1395 ((T_TR_MPHC_STOP_NCELL_BCCH_REQ *)(ptr))->radio_freq_array[3] = ((T_MPHC_STOP_NCELL_BCCH_REQ *)(msg->SigP))->radio_freq_array[3]; | |
1396 ((T_TR_MPHC_STOP_NCELL_BCCH_REQ *)(ptr))->radio_freq_array[4] = ((T_MPHC_STOP_NCELL_BCCH_REQ *)(msg->SigP))->radio_freq_array[4]; | |
1397 ((T_TR_MPHC_STOP_NCELL_BCCH_REQ *)(ptr))->radio_freq_array[5] = ((T_MPHC_STOP_NCELL_BCCH_REQ *)(msg->SigP))->radio_freq_array[5]; | |
1398 | |
1399 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_STOP_NCELL_BCCH_REQ)); | |
1400 } | |
1401 } | |
1402 break; | |
1403 | |
1404 case L1C_BCCHN_INFO: | |
1405 { | |
1406 char *ptr; | |
1407 | |
1408 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_BCCHN_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1409 { | |
1410 | |
1411 ((T_TR_L1C_BCCHN_INFO *)(ptr))->header = TRL1_L1C_BCCHN_INFO | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1412 ((T_TR_L1C_BCCHN_INFO *)(ptr))->error_flag = ((T_MPHC_DATA_IND *)(msg->SigP))->error_flag; | |
1413 ((T_TR_L1C_BCCHN_INFO *)(ptr))->radio_freq = ((T_MPHC_DATA_IND *)(msg->SigP))->radio_freq; | |
1414 ((T_TR_L1C_BCCHN_INFO *)(ptr))->input_level = l1a_l1s_com.last_input_level[((T_MPHC_DATA_IND *)(msg->SigP))->radio_freq - | |
1415 l1_config.std.radio_freq_index_offset].input_level; | |
1416 ((T_TR_L1C_BCCHN_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
1417 ((T_TR_L1C_BCCHN_INFO *)(ptr))->afc = l1s.afc; | |
1418 | |
1419 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_BCCHN_INFO)); | |
1420 } | |
1421 } | |
1422 break; | |
1423 | |
1424 /////////////////////////////////////// | |
1425 // Serving cell normal burst reading // | |
1426 /////////////////////////////////////// | |
1427 | |
1428 // CCCH reading | |
1429 | |
1430 case MPHC_START_CCCH_REQ: | |
1431 { | |
1432 char *ptr; | |
1433 | |
1434 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_START_CCCH_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1435 { | |
1436 | |
1437 ((T_TR_MPHC_START_CCCH_REQ *)(ptr))->header = TRL1_MPHC_START_CCCH_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1438 ((T_TR_MPHC_START_CCCH_REQ *)(ptr))->bs_pa_mfrms = ((T_MPHC_START_CCCH_REQ *)(msg->SigP))->bs_pa_mfrms; | |
1439 ((T_TR_MPHC_START_CCCH_REQ *)(ptr))->bs_ag_blks_res = ((T_MPHC_START_CCCH_REQ *)(msg->SigP))->bs_ag_blks_res; | |
1440 ((T_TR_MPHC_START_CCCH_REQ *)(ptr))->bcch_combined = ((T_MPHC_START_CCCH_REQ *)(msg->SigP))->bcch_combined; | |
1441 ((T_TR_MPHC_START_CCCH_REQ *)(ptr))->ccch_group = ((T_MPHC_START_CCCH_REQ *)(msg->SigP))->ccch_group; | |
1442 ((T_TR_MPHC_START_CCCH_REQ *)(ptr))->page_group = ((T_MPHC_START_CCCH_REQ *)(msg->SigP))->page_group; | |
1443 ((T_TR_MPHC_START_CCCH_REQ *)(ptr))->page_block_index = ((T_MPHC_START_CCCH_REQ *)(msg->SigP))->page_block_index; | |
1444 ((T_TR_MPHC_START_CCCH_REQ *)(ptr))->page_mode = ((T_MPHC_START_CCCH_REQ *)(msg->SigP))->page_mode; | |
1445 | |
1446 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_START_CCCH_REQ)); | |
1447 } | |
1448 } | |
1449 break; | |
1450 | |
1451 case MPHC_STOP_CCCH_REQ: | |
1452 { | |
1453 char *ptr; | |
1454 | |
1455 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_STOP_CCCH_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1456 { | |
1457 | |
1458 ((T_TR_MPHC_STOP_CCCH_REQ *)(ptr))->header = TRL1_MPHC_STOP_CCCH_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1459 | |
1460 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_STOP_CCCH_REQ)); | |
1461 } | |
1462 } | |
1463 break; | |
1464 | |
1465 case L1C_NP_INFO: | |
1466 { | |
1467 char *ptr; | |
1468 | |
1469 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_NP_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1470 { | |
1471 | |
1472 ((T_TR_L1C_NP_INFO *)(ptr))->header = TRL1_L1C_NP_INFO | (((T_MPHC_DATA_IND *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
1473 ((T_TR_L1C_NP_INFO *)(ptr))->error_flag = ((T_MPHC_DATA_IND *)(msg->SigP))->error_flag; | |
1474 ((T_TR_L1C_NP_INFO *)(ptr))->radio_freq = ((T_MPHC_DATA_IND *)(msg->SigP))->radio_freq; | |
1475 ((T_TR_L1C_NP_INFO *)(ptr))->input_level = l1a_l1s_com.Scell_IL_for_rxlev; | |
1476 ((T_TR_L1C_NP_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
1477 ((T_TR_L1C_NP_INFO *)(ptr))->afc = l1s.afc; | |
1478 | |
1479 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_NP_INFO)); | |
1480 } | |
1481 } | |
1482 break; | |
1483 | |
1484 case L1C_EP_INFO: | |
1485 { | |
1486 char *ptr; | |
1487 | |
1488 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_EP_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1489 { | |
1490 | |
1491 ((T_TR_L1C_EP_INFO *)(ptr))->header = TRL1_L1C_EP_INFO | (((T_MPHC_DATA_IND *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
1492 ((T_TR_L1C_EP_INFO *)(ptr))->error_flag = ((T_MPHC_DATA_IND *)(msg->SigP))->error_flag; | |
1493 ((T_TR_L1C_EP_INFO *)(ptr))->radio_freq = ((T_MPHC_DATA_IND *)(msg->SigP))->radio_freq; | |
1494 ((T_TR_L1C_EP_INFO *)(ptr))->input_level = l1a_l1s_com.Scell_IL_for_rxlev; | |
1495 ((T_TR_L1C_EP_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
1496 ((T_TR_L1C_EP_INFO *)(ptr))->afc = l1s.afc; | |
1497 | |
1498 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_EP_INFO)); | |
1499 } | |
1500 } | |
1501 break; | |
1502 | |
1503 case L1C_ALLC_INFO: | |
1504 { | |
1505 char *ptr; | |
1506 | |
1507 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_ALLC_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1508 { | |
1509 | |
1510 ((T_TR_L1C_ALLC_INFO *)(ptr))->header = TRL1_L1C_ALLC_INFO | (((T_MPHC_DATA_IND *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
1511 ((T_TR_L1C_ALLC_INFO *)(ptr))->error_flag = ((T_MPHC_DATA_IND *)(msg->SigP))->error_flag; | |
1512 ((T_TR_L1C_ALLC_INFO *)(ptr))->radio_freq = ((T_MPHC_DATA_IND *)(msg->SigP))->radio_freq; | |
1513 ((T_TR_L1C_ALLC_INFO *)(ptr))->input_level = l1a_l1s_com.Scell_IL_for_rxlev; | |
1514 ((T_TR_L1C_ALLC_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
1515 ((T_TR_L1C_ALLC_INFO *)(ptr))->afc = l1s.afc; | |
1516 | |
1517 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_ALLC_INFO)); | |
1518 } | |
1519 } | |
1520 break; | |
1521 | |
1522 // BCCH reading | |
1523 | |
1524 case MPHC_SCELL_NBCCH_REQ: | |
1525 { | |
1526 char *ptr; | |
1527 | |
1528 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_SCELL_NBCCH_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1529 { | |
1530 | |
1531 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->header = TRL1_MPHC_SCELL_NBCCH_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1532 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->schedule_array_size = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array_size; | |
1533 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->modulus[0] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[0].modulus; | |
1534 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->modulus[1] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[1].modulus; | |
1535 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->modulus[2] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[2].modulus; | |
1536 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->modulus[3] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[3].modulus; | |
1537 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->modulus[4] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[4].modulus; | |
1538 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->modulus[5] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[5].modulus; | |
1539 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->modulus[6] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[6].modulus; | |
1540 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->modulus[7] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[7].modulus; | |
1541 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->modulus[8] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[8].modulus; | |
1542 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->modulus[9] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[9].modulus; | |
1543 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->relative_position[0] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[0].relative_position; | |
1544 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->relative_position[1] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[1].relative_position; | |
1545 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->relative_position[2] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[2].relative_position; | |
1546 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->relative_position[3] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[3].relative_position; | |
1547 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->relative_position[4] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[4].relative_position; | |
1548 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->relative_position[5] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[5].relative_position; | |
1549 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->relative_position[6] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[6].relative_position; | |
1550 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->relative_position[7] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[7].relative_position; | |
1551 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->relative_position[8] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[8].relative_position; | |
1552 ((T_TR_MPHC_SCELL_NBCCH_REQ *)(ptr))->relative_position[9] = ((T_MPHC_SCELL_NBCCH_REQ *)(msg->SigP))->schedule_array[9].relative_position; | |
1553 | |
1554 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_SCELL_NBCCH_REQ)); | |
1555 } | |
1556 } | |
1557 break; | |
1558 | |
1559 case MPHC_SCELL_EBCCH_REQ: | |
1560 { | |
1561 char *ptr; | |
1562 | |
1563 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_SCELL_EBCCH_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1564 { | |
1565 | |
1566 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->header = TRL1_MPHC_SCELL_EBCCH_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1567 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->schedule_array_size = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array_size; | |
1568 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->modulus[0] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[0].modulus; | |
1569 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->modulus[1] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[1].modulus; | |
1570 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->modulus[2] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[2].modulus; | |
1571 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->modulus[3] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[3].modulus; | |
1572 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->modulus[4] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[4].modulus; | |
1573 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->modulus[5] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[5].modulus; | |
1574 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->modulus[6] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[6].modulus; | |
1575 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->modulus[7] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[7].modulus; | |
1576 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->modulus[8] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[8].modulus; | |
1577 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->modulus[9] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[9].modulus; | |
1578 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->relative_position[0] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[0].relative_position; | |
1579 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->relative_position[1] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[1].relative_position; | |
1580 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->relative_position[2] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[2].relative_position; | |
1581 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->relative_position[3] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[3].relative_position; | |
1582 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->relative_position[4] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[4].relative_position; | |
1583 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->relative_position[5] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[5].relative_position; | |
1584 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->relative_position[6] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[6].relative_position; | |
1585 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->relative_position[7] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[7].relative_position; | |
1586 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->relative_position[8] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[8].relative_position; | |
1587 ((T_TR_MPHC_SCELL_EBCCH_REQ *)(ptr))->relative_position[9] = ((T_MPHC_SCELL_EBCCH_REQ *)(msg->SigP))->schedule_array[9].relative_position; | |
1588 | |
1589 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_SCELL_EBCCH_REQ)); | |
1590 } | |
1591 } | |
1592 break; | |
1593 | |
1594 case MPHC_STOP_SCELL_BCCH_REQ: | |
1595 { | |
1596 char *ptr; | |
1597 | |
1598 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_STOP_SCELL_BCCH_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1599 { | |
1600 | |
1601 ((T_TR_MPHC_STOP_SCELL_BCCH_REQ *)(ptr))->header = TRL1_MPHC_STOP_SCELL_BCCH_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1602 | |
1603 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_STOP_SCELL_BCCH_REQ)); | |
1604 } | |
1605 } | |
1606 break; | |
1607 | |
1608 case L1C_BCCHS_INFO: | |
1609 { | |
1610 char *ptr; | |
1611 | |
1612 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_BCCHS_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1613 { | |
1614 | |
1615 ((T_TR_L1C_BCCHS_INFO *)(ptr))->header = TRL1_L1C_BCCHS_INFO | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1616 ((T_TR_L1C_BCCHS_INFO *)(ptr))->error_flag = ((T_MPHC_DATA_IND *)(msg->SigP))->error_flag; | |
1617 ((T_TR_L1C_BCCHS_INFO *)(ptr))->radio_freq = ((T_MPHC_DATA_IND *)(msg->SigP))->radio_freq; | |
1618 ((T_TR_L1C_BCCHS_INFO *)(ptr))->input_level = l1a_l1s_com.Scell_IL_for_rxlev; | |
1619 ((T_TR_L1C_BCCHS_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
1620 ((T_TR_L1C_BCCHS_INFO *)(ptr))->afc = l1s.afc; | |
1621 | |
1622 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_BCCHS_INFO)); | |
1623 } | |
1624 } | |
1625 break; | |
1626 | |
1627 ////////// | |
1628 // CBCH // | |
1629 ////////// | |
1630 | |
1631 case MPHC_CONFIG_CBCH_REQ: | |
1632 { | |
1633 char *ptr; | |
1634 | |
1635 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_CONFIG_CBCH_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1636 { | |
1637 | |
1638 ((T_TR_MPHC_CONFIG_CBCH_REQ *)(ptr))->header = TRL1_MPHC_CONFIG_CBCH_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1639 ((T_TR_MPHC_CONFIG_CBCH_REQ *)(ptr))->h = ((T_MPHC_CONFIG_CBCH_REQ *)(msg->SigP))->cbch_desc.chan_sel.h; | |
1640 ((T_TR_MPHC_CONFIG_CBCH_REQ *)(ptr))->radio_freq = ((T_MPHC_CONFIG_CBCH_REQ *)(msg->SigP))->cbch_desc.chan_sel.rf_channel.single_rf.radio_freq; | |
1641 ((T_TR_MPHC_CONFIG_CBCH_REQ *)(ptr))->timeslot_no = ((T_MPHC_CONFIG_CBCH_REQ *)(msg->SigP))->cbch_desc.timeslot_no; | |
1642 | |
1643 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_CONFIG_CBCH_REQ)); | |
1644 } | |
1645 } | |
1646 break; | |
1647 | |
1648 case MPHC_CBCH_SCHEDULE_REQ: | |
1649 { | |
1650 char *ptr; | |
1651 | |
1652 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_CBCH_SCHEDULE_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1653 { | |
1654 | |
1655 ((T_TR_MPHC_CBCH_SCHEDULE_REQ *)(ptr))->header = TRL1_MPHC_CBCH_SCHEDULE_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1656 ((T_TR_MPHC_CBCH_SCHEDULE_REQ *)(ptr))->extended_cbch = ((T_MPHC_CBCH_SCHEDULE_REQ *)(msg->SigP))->extended_cbch; | |
1657 ((T_TR_MPHC_CBCH_SCHEDULE_REQ *)(ptr))->schedule_length = ((T_MPHC_CBCH_SCHEDULE_REQ *)(msg->SigP))->schedule_length; | |
1658 ((T_TR_MPHC_CBCH_SCHEDULE_REQ *)(ptr))->first_block_0 = ((T_MPHC_CBCH_SCHEDULE_REQ *)(msg->SigP))->first_block_0; | |
1659 ((T_TR_MPHC_CBCH_SCHEDULE_REQ *)(ptr))->first_block_1 = ((T_MPHC_CBCH_SCHEDULE_REQ *)(msg->SigP))->first_block_1; | |
1660 | |
1661 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_CBCH_SCHEDULE_REQ)); | |
1662 } | |
1663 } | |
1664 break; | |
1665 | |
1666 case MPHC_CBCH_INFO_REQ: | |
1667 { | |
1668 char *ptr; | |
1669 | |
1670 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_CBCH_INFO_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1671 { | |
1672 | |
1673 ((T_TR_MPHC_CBCH_INFO_REQ *)(ptr))->header = TRL1_MPHC_CBCH_INFO_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1674 ((T_TR_MPHC_CBCH_INFO_REQ *)(ptr))->tb_bitmap = ((T_MPHC_CBCH_INFO_REQ *)(msg->SigP))->tb_bitmap; | |
1675 | |
1676 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_CBCH_INFO_REQ)); | |
1677 } | |
1678 } | |
1679 break; | |
1680 | |
1681 case MPHC_CBCH_UPDATE_REQ: | |
1682 { | |
1683 char *ptr; | |
1684 | |
1685 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_CBCH_UPDATE_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1686 { | |
1687 | |
1688 ((T_TR_MPHC_CBCH_UPDATE_REQ *)(ptr))->header = TRL1_MPHC_CBCH_UPDATE_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1689 ((T_TR_MPHC_CBCH_UPDATE_REQ *)(ptr))->extended_cbch = ((T_MPHC_CBCH_UPDATE_REQ*)(msg->SigP))->extended_cbch; | |
1690 ((T_TR_MPHC_CBCH_UPDATE_REQ *)(ptr))->first_block_0 = ((T_MPHC_CBCH_UPDATE_REQ*)(msg->SigP))->first_block_0; | |
1691 ((T_TR_MPHC_CBCH_UPDATE_REQ *)(ptr))->first_block_1 = ((T_MPHC_CBCH_UPDATE_REQ*)(msg->SigP))->first_block_1; | |
1692 | |
1693 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_CBCH_UPDATE_REQ)); | |
1694 } | |
1695 } | |
1696 break; | |
1697 | |
1698 case L1C_CB_INFO: | |
1699 { | |
1700 char *ptr; | |
1701 | |
1702 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_CB_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1703 { | |
1704 | |
1705 ((T_TR_L1C_CB_INFO *)(ptr))->header = TRL1_L1C_CB_INFO | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1706 ((T_TR_L1C_CB_INFO *)(ptr))->error_flag = ((T_MPHC_DATA_IND *)(msg->SigP))->error_flag; | |
1707 ((T_TR_L1C_CB_INFO *)(ptr))->radio_freq = ((T_MPHC_DATA_IND *)(msg->SigP))->radio_freq; | |
1708 ((T_TR_L1C_CB_INFO *)(ptr))->input_level = l1a_l1s_com.Scell_IL_for_rxlev; | |
1709 ((T_TR_L1C_CB_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
1710 ((T_TR_L1C_CB_INFO *)(ptr))->afc = l1s.afc; | |
1711 | |
1712 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_CB_INFO)); | |
1713 } | |
1714 } | |
1715 break; | |
1716 | |
1717 // Stop CBCH | |
1718 | |
1719 case MPHC_STOP_CBCH_REQ: | |
1720 { | |
1721 char *ptr; | |
1722 | |
1723 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_STOP_CBCH_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1724 { | |
1725 | |
1726 ((T_TR_MPHC_STOP_CBCH_REQ *)(ptr))->header = TRL1_MPHC_STOP_CBCH_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1727 ((T_TR_MPHC_STOP_CBCH_REQ *)(ptr))->normal_cbch = ((T_MPHC_STOP_CBCH_REQ *)(msg->SigP))->normal_cbch; | |
1728 ((T_TR_MPHC_STOP_CBCH_REQ *)(ptr))->extended_cbch = ((T_MPHC_STOP_CBCH_REQ *)(msg->SigP))->extended_cbch; | |
1729 | |
1730 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_STOP_CBCH_REQ)); | |
1731 } | |
1732 } | |
1733 break; | |
1734 | |
1735 case MPHC_STOP_CBCH_CON: | |
1736 { | |
1737 char *ptr; | |
1738 | |
1739 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_STOP_CBCH_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1740 { | |
1741 | |
1742 ((T_TR_MPHC_STOP_CBCH_CON *)(ptr))->header = TRL1_MPHC_STOP_CBCH_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1743 | |
1744 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_STOP_CBCH_CON)); | |
1745 } | |
1746 } | |
1747 break; | |
1748 | |
1749 /////////////////// | |
1750 // Random Access // | |
1751 /////////////////// | |
1752 | |
1753 case MPHC_RA_REQ: | |
1754 { | |
1755 char *ptr; | |
1756 | |
1757 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_RA_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1758 { | |
1759 | |
1760 ((T_TR_MPHC_RA_REQ *)(ptr))->header = TRL1_MPHC_RA_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1761 ((T_TR_MPHC_RA_REQ *)(ptr))->txpwr = ((T_MPHC_RA_REQ *)(msg->SigP))->txpwr; | |
1762 ((T_TR_MPHC_RA_REQ *)(ptr))->rand = ((T_MPHC_RA_REQ *)(msg->SigP))->rand; | |
1763 ((T_TR_MPHC_RA_REQ *)(ptr))->channel_request = ((T_MPHC_RA_REQ *)(msg->SigP))->channel_request; | |
1764 ((T_TR_MPHC_RA_REQ *)(ptr))->powerclass_band1 = ((T_MPHC_RA_REQ *)(msg->SigP))->powerclass_band1; | |
1765 ((T_TR_MPHC_RA_REQ *)(ptr))->powerclass_band2 = ((T_MPHC_RA_REQ *)(msg->SigP))->powerclass_band2; | |
1766 | |
1767 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_RA_REQ)); | |
1768 } | |
1769 } | |
1770 break; | |
1771 | |
1772 case MPHC_STOP_RA_REQ: | |
1773 { | |
1774 char *ptr; | |
1775 | |
1776 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_STOP_RA_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1777 { | |
1778 | |
1779 ((T_TR_MPHC_STOP_RA_REQ *)(ptr))->header = TRL1_MPHC_STOP_RA_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1780 | |
1781 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_STOP_RA_REQ)); | |
1782 } | |
1783 } | |
1784 break; | |
1785 | |
1786 case L1C_RA_DONE: | |
1787 { | |
1788 char *ptr; | |
1789 | |
1790 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_RA_DONE), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1791 { | |
1792 | |
1793 ((T_TR_L1C_RA_DONE *)(ptr))->header = TRL1_L1C_RA_DONE | (((T_MPHC_RA_CON *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
1794 | |
1795 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_RA_DONE)); | |
1796 } | |
1797 } | |
1798 break; | |
1799 | |
1800 ///////////////////////////// | |
1801 // Dedicated mode channels // | |
1802 ///////////////////////////// | |
1803 | |
1804 // Immediate assignment | |
1805 | |
1806 case MPHC_IMMED_ASSIGN_REQ: | |
1807 { | |
1808 char *ptr; | |
1809 | |
1810 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_IMMED_ASSIGN_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1811 { | |
1812 | |
1813 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->header = TRL1_MPHC_IMMED_ASSIGN_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1814 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->h = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->channel_desc.chan_sel.h; | |
1815 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->radio_freq = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->channel_desc.chan_sel.rf_channel.single_rf.radio_freq; | |
1816 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->channel_type = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->channel_desc.channel_type; | |
1817 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->subchannel = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->channel_desc.subchannel; | |
1818 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->timeslot_no = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->channel_desc.timeslot_no; | |
1819 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->tsc = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->channel_desc.tsc; | |
1820 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->timing_advance = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->timing_advance; | |
1821 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->rf_chan_cnt = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->frequency_list.rf_chan_cnt; | |
1822 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->starting_time_present = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->starting_time.start_time_present; | |
1823 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->n32 = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->starting_time.start_time.n32; | |
1824 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->n51 = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->starting_time.start_time.n51; | |
1825 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->n26 = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->starting_time.start_time.n26; | |
1826 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->bef_sti_rf_chan_cnt = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->frequency_list_bef_sti.rf_chan_cnt; | |
1827 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->dtx_allowed = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->dtx_allowed; | |
1828 ((T_TR_MPHC_IMMED_ASSIGN_REQ *)(ptr))->pwrc = ((T_MPHC_IMMED_ASSIGN_REQ *)(msg->SigP))->pwrc; | |
1829 | |
1830 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_IMMED_ASSIGN_REQ)); | |
1831 } | |
1832 } | |
1833 break; | |
1834 | |
1835 case MPHC_IMMED_ASSIGN_CON: | |
1836 { | |
1837 char *ptr; | |
1838 | |
1839 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_IMMED_ASSIGN_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1840 { | |
1841 | |
1842 ((T_TR_MPHC_IMMED_ASSIGN_CON *)(ptr))->header = TRL1_MPHC_IMMED_ASSIGN_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1843 | |
1844 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_IMMED_ASSIGN_CON)); | |
1845 } | |
1846 } | |
1847 break; | |
1848 | |
1849 // Channel assignment | |
1850 | |
1851 case MPHC_CHANNEL_ASSIGN_REQ: | |
1852 { | |
1853 char *ptr; | |
1854 | |
1855 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_CHANNEL_ASSIGN_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1856 { | |
1857 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->header = TRL1_MPHC_CHANNEL_ASSIGN_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1858 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->h = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->channel_desc_1.chan_sel.h; | |
1859 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->radio_freq = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->channel_desc_1.chan_sel.rf_channel.single_rf.radio_freq; | |
1860 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->channel_type = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->channel_desc_1.channel_type; | |
1861 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->subchannel = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->channel_desc_1.subchannel; | |
1862 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->timeslot_no = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->channel_desc_1.timeslot_no; | |
1863 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->tsc = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->channel_desc_1.tsc; | |
1864 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->channel_mode_1 = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->channel_mode_1; | |
1865 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->txpwr = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->txpwr; | |
1866 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->rf_chan_cnt = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->frequency_list.rf_chan_cnt; | |
1867 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->starting_time_present = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->starting_time.start_time_present; | |
1868 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->n32 = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->starting_time.start_time.n32; | |
1869 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->n51 = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->starting_time.start_time.n51; | |
1870 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->n26 = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->starting_time.start_time.n26; | |
1871 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->bef_sti_rf_chan_cnt = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->frequency_list_bef_sti.rf_chan_cnt; | |
1872 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->cipher_mode = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->cipher_mode; | |
1873 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->a5_algorithm = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->a5_algorithm; | |
1874 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->dtx_allowed = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->dtx_allowed; | |
1875 | |
1876 #if (AMR == 1) | |
1877 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->noise_suppression_bit = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->amr_configuration.noise_suppression_bit; | |
1878 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->initial_codec_mode_indicator = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->amr_configuration.initial_codec_mode_indicator; | |
1879 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->initial_codec_mode = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->amr_configuration.initial_codec_mode; | |
1880 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->active_codec_set = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->amr_configuration.active_codec_set; | |
1881 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->threshold[0] = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->amr_configuration.threshold[0]; | |
1882 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->threshold[1] = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->amr_configuration.threshold[1]; | |
1883 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->threshold[2] = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->amr_configuration.threshold[2]; | |
1884 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->hysteresis[0] = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->amr_configuration.hysteresis[0]; | |
1885 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->hysteresis[1] = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->amr_configuration.hysteresis[1]; | |
1886 ((T_TR_MPHC_CHANNEL_ASSIGN_REQ *)(ptr))->hysteresis[2] = ((T_MPHC_CHANNEL_ASSIGN_REQ *)(msg->SigP))->amr_configuration.hysteresis[2]; | |
1887 #endif | |
1888 | |
1889 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_CHANNEL_ASSIGN_REQ)); | |
1890 } | |
1891 } | |
1892 break; | |
1893 | |
1894 case MPHC_CHANNEL_ASSIGN_CON: | |
1895 { | |
1896 char *ptr; | |
1897 | |
1898 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_CHANNEL_ASSIGN_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1899 { | |
1900 | |
1901 ((T_TR_MPHC_CHANNEL_ASSIGN_CON *)(ptr))->header = TRL1_MPHC_CHANNEL_ASSIGN_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1902 | |
1903 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_CHANNEL_ASSIGN_CON)); | |
1904 } | |
1905 } | |
1906 break; | |
1907 | |
1908 // SACCH reception | |
1909 | |
1910 case L1C_SACCH_INFO: | |
1911 { | |
1912 char *ptr; | |
1913 | |
1914 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_SACCH_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1915 { | |
1916 | |
1917 ((T_TR_L1C_SACCH_INFO *)(ptr))->header = TRL1_L1C_SACCH_INFO | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1918 ((T_TR_L1C_SACCH_INFO *)(ptr))->error_cause = ((T_PH_DATA_IND *)(msg->SigP))->error_cause; | |
1919 ((T_TR_L1C_SACCH_INFO *)(ptr))->rf_chan_num = ((T_PH_DATA_IND *)(msg->SigP))->rf_chan_num; | |
1920 ((T_TR_L1C_SACCH_INFO *)(ptr))->beacon_input_level = l1a_l1s_com.Scell_info.traffic_meas_beacon.input_level; | |
1921 ((T_TR_L1C_SACCH_INFO *)(ptr))->input_level = l1a_l1s_com.Scell_info.traffic_meas.input_level; | |
1922 ((T_TR_L1C_SACCH_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
1923 ((T_TR_L1C_SACCH_INFO *)(ptr))->afc = l1s.afc; | |
1924 | |
1925 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_SACCH_INFO)); | |
1926 } | |
1927 } | |
1928 break; | |
1929 | |
1930 // Channel modification | |
1931 | |
1932 case MPHC_CHANGE_FREQUENCY: | |
1933 { | |
1934 char *ptr; | |
1935 | |
1936 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_CHANGE_FREQUENCY), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1937 { | |
1938 | |
1939 ((T_TR_MPHC_CHANGE_FREQUENCY *)(ptr))->header = TRL1_MPHC_CHANGE_FREQUENCY | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1940 ((T_TR_MPHC_CHANGE_FREQUENCY *)(ptr))->h = ((T_MPHC_CHANGE_FREQUENCY *)(msg->SigP))->channel_desc.chan_sel.h; | |
1941 ((T_TR_MPHC_CHANGE_FREQUENCY *)(ptr))->radio_freq = ((T_MPHC_CHANGE_FREQUENCY *)(msg->SigP))->channel_desc.chan_sel.rf_channel.single_rf.radio_freq; | |
1942 ((T_TR_MPHC_CHANGE_FREQUENCY *)(ptr))->channel_type = ((T_MPHC_CHANGE_FREQUENCY *)(msg->SigP))->channel_desc.channel_type; | |
1943 ((T_TR_MPHC_CHANGE_FREQUENCY *)(ptr))->subchannel = ((T_MPHC_CHANGE_FREQUENCY *)(msg->SigP))->channel_desc.subchannel; | |
1944 ((T_TR_MPHC_CHANGE_FREQUENCY *)(ptr))->timeslot_no = ((T_MPHC_CHANGE_FREQUENCY *)(msg->SigP))->channel_desc.timeslot_no; | |
1945 ((T_TR_MPHC_CHANGE_FREQUENCY *)(ptr))->tsc = ((T_MPHC_CHANGE_FREQUENCY *)(msg->SigP))->channel_desc.tsc; | |
1946 ((T_TR_MPHC_CHANGE_FREQUENCY *)(ptr))->rf_chan_cnt = ((T_MPHC_CHANGE_FREQUENCY *)(msg->SigP))->frequency_list.rf_chan_cnt; | |
1947 ((T_TR_MPHC_CHANGE_FREQUENCY *)(ptr))->start_time_present = ((T_MPHC_CHANGE_FREQUENCY *)(msg->SigP))->starting_time.start_time_present; | |
1948 ((T_TR_MPHC_CHANGE_FREQUENCY *)(ptr))->n32 = ((T_MPHC_CHANGE_FREQUENCY *)(msg->SigP))->starting_time.start_time.n32; | |
1949 ((T_TR_MPHC_CHANGE_FREQUENCY *)(ptr))->n51 = ((T_MPHC_CHANGE_FREQUENCY *)(msg->SigP))->starting_time.start_time.n51; | |
1950 ((T_TR_MPHC_CHANGE_FREQUENCY *)(ptr))->n26 = ((T_MPHC_CHANGE_FREQUENCY *)(msg->SigP))->starting_time.start_time.n26; | |
1951 | |
1952 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_CHANGE_FREQUENCY)); | |
1953 } | |
1954 } | |
1955 break; | |
1956 | |
1957 case L1C_REDEF_DONE: | |
1958 { | |
1959 char *ptr; | |
1960 | |
1961 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_REDEF_DONE), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1962 { | |
1963 | |
1964 ((T_TR_L1C_REDEF_DONE *)(ptr))->header = TRL1_L1C_REDEF_DONE | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1965 | |
1966 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_REDEF_DONE)); | |
1967 } | |
1968 } | |
1969 break; | |
1970 | |
1971 case MPHC_CHANNEL_MODE_MODIFY_REQ: | |
1972 { | |
1973 char *ptr; | |
1974 | |
1975 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
1976 { | |
1977 ((T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ *)(ptr))->header = TRL1_MPHC_CHANNEL_MODE_MODIFY_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
1978 ((T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ *)(ptr))->subchannel = ((T_MPHC_CHANNEL_MODE_MODIFY_REQ *)(msg->SigP))->subchannel; | |
1979 ((T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ *)(ptr))->channel_mode = ((T_MPHC_CHANNEL_MODE_MODIFY_REQ *)(msg->SigP))->channel_mode; | |
1980 | |
1981 #if (AMR == 1) | |
1982 ((T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ *)(ptr))->noise_suppression_bit = ((T_MPHC_CHANNEL_MODE_MODIFY_REQ *)(msg->SigP))->amr_configuration.noise_suppression_bit; | |
1983 ((T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ *)(ptr))->initial_codec_mode_indicator = ((T_MPHC_CHANNEL_MODE_MODIFY_REQ *)(msg->SigP))->amr_configuration.initial_codec_mode_indicator; | |
1984 ((T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ *)(ptr))->initial_codec_mode = ((T_MPHC_CHANNEL_MODE_MODIFY_REQ *)(msg->SigP))->amr_configuration.initial_codec_mode; | |
1985 ((T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ *)(ptr))->active_codec_set = ((T_MPHC_CHANNEL_MODE_MODIFY_REQ *)(msg->SigP))->amr_configuration.active_codec_set; | |
1986 ((T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ *)(ptr))->threshold[0] = ((T_MPHC_CHANNEL_MODE_MODIFY_REQ *)(msg->SigP))->amr_configuration.threshold[0]; | |
1987 ((T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ *)(ptr))->threshold[1] = ((T_MPHC_CHANNEL_MODE_MODIFY_REQ *)(msg->SigP))->amr_configuration.threshold[1]; | |
1988 ((T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ *)(ptr))->threshold[2] = ((T_MPHC_CHANNEL_MODE_MODIFY_REQ *)(msg->SigP))->amr_configuration.threshold[2]; | |
1989 ((T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ *)(ptr))->hysteresis[0] = ((T_MPHC_CHANNEL_MODE_MODIFY_REQ *)(msg->SigP))->amr_configuration.hysteresis[0]; | |
1990 ((T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ *)(ptr))->hysteresis[1] = ((T_MPHC_CHANNEL_MODE_MODIFY_REQ *)(msg->SigP))->amr_configuration.hysteresis[1]; | |
1991 ((T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ *)(ptr))->hysteresis[2] = ((T_MPHC_CHANNEL_MODE_MODIFY_REQ *)(msg->SigP))->amr_configuration.hysteresis[2]; | |
1992 #endif | |
1993 | |
1994 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_CHANNEL_MODE_MODIFY_REQ)); | |
1995 } | |
1996 } | |
1997 break; | |
1998 | |
1999 // Ciphering | |
2000 | |
2001 case MPHC_SET_CIPHERING_REQ: | |
2002 { | |
2003 char *ptr; | |
2004 | |
2005 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_SET_CIPHERING_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2006 { | |
2007 | |
2008 ((T_TR_MPHC_SET_CIPHERING_REQ *)(ptr))->header = TRL1_MPHC_SET_CIPHERING_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2009 ((T_TR_MPHC_SET_CIPHERING_REQ *)(ptr))->cipher_mode = ((T_MPHC_SET_CIPHERING_REQ *)(msg->SigP))->cipher_mode; | |
2010 ((T_TR_MPHC_SET_CIPHERING_REQ *)(ptr))->a5_algorithm = ((T_MPHC_SET_CIPHERING_REQ *)(msg->SigP))->a5_algorithm; | |
2011 ((T_TR_MPHC_SET_CIPHERING_REQ *)(ptr))->A[0] = ((T_MPHC_SET_CIPHERING_REQ *)(msg->SigP))->new_ciph_param.A[0]; | |
2012 ((T_TR_MPHC_SET_CIPHERING_REQ *)(ptr))->A[1] = ((T_MPHC_SET_CIPHERING_REQ *)(msg->SigP))->new_ciph_param.A[1]; | |
2013 ((T_TR_MPHC_SET_CIPHERING_REQ *)(ptr))->A[2] = ((T_MPHC_SET_CIPHERING_REQ *)(msg->SigP))->new_ciph_param.A[2]; | |
2014 ((T_TR_MPHC_SET_CIPHERING_REQ *)(ptr))->A[3] = ((T_MPHC_SET_CIPHERING_REQ *)(msg->SigP))->new_ciph_param.A[3]; | |
2015 ((T_TR_MPHC_SET_CIPHERING_REQ *)(ptr))->A[4] = ((T_MPHC_SET_CIPHERING_REQ *)(msg->SigP))->new_ciph_param.A[4]; | |
2016 ((T_TR_MPHC_SET_CIPHERING_REQ *)(ptr))->A[5] = ((T_MPHC_SET_CIPHERING_REQ *)(msg->SigP))->new_ciph_param.A[5]; | |
2017 ((T_TR_MPHC_SET_CIPHERING_REQ *)(ptr))->A[6] = ((T_MPHC_SET_CIPHERING_REQ *)(msg->SigP))->new_ciph_param.A[6]; | |
2018 ((T_TR_MPHC_SET_CIPHERING_REQ *)(ptr))->A[7] = ((T_MPHC_SET_CIPHERING_REQ *)(msg->SigP))->new_ciph_param.A[7]; | |
2019 | |
2020 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_SET_CIPHERING_REQ)); | |
2021 } | |
2022 } | |
2023 break; | |
2024 | |
2025 // Generic stop | |
2026 | |
2027 case MPHC_STOP_DEDICATED_REQ: | |
2028 { | |
2029 char *ptr; | |
2030 | |
2031 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_STOP_DEDICATED_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2032 { | |
2033 | |
2034 ((T_TR_MPHC_STOP_DEDICATED_REQ *)(ptr))->header = TRL1_MPHC_STOP_DEDICATED_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2035 | |
2036 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_STOP_DEDICATED_REQ)); | |
2037 } | |
2038 } | |
2039 break; | |
2040 | |
2041 case MPHC_STOP_DEDICATED_CON: | |
2042 { | |
2043 char *ptr; | |
2044 | |
2045 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_STOP_DEDICATED_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2046 { | |
2047 | |
2048 ((T_TR_MPHC_STOP_DEDICATED_CON *)(ptr))->header = TRL1_MPHC_STOP_DEDICATED_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2049 | |
2050 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_STOP_DEDICATED_CON)); | |
2051 } | |
2052 } | |
2053 break; | |
2054 | |
2055 case L1C_STOP_DEDICATED_DONE: | |
2056 { | |
2057 char *ptr; | |
2058 | |
2059 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_STOP_DEDICATED_DONE), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2060 { | |
2061 | |
2062 ((T_TR_L1C_STOP_DEDICATED_DONE *)(ptr))->header = TRL1_L1C_STOP_DEDICATED_DONE | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2063 | |
2064 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_STOP_DEDICATED_DONE)); | |
2065 } | |
2066 } | |
2067 break; | |
2068 | |
2069 ////////////// | |
2070 // HANDOVER // | |
2071 ////////////// | |
2072 | |
2073 // Asynchronous handover request | |
2074 | |
2075 case MPHC_ASYNC_HO_REQ: | |
2076 { | |
2077 #define msg_aho ((T_MPHC_ASYNC_HO_REQ *)(msg->SigP)) | |
2078 | |
2079 char *ptr; | |
2080 | |
2081 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_ASYNC_HO_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2082 { | |
2083 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->header = TRL1_MPHC_ASYNC_HO_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2084 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->ncc = msg_aho->handover_command.cell_description.ncc; | |
2085 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->bcc = msg_aho->handover_command.cell_description.bcc; | |
2086 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->bcch_carrier = msg_aho->handover_command.cell_description.bcch_carrier; | |
2087 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->h = msg_aho->handover_command.channel_desc_1.chan_sel.h; | |
2088 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->radio_freq = msg_aho->handover_command.channel_desc_1.chan_sel.rf_channel.single_rf.radio_freq; | |
2089 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->channel_type = msg_aho->handover_command.channel_desc_1.channel_type; | |
2090 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->subchannel = msg_aho->handover_command.channel_desc_1.subchannel; | |
2091 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->timeslot_no = msg_aho->handover_command.channel_desc_1.timeslot_no; | |
2092 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->tsc = msg_aho->handover_command.channel_desc_1.tsc; | |
2093 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->channel_mode_1 = msg_aho->handover_command.channel_mode_1; | |
2094 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->txpwr = msg_aho->handover_command.txpwr; | |
2095 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->rf_chan_cnt = msg_aho->handover_command.frequency_list.rf_chan_cnt; | |
2096 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->starting_time_present = msg_aho->handover_command.starting_time.start_time_present; | |
2097 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->n32 = msg_aho->handover_command.starting_time.start_time.n32; | |
2098 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->n51 = msg_aho->handover_command.starting_time.start_time.n51; | |
2099 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->n26 = msg_aho->handover_command.starting_time.start_time.n26; | |
2100 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->ho_acc = msg_aho->handover_command.ho_acc; | |
2101 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->report_time_diff = msg_aho->handover_command.report_time_diff; | |
2102 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->bef_sti_rf_chan_cnt = msg_aho->handover_command.frequency_list_bef_sti.rf_chan_cnt; | |
2103 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->cipher_mode = msg_aho->handover_command.cipher_mode; | |
2104 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->a5_algorithm = msg_aho->handover_command.a5_algorithm; | |
2105 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->fn_offset = msg_aho->fn_offset; | |
2106 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->time_alignmt = msg_aho->time_alignmt; | |
2107 | |
2108 #if (AMR == 1) | |
2109 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->noise_suppression_bit = msg_aho->amr_configuration.noise_suppression_bit; | |
2110 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->initial_codec_mode_indicator = msg_aho->amr_configuration.initial_codec_mode_indicator; | |
2111 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->initial_codec_mode = msg_aho->amr_configuration.initial_codec_mode; | |
2112 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->active_codec_set = msg_aho->amr_configuration.active_codec_set; | |
2113 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->threshold[0] = msg_aho->amr_configuration.threshold[0]; | |
2114 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->threshold[1] = msg_aho->amr_configuration.threshold[1]; | |
2115 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->threshold[2] = msg_aho->amr_configuration.threshold[2]; | |
2116 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->hysteresis[0] = msg_aho->amr_configuration.hysteresis[0]; | |
2117 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->hysteresis[1] = msg_aho->amr_configuration.hysteresis[1]; | |
2118 ((T_TR_MPHC_ASYNC_HO_REQ *)(ptr))->hysteresis[2] = msg_aho->amr_configuration.hysteresis[2]; | |
2119 #endif | |
2120 | |
2121 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_ASYNC_HO_REQ)); | |
2122 } | |
2123 } | |
2124 break; | |
2125 | |
2126 case MPHC_ASYNC_HO_CON: | |
2127 { | |
2128 char *ptr; | |
2129 | |
2130 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_ASYNC_HO_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2131 { | |
2132 | |
2133 ((T_TR_MPHC_ASYNC_HO_CON *)(ptr))->header = TRL1_MPHC_ASYNC_HO_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2134 | |
2135 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_ASYNC_HO_CON)); | |
2136 } | |
2137 } | |
2138 break; | |
2139 | |
2140 // Synchronous handover request | |
2141 | |
2142 case MPHC_SYNC_HO_REQ: | |
2143 case MPHC_PRE_SYNC_HO_REQ: | |
2144 case MPHC_PSEUDO_SYNC_HO_REQ: | |
2145 { | |
2146 #define msg_sho ((T_MPHC_SYNC_HO_REQ *)(msg->SigP)) | |
2147 | |
2148 char *ptr; | |
2149 | |
2150 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_SYNC_HO_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2151 { | |
2152 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->header = TRL1_MPHC_SYNC_HO_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2153 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->ncc = msg_sho->handover_command.cell_description.ncc; | |
2154 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->bcc = msg_sho->handover_command.cell_description.bcc; | |
2155 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->bcch_carrier = msg_sho->handover_command.cell_description.bcch_carrier; | |
2156 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->h = msg_sho->handover_command.channel_desc_1.chan_sel.h; | |
2157 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->radio_freq = msg_sho->handover_command.channel_desc_1.chan_sel.rf_channel.single_rf.radio_freq; | |
2158 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->channel_type = msg_sho->handover_command.channel_desc_1.channel_type; | |
2159 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->subchannel = msg_sho->handover_command.channel_desc_1.subchannel; | |
2160 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->timeslot_no = msg_sho->handover_command.channel_desc_1.timeslot_no; | |
2161 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->tsc = msg_sho->handover_command.channel_desc_1.tsc; | |
2162 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->channel_mode_1 = msg_sho->handover_command.channel_mode_1; | |
2163 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->txpwr = msg_sho->handover_command.txpwr; | |
2164 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->rf_chan_cnt = msg_sho->handover_command.frequency_list.rf_chan_cnt; | |
2165 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->starting_time_present = msg_sho->handover_command.starting_time.start_time_present; | |
2166 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->n32 = msg_sho->handover_command.starting_time.start_time.n32; | |
2167 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->n51 = msg_sho->handover_command.starting_time.start_time.n51; | |
2168 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->n26 = msg_sho->handover_command.starting_time.start_time.n26; | |
2169 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->ho_acc = msg_sho->handover_command.ho_acc; | |
2170 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->report_time_diff = msg_sho->handover_command.report_time_diff; | |
2171 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->bef_sti_rf_chan_cnt = msg_sho->handover_command.frequency_list_bef_sti.rf_chan_cnt; | |
2172 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->cipher_mode = msg_sho->handover_command.cipher_mode; | |
2173 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->a5_algorithm = msg_sho->handover_command.a5_algorithm; | |
2174 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->fn_offset = msg_sho->fn_offset; | |
2175 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->time_alignmt = msg_sho->time_alignmt; | |
2176 | |
2177 #if (AMR == 1) | |
2178 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->noise_suppression_bit = msg_sho->amr_configuration.noise_suppression_bit; | |
2179 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->initial_codec_mode_indicator = msg_sho->amr_configuration.initial_codec_mode_indicator; | |
2180 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->initial_codec_mode = msg_sho->amr_configuration.initial_codec_mode; | |
2181 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->active_codec_set = msg_sho->amr_configuration.active_codec_set; | |
2182 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->threshold[0] = msg_sho->amr_configuration.threshold[0]; | |
2183 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->threshold[1] = msg_sho->amr_configuration.threshold[1]; | |
2184 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->threshold[2] = msg_sho->amr_configuration.threshold[2]; | |
2185 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->hysteresis[0] = msg_sho->amr_configuration.hysteresis[0]; | |
2186 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->hysteresis[1] = msg_sho->amr_configuration.hysteresis[1]; | |
2187 ((T_TR_MPHC_SYNC_HO_REQ *)(ptr))->hysteresis[2] = msg_sho->amr_configuration.hysteresis[2]; | |
2188 #endif | |
2189 | |
2190 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_SYNC_HO_REQ)); | |
2191 } | |
2192 } | |
2193 break; | |
2194 | |
2195 case MPHC_SYNC_HO_CON: | |
2196 case MPHC_PRE_SYNC_HO_CON: | |
2197 { | |
2198 char *ptr; | |
2199 | |
2200 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_SYNC_HO_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2201 { | |
2202 | |
2203 ((T_TR_MPHC_SYNC_HO_CON *)(ptr))->header = TRL1_MPHC_SYNC_HO_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2204 | |
2205 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_SYNC_HO_CON)); | |
2206 } | |
2207 } | |
2208 break; | |
2209 | |
2210 case L1C_HANDOVER_FINISHED: | |
2211 { | |
2212 char *ptr; | |
2213 | |
2214 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_HANDOVER_FINISHED), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2215 { | |
2216 | |
2217 ((T_TR_L1C_HANDOVER_FINISHED *)(ptr))->header = TRL1_L1C_HANDOVER_FINISHED | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2218 ((T_TR_L1C_HANDOVER_FINISHED *)(ptr))->cause = ((T_MPHC_HANDOVER_FINISHED *)(msg->SigP))->cause; | |
2219 #if ((REL99 == 1) && (FF_BHO == 1)) | |
2220 ((T_TR_L1C_HANDOVER_FINISHED *)(ptr))->fn_offset = ((T_MPHC_HANDOVER_FINISHED *)(msg->SigP))->fn_offset; | |
2221 ((T_TR_L1C_HANDOVER_FINISHED *)(ptr))->time_alignment = ((T_MPHC_HANDOVER_FINISHED *)(msg->SigP))->time_alignment; | |
2222 #endif | |
2223 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_HANDOVER_FINISHED)); | |
2224 } | |
2225 } | |
2226 break; | |
2227 | |
2228 case MPHC_TA_FAIL_IND: | |
2229 { | |
2230 char *ptr; | |
2231 | |
2232 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_TA_FAIL_IND), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2233 { | |
2234 | |
2235 ((T_TR_MPHC_TA_FAIL_IND *)(ptr))->header = TRL1_MPHC_TA_FAIL_IND | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2236 | |
2237 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_TA_FAIL_IND)); | |
2238 } | |
2239 } | |
2240 break; | |
2241 | |
2242 // Handover failure | |
2243 | |
2244 case MPHC_HANDOVER_FAIL_REQ: | |
2245 { | |
2246 char *ptr; | |
2247 | |
2248 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_HANDOVER_FAIL_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2249 { | |
2250 | |
2251 ((T_TR_MPHC_HANDOVER_FAIL_REQ *)(ptr))->header = TRL1_MPHC_HANDOVER_FAIL_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2252 | |
2253 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_HANDOVER_FAIL_REQ)); | |
2254 } | |
2255 } | |
2256 break; | |
2257 | |
2258 case MPHC_HANDOVER_FAIL_CON: | |
2259 { | |
2260 char *ptr; | |
2261 | |
2262 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_HANDOVER_FAIL_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2263 { | |
2264 | |
2265 ((T_TR_MPHC_HANDOVER_FAIL_CON *)(ptr))->header = TRL1_MPHC_HANDOVER_FAIL_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2266 | |
2267 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_HANDOVER_FAIL_CON)); | |
2268 } | |
2269 } | |
2270 break; | |
2271 | |
2272 ////////////////// | |
2273 // Measurements // | |
2274 ////////////////// | |
2275 | |
2276 // Cell selection / PLMN selection / Extended measurements | |
2277 | |
2278 case MPHC_RXLEV_REQ: | |
2279 { | |
2280 char *ptr; | |
2281 | |
2282 trace_info.rxlev_req_count ++; | |
2283 | |
2284 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_RXLEV_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2285 { | |
2286 | |
2287 ((T_TR_MPHC_RXLEV_REQ *)(ptr))->header = TRL1_MPHC_RXLEV_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2288 ((T_TR_MPHC_RXLEV_REQ *)(ptr))->power_array_size = ((T_MPHC_RXLEV_REQ *)(msg->SigP))->power_array_size; | |
2289 | |
2290 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_RXLEV_REQ)); | |
2291 } | |
2292 } | |
2293 break; | |
2294 | |
2295 case MPHC_STOP_RXLEV_REQ: | |
2296 { | |
2297 char *ptr; | |
2298 | |
2299 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_STOP_RXLEV_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2300 { | |
2301 | |
2302 ((T_TR_MPHC_STOP_RXLEV_REQ *)(ptr))->header = TRL1_MPHC_STOP_RXLEV_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2303 | |
2304 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_STOP_RXLEV_REQ)); | |
2305 } | |
2306 } | |
2307 break; | |
2308 | |
2309 case L1C_VALID_MEAS_INFO: | |
2310 { | |
2311 char *ptr; | |
2312 | |
2313 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_VALID_MEAS_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2314 { | |
2315 ((T_TR_L1C_VALID_MEAS_INFO *)(ptr))->header = TRL1_L1C_VALID_MEAS_INFO | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2316 ((T_TR_L1C_VALID_MEAS_INFO *)(ptr))->power_array_size = l1a_l1s_com.full_list_ptr->power_array_size; | |
2317 ((T_TR_L1C_VALID_MEAS_INFO *)(ptr))->rxlev_req_count = trace_info.rxlev_req_count; | |
2318 | |
2319 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_VALID_MEAS_INFO)); | |
2320 } | |
2321 | |
2322 if (trace_info.rxlev_req_count == 5) | |
2323 { | |
2324 trace_info.rxlev_req_count = 0; | |
2325 | |
2326 if (trace_info.current_config->l1_dyn_trace & 1<<L1_DYN_TRACE_FULL_LIST_REPORT) | |
2327 { | |
2328 UWORD16 index = 0; | |
2329 UWORD16 size = l1a_l1s_com.full_list_ptr->power_array_size * 4; | |
2330 UWORD8 i; | |
2331 | |
2332 while (size > 0) | |
2333 { | |
2334 UWORD16 item_size = size; | |
2335 | |
2336 // Split buffer in several buffers with size inferior to 240 (RVT limitation to 255) | |
2337 // Header not inluded (+8b) | |
2338 if (item_size > 240) item_size = 240; | |
2339 | |
2340 if (rvt_mem_alloc(trace_info.l1_trace_user_id, item_size + sizeof(T_TR_FULL_LIST_REPORT) - sizeof(UWORD32), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2341 { | |
2342 ((T_TR_FULL_LIST_REPORT *)(ptr))->header = TRL1_FULL_LIST_REPORT | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2343 ((T_TR_FULL_LIST_REPORT *)(ptr))->size = (item_size >> 2); | |
2344 | |
2345 for (i=0; i<(item_size >> 2); i++) | |
2346 { | |
2347 ((T_TR_FULL_LIST_REPORT *)(ptr))->content[i] = l1a_l1s_com.full_list_ptr->power_array[index].radio_freq; | |
2348 ((T_TR_FULL_LIST_REPORT *)(ptr))->content[i] |= l1a_l1s_com.full_list_ptr->power_array[index].accum_power_result << 16; | |
2349 index++; | |
2350 } | |
2351 | |
2352 size -= item_size; | |
2353 | |
2354 L1_send_trace_no_cpy(ptr,item_size + sizeof(T_TR_FULL_LIST_REPORT) - sizeof(UWORD32)); | |
2355 } | |
2356 else | |
2357 break; | |
2358 } | |
2359 } | |
2360 } // 5th attempt | |
2361 } | |
2362 break; | |
2363 | |
2364 // Idle mode BA list | |
2365 | |
2366 case MPHC_RXLEV_PERIODIC_REQ: | |
2367 { | |
2368 char *ptr; | |
2369 | |
2370 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_RXLEV_PERIODIC_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2371 { | |
2372 | |
2373 ((T_TR_MPHC_RXLEV_PERIODIC_REQ *)(ptr))->header = TRL1_MPHC_RXLEV_PERIODIC_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2374 ((T_TR_MPHC_RXLEV_PERIODIC_REQ *)(ptr))->num_of_chans = ((T_MPHC_RXLEV_PERIODIC_REQ *)(msg->SigP))->num_of_chans; | |
2375 ((T_TR_MPHC_RXLEV_PERIODIC_REQ *)(ptr))->ba_id = ((T_MPHC_RXLEV_PERIODIC_REQ *)(msg->SigP))->ba_id; | |
2376 ((T_TR_MPHC_RXLEV_PERIODIC_REQ *)(ptr))->next_radio_freq_measured = ((T_MPHC_RXLEV_PERIODIC_REQ *)(msg->SigP))->next_radio_freq_measured; | |
2377 | |
2378 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_RXLEV_PERIODIC_REQ)); | |
2379 } | |
2380 } | |
2381 break; | |
2382 | |
2383 case MPHC_STOP_RXLEV_PERIODIC_REQ: | |
2384 { | |
2385 char *ptr; | |
2386 | |
2387 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_STOP_RXLEV_PERIODIC_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2388 { | |
2389 | |
2390 ((T_TR_MPHC_STOP_RXLEV_PERIODIC_REQ *)(ptr))->header = TRL1_MPHC_STOP_RXLEV_PERIODIC_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2391 | |
2392 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_STOP_RXLEV_PERIODIC_REQ)); | |
2393 } | |
2394 } | |
2395 break; | |
2396 | |
2397 case L1C_RXLEV_PERIODIC_DONE: | |
2398 { | |
2399 char *ptr; | |
2400 | |
2401 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_RXLEV_PERIODIC_DONE), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2402 { | |
2403 | |
2404 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->header = TRL1_L1C_RXLEV_PERIODIC_DONE | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2405 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->ba_id = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->ba_id; | |
2406 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->s_rxlev = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->s_rxlev; | |
2407 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->radio_freq_no[0] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[0].radio_freq_no; | |
2408 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->radio_freq_no[1] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[1].radio_freq_no; | |
2409 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->radio_freq_no[2] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[2].radio_freq_no; | |
2410 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->radio_freq_no[3] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[3].radio_freq_no; | |
2411 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->radio_freq_no[4] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[4].radio_freq_no; | |
2412 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->radio_freq_no[5] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[5].radio_freq_no; | |
2413 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->radio_freq_no[6] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[6].radio_freq_no; | |
2414 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->radio_freq_no[7] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[7].radio_freq_no; | |
2415 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->rxlev[0] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[0].rxlev; | |
2416 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->rxlev[1] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[1].rxlev; | |
2417 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->rxlev[2] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[2].rxlev; | |
2418 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->rxlev[3] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[3].rxlev; | |
2419 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->rxlev[4] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[4].rxlev; | |
2420 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->rxlev[5] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[5].rxlev; | |
2421 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->rxlev[6] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[6].rxlev; | |
2422 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->rxlev[7] = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->A[7].rxlev; | |
2423 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->qual_acc_idle = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->qual_acc_idle; | |
2424 ((T_TR_L1C_RXLEV_PERIODIC_DONE *)(ptr))->qual_nbr_meas_idle = ((T_MPHC_RXLEV_PERIODIC_IND *)(msg->SigP))->qual_nbr_meas_idle; | |
2425 | |
2426 | |
2427 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_RXLEV_PERIODIC_DONE)); | |
2428 } | |
2429 } | |
2430 break; | |
2431 | |
2432 | |
2433 // Dedicated mode BA list | |
2434 | |
2435 case MPHC_MEAS_REPORT: | |
2436 { | |
2437 char *ptr; | |
2438 | |
2439 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1C_MEAS_DONE), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2440 { | |
2441 | |
2442 ((T_TR_L1C_MEAS_DONE *)(ptr))->header = TRL1_L1C_MEAS_DONE | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2443 ((T_TR_L1C_MEAS_DONE *)(ptr))->meas_valid = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->meas_valid; | |
2444 ((T_TR_L1C_MEAS_DONE *)(ptr))->txpwr_used = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->txpwr_used; | |
2445 ((T_TR_L1C_MEAS_DONE *)(ptr))->timing_advance = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->timing_advance; | |
2446 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_full_acc = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->rxlev_full_acc; | |
2447 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_full_nbr_meas = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->rxlev_full_nbr_meas; | |
2448 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_sub_acc = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->rxlev_sub_acc; | |
2449 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_sub_nbr_meas = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->rxlev_sub_nbr_meas; | |
2450 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxqual_full_acc_errors = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->rxqual_full_acc_errors; | |
2451 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxqual_full_nbr_bits = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->rxqual_full_nbr_bits; | |
2452 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxqual_sub_acc_errors = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->rxqual_sub_acc_errors; | |
2453 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxqual_sub_nbr_bits = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->rxqual_sub_nbr_bits; | |
2454 #if(REL99) | |
2455 #if(FF_EMR) | |
2456 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_val_acc; = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->rxlev_val_acc; | |
2457 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_val_nbr_meas; = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->rxlev_val_nbr_meas; | |
2458 ((T_TR_L1C_MEAS_DONE *)(ptr))->mean_bep_block_acc; = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->mean_bep_block_acc; | |
2459 ((T_TR_L1C_MEAS_DONE *)(ptr))->cv_bep_block_acc; = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->cv_bep_block_acc; | |
2460 ((T_TR_L1C_MEAS_DONE *)(ptr))->mean_bep_block_num; = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->mean_bep_block_num; | |
2461 ((T_TR_L1C_MEAS_DONE *)(ptr))->cv_bep_block_num; = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->cv_bep_block_num; | |
2462 ((T_TR_L1C_MEAS_DONE *)(ptr))->nbr_rcvd_blocks; = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->nbr_rcvd_blocks; | |
2463 #endif | |
2464 #endif | |
2465 ((T_TR_L1C_MEAS_DONE *)(ptr))->facch_ul_count = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->facch_ul_count; | |
2466 ((T_TR_L1C_MEAS_DONE *)(ptr))->facch_dl_count = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->facch_dl_count; | |
2467 ((T_TR_L1C_MEAS_DONE *)(ptr))->bcch_freq[0] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[0].bcch_freq; | |
2468 ((T_TR_L1C_MEAS_DONE *)(ptr))->bcch_freq[1] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[1].bcch_freq; | |
2469 ((T_TR_L1C_MEAS_DONE *)(ptr))->bcch_freq[2] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[2].bcch_freq; | |
2470 ((T_TR_L1C_MEAS_DONE *)(ptr))->bcch_freq[3] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[3].bcch_freq; | |
2471 ((T_TR_L1C_MEAS_DONE *)(ptr))->bcch_freq[4] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[4].bcch_freq; | |
2472 ((T_TR_L1C_MEAS_DONE *)(ptr))->bcch_freq[5] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[5].bcch_freq; | |
2473 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_acc[0] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[0].rxlev_acc; | |
2474 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_acc[1] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[1].rxlev_acc; | |
2475 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_acc[2] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[2].rxlev_acc; | |
2476 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_acc[3] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[3].rxlev_acc; | |
2477 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_acc[4] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[4].rxlev_acc; | |
2478 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_acc[5] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[5].rxlev_acc; | |
2479 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_nbr_meas[0] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[0].rxlev_nbr_meas; | |
2480 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_nbr_meas[1] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[1].rxlev_nbr_meas; | |
2481 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_nbr_meas[2] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[2].rxlev_nbr_meas; | |
2482 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_nbr_meas[3] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[3].rxlev_nbr_meas; | |
2483 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_nbr_meas[4] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[4].rxlev_nbr_meas; | |
2484 ((T_TR_L1C_MEAS_DONE *)(ptr))->rxlev_nbr_meas[5] = ((T_MPHC_MEAS_REPORT *)(msg->SigP))->ncell_meas.A[5].rxlev_nbr_meas; | |
2485 | |
2486 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1C_MEAS_DONE)); | |
2487 } | |
2488 } | |
2489 break; | |
2490 | |
2491 // Update BA list | |
2492 | |
2493 case MPHC_UPDATE_BA_LIST: | |
2494 { | |
2495 char *ptr; | |
2496 | |
2497 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHC_UPDATE_BA_LIST), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2498 { | |
2499 | |
2500 ((T_TR_MPHC_UPDATE_BA_LIST *)(ptr))->header = TRL1_MPHC_UPDATE_BA_LIST | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2501 ((T_TR_MPHC_UPDATE_BA_LIST *)(ptr))->num_of_chans = ((T_MPHC_UPDATE_BA_LIST *)(msg->SigP))->num_of_chans; | |
2502 ((T_TR_MPHC_UPDATE_BA_LIST *)(ptr))->pwrc = ((T_MPHC_UPDATE_BA_LIST *)(msg->SigP))->pwrc; | |
2503 ((T_TR_MPHC_UPDATE_BA_LIST *)(ptr))->dtx_allowed = ((T_MPHC_UPDATE_BA_LIST *)(msg->SigP))->dtx_allowed; | |
2504 ((T_TR_MPHC_UPDATE_BA_LIST *)(ptr))->ba_id = ((T_MPHC_UPDATE_BA_LIST *)(msg->SigP))->ba_id; | |
2505 | |
2506 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHC_UPDATE_BA_LIST)); | |
2507 } | |
2508 } | |
2509 break; | |
2510 | |
2511 #if L1_GPRS | |
2512 | |
2513 /********************************************************************************/ | |
2514 /* PACKET SWITCHED */ | |
2515 /********************************************************************************/ | |
2516 | |
2517 ////////////////////////////// | |
2518 // Neighbor cell monitoring // | |
2519 ////////////////////////////// | |
2520 | |
2521 // Neighbor PBCCH reading | |
2522 | |
2523 case MPHP_NCELL_PBCCH_REQ: | |
2524 { | |
2525 char *ptr; | |
2526 | |
2527 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_NCELL_PBCCH_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2528 { | |
2529 | |
2530 ((T_TR_MPHP_NCELL_PBCCH_REQ *)(ptr))->header = TRL1_MPHP_NCELL_PBCCH_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2531 ((T_TR_MPHP_NCELL_PBCCH_REQ *)(ptr))->bs_pbcch_blks = ((T_MPHP_NCELL_PBCCH_REQ *)(msg->SigP))->bs_pbcch_blks; | |
2532 ((T_TR_MPHP_NCELL_PBCCH_REQ *)(ptr))->pb = ((T_MPHP_NCELL_PBCCH_REQ *)(msg->SigP))->pb; | |
2533 ((T_TR_MPHP_NCELL_PBCCH_REQ *)(ptr))->psi1_repeat_period = ((T_MPHP_NCELL_PBCCH_REQ *)(msg->SigP))->psi1_repeat_period; | |
2534 ((T_TR_MPHP_NCELL_PBCCH_REQ *)(ptr))->relative_position = ((T_MPHP_NCELL_PBCCH_REQ *)(msg->SigP))->relative_position; | |
2535 ((T_TR_MPHP_NCELL_PBCCH_REQ *)(ptr))->h = ((T_MPHP_NCELL_PBCCH_REQ *)(msg->SigP))->packet_chn_desc.chan_sel.h; | |
2536 ((T_TR_MPHP_NCELL_PBCCH_REQ *)(ptr))->radio_freq = ((T_MPHP_NCELL_PBCCH_REQ *)(msg->SigP))->packet_chn_desc.chan_sel.rf_channel.single_rf.radio_freq; | |
2537 ((T_TR_MPHP_NCELL_PBCCH_REQ *)(ptr))->timeslot_no = ((T_MPHP_NCELL_PBCCH_REQ *)(msg->SigP))->packet_chn_desc.timeslot_no; | |
2538 ((T_TR_MPHP_NCELL_PBCCH_REQ *)(ptr))->tsc = ((T_MPHP_NCELL_PBCCH_REQ *)(msg->SigP))->packet_chn_desc.tsc; | |
2539 ((T_TR_MPHP_NCELL_PBCCH_REQ *)(ptr))->rf_chan_cnt = ((T_MPHP_NCELL_PBCCH_REQ *)(msg->SigP))->frequency_list.rf_chan_cnt; | |
2540 ((T_TR_MPHP_NCELL_PBCCH_REQ *)(ptr))->bcch_carrier = ((T_MPHP_NCELL_PBCCH_REQ *)(msg->SigP))->bcch_carrier; | |
2541 ((T_TR_MPHP_NCELL_PBCCH_REQ *)(ptr))->fn_offset = ((T_MPHP_NCELL_PBCCH_REQ *)(msg->SigP))->fn_offset; | |
2542 ((T_TR_MPHP_NCELL_PBCCH_REQ *)(ptr))->time_alignment = ((T_MPHP_NCELL_PBCCH_REQ *)(msg->SigP))->time_alignment; | |
2543 | |
2544 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_NCELL_PBCCH_REQ)); | |
2545 } | |
2546 } | |
2547 break; | |
2548 | |
2549 case MPHP_NCELL_PBCCH_STOP_REQ: | |
2550 { | |
2551 char *ptr; | |
2552 | |
2553 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_NCELL_PBCCH_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2554 { | |
2555 | |
2556 ((T_TR_MPHP_NCELL_PBCCH_STOP_REQ *)(ptr))->header = TRL1_MPHP_NCELL_PBCCH_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2557 | |
2558 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_NCELL_PBCCH_STOP_REQ)); | |
2559 } | |
2560 } | |
2561 break; | |
2562 | |
2563 case L1P_PBCCHN_INFO: | |
2564 { | |
2565 char *ptr; | |
2566 | |
2567 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_PBCCHN_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2568 { | |
2569 | |
2570 ((T_TR_L1P_PBCCHN_INFO *)(ptr))->header = TRL1_L1P_PBCCHN_INFO | (((T_MPHP_DATA_IND *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
2571 ((T_TR_L1P_PBCCHN_INFO *)(ptr))->error_flag = ((T_MPHP_DATA_IND *)(msg->SigP))->error_flag; | |
2572 ((T_TR_L1P_PBCCHN_INFO *)(ptr))->radio_freq = ((T_MPHP_DATA_IND *)(msg->SigP))->radio_freq; | |
2573 ((T_TR_L1P_PBCCHN_INFO *)(ptr))->relative_position = ((T_MPHP_DATA_IND *)(msg->SigP))->relative_position; | |
2574 ((T_TR_L1P_PBCCHN_INFO *)(ptr))->input_level = l1a_l1s_com.last_input_level[l1pa_l1ps_com.pbcchn.bcch_carrier - | |
2575 l1_config.std.radio_freq_index_offset].input_level; | |
2576 ((T_TR_L1P_PBCCHN_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
2577 ((T_TR_L1P_PBCCHN_INFO *)(ptr))->afc = l1s.afc; | |
2578 | |
2579 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_PBCCHN_INFO)); | |
2580 } | |
2581 } | |
2582 break; | |
2583 | |
2584 ////////////////////////////////////////////////////// | |
2585 // Serving cell normal burst reading in packet idle // | |
2586 ////////////////////////////////////////////////////// | |
2587 | |
2588 // PCCCH reading | |
2589 | |
2590 case MPHP_START_PCCCH_REQ: | |
2591 { | |
2592 char *ptr; | |
2593 | |
2594 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_START_PCCCH_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2595 { | |
2596 | |
2597 ((T_TR_MPHP_START_PCCCH_REQ *)(ptr))->header = TRL1_MPHP_START_PCCCH_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2598 ((T_TR_MPHP_START_PCCCH_REQ *)(ptr))->imsimod = ((T_MPHP_START_PCCCH_REQ *)(msg->SigP))->imsimod; | |
2599 ((T_TR_MPHP_START_PCCCH_REQ *)(ptr))->kcn = ((T_MPHP_START_PCCCH_REQ *)(msg->SigP))->kcn; | |
2600 ((T_TR_MPHP_START_PCCCH_REQ *)(ptr))->split_pg_cycle = ((T_MPHP_START_PCCCH_REQ *)(msg->SigP))->split_pg_cycle; | |
2601 ((T_TR_MPHP_START_PCCCH_REQ *)(ptr))->bs_pag_blks_res = ((T_MPHP_START_PCCCH_REQ *)(msg->SigP))->bs_pag_blks_res; | |
2602 ((T_TR_MPHP_START_PCCCH_REQ *)(ptr))->bs_pbcch_blks = ((T_MPHP_START_PCCCH_REQ *)(msg->SigP))->bs_pbcch_blks; | |
2603 ((T_TR_MPHP_START_PCCCH_REQ *)(ptr))->pb = ((T_MPHP_START_PCCCH_REQ *)(msg->SigP))->pb; | |
2604 ((T_TR_MPHP_START_PCCCH_REQ *)(ptr))->page_mode = ((T_MPHP_START_PCCCH_REQ *)(msg->SigP))->page_mode; | |
2605 ((T_TR_MPHP_START_PCCCH_REQ *)(ptr))->h = ((T_MPHP_START_PCCCH_REQ *)(msg->SigP))->packet_chn_desc.chan_sel.h; | |
2606 ((T_TR_MPHP_START_PCCCH_REQ *)(ptr))->radio_freq = ((T_MPHP_START_PCCCH_REQ *)(msg->SigP))->packet_chn_desc.chan_sel.rf_channel.single_rf.radio_freq; | |
2607 ((T_TR_MPHP_START_PCCCH_REQ *)(ptr))->timeslot_no = ((T_MPHP_START_PCCCH_REQ *)(msg->SigP))->packet_chn_desc.timeslot_no; | |
2608 ((T_TR_MPHP_START_PCCCH_REQ *)(ptr))->tsc = ((T_MPHP_START_PCCCH_REQ *)(msg->SigP))->packet_chn_desc.tsc; | |
2609 ((T_TR_MPHP_START_PCCCH_REQ *)(ptr))->rf_chan_cnt = ((T_MPHP_START_PCCCH_REQ *)(msg->SigP))->frequency_list.rf_chan_cnt; | |
2610 | |
2611 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_START_PCCCH_REQ)); | |
2612 } | |
2613 } | |
2614 break; | |
2615 | |
2616 case MPHP_STOP_PCCCH_REQ: | |
2617 { | |
2618 char *ptr; | |
2619 | |
2620 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_STOP_PCCCH_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2621 { | |
2622 | |
2623 ((T_TR_MPHP_STOP_PCCCH_REQ *)(ptr))->header = TRL1_MPHP_STOP_PCCCH_REQ; | |
2624 | |
2625 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_STOP_PCCCH_REQ)); | |
2626 } | |
2627 } | |
2628 break; | |
2629 | |
2630 case L1P_PNP_INFO: | |
2631 { | |
2632 char *ptr; | |
2633 | |
2634 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_PNP_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2635 { | |
2636 | |
2637 ((T_TR_L1P_PNP_INFO *)(ptr))->header = TRL1_L1P_PNP_INFO | (((T_MPHP_DATA_IND *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
2638 ((T_TR_L1P_PNP_INFO *)(ptr))->error_flag = ((T_MPHP_DATA_IND *)(msg->SigP))->error_flag; | |
2639 ((T_TR_L1P_PNP_INFO *)(ptr))->radio_freq = ((T_MPHP_DATA_IND *)(msg->SigP))->radio_freq; | |
2640 ((T_TR_L1P_PNP_INFO *)(ptr))->relative_position = ((T_MPHP_DATA_IND *)(msg->SigP))->relative_position; | |
2641 ((T_TR_L1P_PNP_INFO *)(ptr))->input_level = l1a_l1s_com.Scell_IL_for_rxlev; | |
2642 ((T_TR_L1P_PNP_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
2643 ((T_TR_L1P_PNP_INFO *)(ptr))->afc = l1s.afc; | |
2644 | |
2645 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_PNP_INFO)); | |
2646 } | |
2647 } | |
2648 break; | |
2649 | |
2650 case L1P_PEP_INFO: | |
2651 { | |
2652 char *ptr; | |
2653 | |
2654 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_PEP_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2655 { | |
2656 | |
2657 ((T_TR_L1P_PEP_INFO *)(ptr))->header = TRL1_L1P_PEP_INFO | (((T_MPHP_DATA_IND *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
2658 ((T_TR_L1P_PEP_INFO *)(ptr))->error_flag = ((T_MPHP_DATA_IND *)(msg->SigP))->error_flag; | |
2659 ((T_TR_L1P_PEP_INFO *)(ptr))->radio_freq = ((T_MPHP_DATA_IND *)(msg->SigP))->radio_freq; | |
2660 ((T_TR_L1P_PEP_INFO *)(ptr))->relative_position = ((T_MPHP_DATA_IND *)(msg->SigP))->relative_position; | |
2661 ((T_TR_L1P_PEP_INFO *)(ptr))->input_level = l1a_l1s_com.Scell_IL_for_rxlev; | |
2662 ((T_TR_L1P_PEP_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
2663 ((T_TR_L1P_PEP_INFO *)(ptr))->afc = l1s.afc; | |
2664 | |
2665 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_PEP_INFO)); | |
2666 } | |
2667 } | |
2668 break; | |
2669 | |
2670 case L1P_PALLC_INFO: | |
2671 { | |
2672 char *ptr; | |
2673 | |
2674 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_PALLC_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2675 { | |
2676 | |
2677 ((T_TR_L1P_PALLC_INFO *)(ptr))->header = TRL1_L1P_PALLC_INFO | (((T_MPHP_DATA_IND *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
2678 ((T_TR_L1P_PALLC_INFO *)(ptr))->error_flag = ((T_MPHP_DATA_IND *)(msg->SigP))->error_flag; | |
2679 ((T_TR_L1P_PALLC_INFO *)(ptr))->radio_freq = ((T_MPHP_DATA_IND *)(msg->SigP))->radio_freq; | |
2680 ((T_TR_L1P_PALLC_INFO *)(ptr))->relative_position = ((T_MPHP_DATA_IND *)(msg->SigP))->relative_position; | |
2681 ((T_TR_L1P_PALLC_INFO *)(ptr))->input_level = l1a_l1s_com.Scell_IL_for_rxlev; | |
2682 ((T_TR_L1P_PALLC_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
2683 ((T_TR_L1P_PALLC_INFO *)(ptr))->afc = l1s.afc; | |
2684 | |
2685 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_PALLC_INFO)); | |
2686 } | |
2687 } | |
2688 break; | |
2689 | |
2690 // PBCCH reading | |
2691 | |
2692 case MPHP_SCELL_PBCCH_REQ: | |
2693 { | |
2694 char *ptr; | |
2695 | |
2696 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_SCELL_PBCCH_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2697 { | |
2698 | |
2699 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->header = TRL1_MPHP_SCELL_PBCCH_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2700 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->nbr_psi = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->nbr_psi; | |
2701 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->bs_pbcch_blks = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->bs_pbcch_blks; | |
2702 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->pb = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->pb; | |
2703 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->psi1_repeat_period = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->psi1_repeat_period; | |
2704 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->h = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->packet_chn_desc.chan_sel.h; | |
2705 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->radio_freq = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->packet_chn_desc.chan_sel.rf_channel.single_rf.radio_freq; | |
2706 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->timeslot_no = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->packet_chn_desc.timeslot_no; | |
2707 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->tsc = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->packet_chn_desc.tsc; | |
2708 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->rf_chan_cnt = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->frequency_list.rf_chan_cnt; | |
2709 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[0] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[0]; | |
2710 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[1] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[1]; | |
2711 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[2] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[2]; | |
2712 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[3] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[3]; | |
2713 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[4] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[4]; | |
2714 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[5] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[5]; | |
2715 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[6] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[6]; | |
2716 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[7] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[7]; | |
2717 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[8] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[8]; | |
2718 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[9] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[9]; | |
2719 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[10] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[10]; | |
2720 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[11] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[11]; | |
2721 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[12] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[12]; | |
2722 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[13] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[13]; | |
2723 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[14] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[14]; | |
2724 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[15] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[15]; | |
2725 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[16] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[16]; | |
2726 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[17] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[17]; | |
2727 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[18] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[18]; | |
2728 ((T_TR_MPHP_SCELL_PBCCH_REQ *)(ptr))->relative_position_array[19] = ((T_MPHP_SCELL_PBCCH_REQ *)(msg->SigP))->relative_position_array[19]; | |
2729 | |
2730 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_SCELL_PBCCH_REQ)); | |
2731 } | |
2732 } | |
2733 break; | |
2734 | |
2735 case MPHP_SCELL_PBCCH_STOP_REQ: | |
2736 { | |
2737 char *ptr; | |
2738 | |
2739 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_SCELL_PBCCH_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2740 { | |
2741 | |
2742 ((T_TR_MPHP_SCELL_PBCCH_STOP_REQ *)(ptr))->header = TRL1_MPHP_SCELL_PBCCH_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2743 | |
2744 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_SCELL_PBCCH_STOP_REQ)); | |
2745 } | |
2746 } | |
2747 break; | |
2748 | |
2749 case L1P_PBCCHS_INFO: | |
2750 { | |
2751 char *ptr; | |
2752 | |
2753 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_PBCCHS_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2754 { | |
2755 | |
2756 ((T_TR_L1P_PBCCHS_INFO *)(ptr))->header = TRL1_L1P_PBCCHS_INFO | (((T_MPHP_DATA_IND *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
2757 ((T_TR_L1P_PBCCHS_INFO *)(ptr))->error_flag = ((T_MPHP_DATA_IND *)(msg->SigP))->error_flag; | |
2758 ((T_TR_L1P_PBCCHS_INFO *)(ptr))->radio_freq = ((T_MPHP_DATA_IND *)(msg->SigP))->radio_freq; | |
2759 ((T_TR_L1P_PBCCHS_INFO *)(ptr))->relative_position = ((T_MPHP_DATA_IND *)(msg->SigP))->relative_position; | |
2760 ((T_TR_L1P_PBCCHS_INFO *)(ptr))->input_level = l1a_l1s_com.Scell_IL_for_rxlev; | |
2761 ((T_TR_L1P_PBCCHS_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
2762 ((T_TR_L1P_PBCCHS_INFO *)(ptr))->afc = l1s.afc; | |
2763 | |
2764 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_PBCCHS_INFO)); | |
2765 } | |
2766 } | |
2767 break; | |
2768 | |
2769 /////////////////// | |
2770 // Packet Access // | |
2771 /////////////////// | |
2772 | |
2773 // Random access | |
2774 | |
2775 case MPHP_RA_REQ: | |
2776 { | |
2777 char *ptr; | |
2778 | |
2779 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_RA_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2780 { | |
2781 | |
2782 ((T_TR_MPHP_RA_REQ *)(ptr))->header = TRL1_MPHP_RA_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2783 ((T_TR_MPHP_RA_REQ *)(ptr))->txpwr = ((T_MPHP_RA_REQ *)(msg->SigP))->txpwr; | |
2784 ((T_TR_MPHP_RA_REQ *)(ptr))->rand = ((T_MPHP_RA_REQ *)(msg->SigP))->rand; | |
2785 ((T_TR_MPHP_RA_REQ *)(ptr))->channel_request_data = ((T_MPHP_RA_REQ *)(msg->SigP))->channel_request_data; | |
2786 ((T_TR_MPHP_RA_REQ *)(ptr))->bs_prach_blks = ((T_MPHP_RA_REQ *)(msg->SigP))->bs_prach_blks; | |
2787 ((T_TR_MPHP_RA_REQ *)(ptr))->access_burst_type = ((T_MPHP_RA_REQ *)(msg->SigP))->access_burst_type; | |
2788 | |
2789 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_RA_REQ)); | |
2790 } | |
2791 } | |
2792 break; | |
2793 | |
2794 case MPHP_RA_STOP_REQ: | |
2795 { | |
2796 char *ptr; | |
2797 | |
2798 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_RA_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2799 { | |
2800 | |
2801 ((T_TR_MPHP_RA_STOP_REQ *)(ptr))->header = TRL1_MPHP_RA_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2802 | |
2803 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_RA_STOP_REQ)); | |
2804 } | |
2805 } | |
2806 break; | |
2807 | |
2808 case L1P_RA_DONE: | |
2809 { | |
2810 char *ptr; | |
2811 | |
2812 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_RA_DONE), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2813 { | |
2814 | |
2815 ((T_TR_L1P_RA_DONE *)(ptr))->header = TRL1_L1P_RA_DONE | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2816 ((T_TR_L1P_RA_DONE *)(ptr))->channel_request_data = ((T_MPHP_RA_CON *)(msg->SigP))->channel_request_data; | |
2817 | |
2818 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_RA_DONE)); | |
2819 } | |
2820 } | |
2821 break; | |
2822 | |
2823 // Single block | |
2824 | |
2825 case MPHP_SINGLE_BLOCK_REQ: | |
2826 { | |
2827 char *ptr; | |
2828 | |
2829 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_SINGLE_BLOCK_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2830 { | |
2831 WORD32 sti; | |
2832 | |
2833 if (((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->tbf_sti.present == 0) | |
2834 sti = -1; | |
2835 else | |
2836 sti = (WORD32) ((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->tbf_sti.absolute_fn; | |
2837 | |
2838 | |
2839 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->header = TRL1_MPHP_SINGLE_BLOCK_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2840 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->assignment_id = ((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->assignment_id; | |
2841 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->purpose = ((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->purpose; | |
2842 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->pc_meas_chan = ((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->pc_meas_chan; | |
2843 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->access_burst_type = ((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->access_burst_type; | |
2844 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->ta = ((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->packet_ta.ta; | |
2845 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->p0 = ((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->dl_pwr_ctl.p0; | |
2846 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->bts_pwr_ctl_mode = ((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->dl_pwr_ctl.bts_pwr_ctl_mode; | |
2847 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->pr_mode = ((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->dl_pwr_ctl.pr_mode; | |
2848 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->tsc = ((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->tsc; | |
2849 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->h = ((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->freq_param.chan_sel.h; | |
2850 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->radio_freq = ((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->freq_param.chan_sel.rf_channel.single_rf.radio_freq; | |
2851 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->rf_chan_cnt = ((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->freq_param.freq_list.rf_chan_cnt; | |
2852 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->tbf_sti = sti; | |
2853 ((T_TR_MPHP_SINGLE_BLOCK_REQ *)(ptr))->timeslot_number = ((T_MPHP_SINGLE_BLOCK_REQ *)(msg->SigP))->timeslot_number; | |
2854 | |
2855 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_SINGLE_BLOCK_REQ)); | |
2856 } | |
2857 } | |
2858 break; | |
2859 | |
2860 case MPHP_STOP_SINGLE_BLOCK_REQ: | |
2861 { | |
2862 char *ptr; | |
2863 | |
2864 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_STOP_SINGLE_BLOCK_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2865 { | |
2866 | |
2867 ((T_TR_MPHP_STOP_SINGLE_BLOCK_REQ *)(ptr))->header = TRL1_MPHP_STOP_SINGLE_BLOCK_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2868 | |
2869 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_STOP_SINGLE_BLOCK_REQ)); | |
2870 } | |
2871 } | |
2872 break; | |
2873 | |
2874 case L1P_PACCH_INFO: | |
2875 { | |
2876 char *ptr; | |
2877 | |
2878 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_PACCH_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2879 { | |
2880 | |
2881 ((T_TR_L1P_PACCH_INFO *)(ptr))->header = TRL1_L1P_PACCH_INFO | (((T_MPHP_DATA_IND *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
2882 ((T_TR_L1P_PACCH_INFO *)(ptr))->error_flag = ((T_MPHP_DATA_IND *)(msg->SigP))->error_flag; | |
2883 ((T_TR_L1P_PACCH_INFO *)(ptr))->radio_freq = ((T_MPHP_DATA_IND *)(msg->SigP))->radio_freq; | |
2884 ((T_TR_L1P_PACCH_INFO *)(ptr))->relative_position = ((T_MPHP_DATA_IND *)(msg->SigP))->relative_position; | |
2885 ((T_TR_L1P_PACCH_INFO *)(ptr))->input_level = l1a_l1s_com.Scell_IL_for_rxlev; | |
2886 ((T_TR_L1P_PACCH_INFO *)(ptr))->tpu_offset = l1s.tpu_offset; | |
2887 ((T_TR_L1P_PACCH_INFO *)(ptr))->afc = l1s.afc; | |
2888 | |
2889 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_PACCH_INFO)); | |
2890 } | |
2891 } | |
2892 break; | |
2893 | |
2894 case L1P_SINGLE_BLOCK_CON: | |
2895 { | |
2896 char *ptr; | |
2897 | |
2898 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_SINGLE_BLOCK_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2899 { | |
2900 | |
2901 ((T_TR_L1P_SINGLE_BLOCK_CON *)(ptr))->header = TRL1_L1P_SINGLE_BLOCK_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2902 ((T_TR_L1P_SINGLE_BLOCK_CON *)(ptr))->assignment_id = ((T_MPHP_SINGLE_BLOCK_CON *)(msg->SigP))->assignment_id; | |
2903 ((T_TR_L1P_SINGLE_BLOCK_CON *)(ptr))->purpose = ((T_MPHP_SINGLE_BLOCK_CON *)(msg->SigP))->purpose; | |
2904 ((T_TR_L1P_SINGLE_BLOCK_CON *)(ptr))->status = ((T_MPHP_SINGLE_BLOCK_CON *)(msg->SigP))->status; | |
2905 ((T_TR_L1P_SINGLE_BLOCK_CON *)(ptr))->dl_error_flag = ((T_MPHP_SINGLE_BLOCK_CON *)(msg->SigP))->dl_error_flag; | |
2906 ((T_TR_L1P_SINGLE_BLOCK_CON *)(ptr))->txpwr[0] = l1pa_l1ps_com.transfer.dl_pwr_ctrl.txpwr[0]; | |
2907 ((T_TR_L1P_SINGLE_BLOCK_CON *)(ptr))->txpwr[1] = l1pa_l1ps_com.transfer.dl_pwr_ctrl.txpwr[1]; | |
2908 ((T_TR_L1P_SINGLE_BLOCK_CON *)(ptr))->txpwr[2] = l1pa_l1ps_com.transfer.dl_pwr_ctrl.txpwr[2]; | |
2909 ((T_TR_L1P_SINGLE_BLOCK_CON *)(ptr))->txpwr[3] = l1pa_l1ps_com.transfer.dl_pwr_ctrl.txpwr[3]; | |
2910 | |
2911 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_SINGLE_BLOCK_CON)); | |
2912 } | |
2913 } | |
2914 break; | |
2915 | |
2916 // Idle mode polling | |
2917 | |
2918 case MPHP_POLLING_RESPONSE_REQ: | |
2919 { | |
2920 char *ptr; | |
2921 | |
2922 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_POLLING_RESPONSE_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2923 { | |
2924 | |
2925 ((T_TR_MPHP_POLLING_RESPONSE_REQ *)(ptr))->header = TRL1_MPHP_POLLING_RESPONSE_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2926 ((T_TR_MPHP_POLLING_RESPONSE_REQ *)(ptr))->pol_resp_type = ((T_MPHP_POLLING_RESPONSE_REQ *)(msg->SigP))->pol_resp_type; | |
2927 ((T_TR_MPHP_POLLING_RESPONSE_REQ *)(ptr))->fn_req = ((T_MPHP_POLLING_RESPONSE_REQ *)(msg->SigP))->fn; | |
2928 ((T_TR_MPHP_POLLING_RESPONSE_REQ *)(ptr))->timing_advance = ((T_MPHP_POLLING_RESPONSE_REQ *)(msg->SigP))->timing_advance; | |
2929 ((T_TR_MPHP_POLLING_RESPONSE_REQ *)(ptr))->txpwr = ((T_MPHP_POLLING_RESPONSE_REQ *)(msg->SigP))->txpwr; | |
2930 | |
2931 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_POLLING_RESPONSE_REQ)); | |
2932 } | |
2933 } | |
2934 break; | |
2935 | |
2936 case L1P_POLL_DONE: | |
2937 { | |
2938 char *ptr; | |
2939 | |
2940 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_POLL_DONE), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2941 { | |
2942 | |
2943 ((T_TR_L1P_POLL_DONE *)(ptr))->header = TRL1_L1P_POLL_DONE | (((T_MPHP_POLLING_IND *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
2944 | |
2945 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_POLL_DONE)); | |
2946 } | |
2947 } | |
2948 break; | |
2949 | |
2950 ////////////////////////// | |
2951 // Packet transfer mode // | |
2952 ////////////////////////// | |
2953 | |
2954 // Temporary block flow assignment | |
2955 | |
2956 case MPHP_ASSIGNMENT_REQ: | |
2957 { | |
2958 char *ptr; | |
2959 | |
2960 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_ASSIGNMENT_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
2961 { | |
2962 WORD32 sti; | |
2963 | |
2964 if (((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->tbf_sti.present == 0) | |
2965 sti = -1; | |
2966 else | |
2967 sti = (WORD32) ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->tbf_sti.absolute_fn; | |
2968 | |
2969 | |
2970 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->header = TRL1_MPHP_ASSIGNMENT_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
2971 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->assignment_id = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->assignment_id; | |
2972 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->assignment_command = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->assignment_command; | |
2973 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->multislot_class = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->multislot_class; | |
2974 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->interf_meas_enable = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->interf_meas_enable; | |
2975 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->pc_meas_chan = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->pc_meas_chan; | |
2976 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->access_burst_type = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->access_burst_type; | |
2977 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->ta = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->packet_ta.ta; | |
2978 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->ta_index = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->packet_ta.ta_index; | |
2979 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->ta_tn = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->packet_ta.ta_tn; | |
2980 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->p0 = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->dl_pwr_ctl.p0; | |
2981 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->bts_pwr_ctl_mode = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->dl_pwr_ctl.bts_pwr_ctl_mode; | |
2982 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->pr_mode = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->dl_pwr_ctl.pr_mode; | |
2983 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->tsc = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->tsc; | |
2984 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->h = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->freq_param.chan_sel.h; | |
2985 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->radio_freq = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->freq_param.chan_sel.rf_channel.single_rf.radio_freq; | |
2986 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->rf_chan_cnt = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->freq_param.freq_list.rf_chan_cnt; | |
2987 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->tbf_sti = sti; | |
2988 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->mac_mode = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->mac_mode; | |
2989 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->dl_ressource_alloc = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->dl_ressource_alloc.timeslot_alloc; | |
2990 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->ul_ressource_alloc = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->ul_ressource_alloc.timeslot_alloc; | |
2991 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->usf_granularity = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->ul_ressource_alloc.dynamic_alloc.usf_granularity; | |
2992 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->ctrl_timeslot = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->ul_ressource_alloc.fixed_alloc.ctrl_timeslot; | |
2993 ((T_TR_MPHP_ASSIGNMENT_REQ *)(ptr))->bitmap_length = ((T_MPHP_ASSIGNMENT_REQ *)(msg->SigP))->ul_ressource_alloc.fixed_alloc.bitmap_length; | |
2994 | |
2995 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_ASSIGNMENT_REQ)); | |
2996 } | |
2997 } | |
2998 break; | |
2999 | |
3000 case MPHP_ASSIGNMENT_CON: | |
3001 { | |
3002 char *ptr; | |
3003 | |
3004 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_ASSIGNMENT_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3005 { | |
3006 | |
3007 ((T_TR_MPHP_ASSIGNMENT_CON *)(ptr))->header = TRL1_MPHP_ASSIGNMENT_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3008 ((T_TR_MPHP_ASSIGNMENT_CON *)(ptr))->dl_tn = l1a_l1s_com.dl_tn; | |
3009 | |
3010 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_ASSIGNMENT_CON)); | |
3011 } | |
3012 } | |
3013 break; | |
3014 | |
3015 case MPHP_TBF_RELEASE_REQ: | |
3016 { | |
3017 char *ptr; | |
3018 | |
3019 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_TBF_RELEASE_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3020 { | |
3021 | |
3022 ((T_TR_MPHP_TBF_RELEASE_REQ *)(ptr))->header = TRL1_MPHP_TBF_RELEASE_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3023 ((T_TR_MPHP_TBF_RELEASE_REQ *)(ptr))->tbf_type = ((T_MPHP_TBF_RELEASE_REQ *)(msg->SigP))->tbf_type; | |
3024 | |
3025 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_TBF_RELEASE_REQ)); | |
3026 } | |
3027 } | |
3028 break; | |
3029 | |
3030 case L1P_TBF_RELEASED: | |
3031 { | |
3032 char *ptr; | |
3033 | |
3034 if (((T_L1P_TBF_RELEASED *)(msg->SigP))->released_all == 1) | |
3035 trace_info.new_tcr_list = 0; | |
3036 | |
3037 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_TBF_RELEASED), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3038 { | |
3039 | |
3040 ((T_TR_L1P_TBF_RELEASED *)(ptr))->header = TRL1_L1P_TBF_RELEASED | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3041 ((T_TR_L1P_TBF_RELEASED *)(ptr))->released_all = ((T_L1P_TBF_RELEASED *)(msg->SigP))->released_all; | |
3042 ((T_TR_L1P_TBF_RELEASED *)(ptr))->dl_tn = l1a_l1s_com.dl_tn; | |
3043 ((T_TR_L1P_TBF_RELEASED *)(ptr))->tbf_type = ((T_L1P_TBF_RELEASED *)(msg->SigP))->tbf_type; | |
3044 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_TBF_RELEASED)); | |
3045 } | |
3046 } | |
3047 break; | |
3048 | |
3049 // PDCH release | |
3050 | |
3051 case MPHP_PDCH_RELEASE_REQ: | |
3052 { | |
3053 char *ptr; | |
3054 | |
3055 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_PDCH_RELEASE_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3056 { | |
3057 | |
3058 ((T_TR_MPHP_PDCH_RELEASE_REQ *)(ptr))->header = TRL1_MPHP_PDCH_RELEASE_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3059 ((T_TR_MPHP_PDCH_RELEASE_REQ *)(ptr))->assignment_id = ((T_MPHP_PDCH_RELEASE_REQ *)(msg->SigP))->assignment_id; | |
3060 ((T_TR_MPHP_PDCH_RELEASE_REQ *)(ptr))->timeslot_available = ((T_MPHP_PDCH_RELEASE_REQ *)(msg->SigP))->timeslot_available; | |
3061 | |
3062 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_PDCH_RELEASE_REQ)); | |
3063 } | |
3064 } | |
3065 break; | |
3066 | |
3067 case L1P_PDCH_RELEASED: | |
3068 { | |
3069 char *ptr; | |
3070 | |
3071 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_PDCH_RELEASED), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3072 { | |
3073 | |
3074 ((T_TR_L1P_PDCH_RELEASED *)(ptr))->header = TRL1_L1P_PDCH_RELEASED | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3075 ((T_TR_L1P_PDCH_RELEASED *)(ptr))->assignment_id = ((T_MPHP_PDCH_RELEASE_CON *)(msg->SigP))->assignment_id; | |
3076 ((T_TR_L1P_PDCH_RELEASED *)(ptr))->dl_tn = l1a_l1s_com.dl_tn; | |
3077 | |
3078 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_PDCH_RELEASED)); | |
3079 } | |
3080 } | |
3081 break; | |
3082 | |
3083 // Timing advance update | |
3084 | |
3085 case MPHP_TIMING_ADVANCE_REQ: | |
3086 { | |
3087 char *ptr; | |
3088 | |
3089 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_TIMING_ADVANCE_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3090 { | |
3091 | |
3092 ((T_TR_MPHP_TIMING_ADVANCE_REQ *)(ptr))->header = TRL1_MPHP_TIMING_ADVANCE_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3093 ((T_TR_MPHP_TIMING_ADVANCE_REQ *)(ptr))->assignment_id = ((T_MPHP_TIMING_ADVANCE_REQ *)(msg->SigP))->assignment_id; | |
3094 ((T_TR_MPHP_TIMING_ADVANCE_REQ *)(ptr))->ta = ((T_MPHP_TIMING_ADVANCE_REQ *)(msg->SigP))->packet_ta.ta; | |
3095 ((T_TR_MPHP_TIMING_ADVANCE_REQ *)(ptr))->ta_index = ((T_MPHP_TIMING_ADVANCE_REQ *)(msg->SigP))->packet_ta.ta_index; | |
3096 ((T_TR_MPHP_TIMING_ADVANCE_REQ *)(ptr))->ta_tn = ((T_MPHP_TIMING_ADVANCE_REQ *)(msg->SigP))->packet_ta.ta_tn; | |
3097 | |
3098 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_TIMING_ADVANCE_REQ)); | |
3099 } | |
3100 } | |
3101 break; | |
3102 | |
3103 case L1P_TA_CONFIG_DONE: | |
3104 { | |
3105 char *ptr; | |
3106 | |
3107 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_TA_CONFIG_DONE), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3108 { | |
3109 | |
3110 ((T_TR_L1P_TA_CONFIG_DONE *)(ptr))->header = TRL1_L1P_TA_CONFIG_DONE | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3111 | |
3112 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_TA_CONFIG_DONE)); | |
3113 } | |
3114 } | |
3115 break; | |
3116 | |
3117 // Update PSI parameters | |
3118 | |
3119 case MPHP_UPDATE_PSI_PARAM_REQ: | |
3120 { | |
3121 char *ptr; | |
3122 | |
3123 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_UPDATE_PSI_PARAM_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3124 { | |
3125 | |
3126 ((T_TR_MPHP_UPDATE_PSI_PARAM_REQ *)(ptr))->header = TRL1_MPHP_UPDATE_PSI_PARAM_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3127 ((T_TR_MPHP_UPDATE_PSI_PARAM_REQ *)(ptr))->pb = ((T_MPHP_UPDATE_PSI_PARAM_REQ *)(msg->SigP))->pb; | |
3128 ((T_TR_MPHP_UPDATE_PSI_PARAM_REQ *)(ptr))->access_burst_type = ((T_MPHP_UPDATE_PSI_PARAM_REQ *)(msg->SigP))->access_burst_type; | |
3129 | |
3130 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_UPDATE_PSI_PARAM_REQ)); | |
3131 } | |
3132 } | |
3133 break; | |
3134 | |
3135 // Fixed mode repeat allocation | |
3136 | |
3137 case MPHP_REPEAT_UL_FIXED_ALLOC_REQ: | |
3138 { | |
3139 char *ptr; | |
3140 | |
3141 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_REPEAT_UL_FIXED_ALLOC_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3142 { | |
3143 WORD32 sti; | |
3144 | |
3145 if (((T_MPHP_REPEAT_UL_FIXED_ALLOC_REQ *)(msg->SigP))->tbf_sti.present == 0) | |
3146 sti = -1; | |
3147 else | |
3148 sti = (WORD32) ((T_MPHP_REPEAT_UL_FIXED_ALLOC_REQ *)(msg->SigP))->tbf_sti.absolute_fn; | |
3149 | |
3150 | |
3151 ((T_TR_MPHP_REPEAT_UL_FIXED_ALLOC_REQ *)(ptr))->header = TRL1_MPHP_REPEAT_UL_FIXED_ALLOC_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3152 ((T_TR_MPHP_REPEAT_UL_FIXED_ALLOC_REQ *)(ptr))->repeat_allocation = ((T_MPHP_REPEAT_UL_FIXED_ALLOC_REQ *)(msg->SigP))->repeat_allocation; | |
3153 ((T_TR_MPHP_REPEAT_UL_FIXED_ALLOC_REQ *)(ptr))->ts_override = ((T_MPHP_REPEAT_UL_FIXED_ALLOC_REQ *)(msg->SigP))->ts_override; | |
3154 ((T_TR_MPHP_REPEAT_UL_FIXED_ALLOC_REQ *)(ptr))->tbf_sti = sti; | |
3155 | |
3156 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_REPEAT_UL_FIXED_ALLOC_REQ)); | |
3157 } | |
3158 } | |
3159 break; | |
3160 | |
3161 case L1P_REPEAT_ALLOC_DONE: | |
3162 { | |
3163 char *ptr; | |
3164 | |
3165 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_REPEAT_ALLOC_DONE), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3166 { | |
3167 | |
3168 ((T_TR_L1P_REPEAT_ALLOC_DONE *)(ptr))->header = TRL1_L1P_REPEAT_ALLOC_DONE | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3169 ((T_TR_L1P_REPEAT_ALLOC_DONE *)(ptr))->dl_tn = l1a_l1s_com.dl_tn; | |
3170 | |
3171 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_REPEAT_ALLOC_DONE)); | |
3172 } | |
3173 } | |
3174 break; | |
3175 | |
3176 // Fixed mode allocation exhaustion | |
3177 | |
3178 case L1P_ALLOC_EXHAUST_DONE: | |
3179 { | |
3180 char *ptr; | |
3181 | |
3182 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_ALLOC_EXHAUST_DONE), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3183 { | |
3184 | |
3185 ((T_TR_L1P_ALLOC_EXHAUST_DONE *)(ptr))->header = TRL1_L1P_ALLOC_EXHAUST_DONE | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3186 ((T_TR_L1P_ALLOC_EXHAUST_DONE *)(ptr))->dl_tn = l1a_l1s_com.dl_tn; | |
3187 | |
3188 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_ALLOC_EXHAUST_DONE)); | |
3189 } | |
3190 } | |
3191 break; | |
3192 | |
3193 ////////////////////////////// | |
3194 // Packet mode measurements // | |
3195 ////////////////////////////// | |
3196 | |
3197 // BA list measurements in packet idle | |
3198 | |
3199 case MPHP_CR_MEAS_REQ: | |
3200 { | |
3201 char *ptr; | |
3202 | |
3203 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_CR_MEAS_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3204 { | |
3205 | |
3206 ((T_TR_MPHP_CR_MEAS_REQ *)(ptr))->header = TRL1_MPHP_CR_MEAS_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3207 ((T_TR_MPHP_CR_MEAS_REQ *)(ptr))->nb_carrier = ((T_MPHP_CR_MEAS_REQ *)(msg->SigP))->nb_carrier; | |
3208 ((T_TR_MPHP_CR_MEAS_REQ *)(ptr))->list_id = ((T_MPHP_CR_MEAS_REQ *)(msg->SigP))->list_id; | |
3209 | |
3210 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_CR_MEAS_REQ)); | |
3211 } | |
3212 } | |
3213 break; | |
3214 | |
3215 case MPHP_CR_MEAS_STOP_REQ: | |
3216 { | |
3217 char *ptr; | |
3218 | |
3219 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_CR_MEAS_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3220 { | |
3221 | |
3222 ((T_TR_MPHP_CR_MEAS_STOP_REQ *)(ptr))->header = TRL1_MPHP_CR_MEAS_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3223 | |
3224 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_CR_MEAS_STOP_REQ)); | |
3225 } | |
3226 } | |
3227 break; | |
3228 | |
3229 case L1P_CR_MEAS_DONE: | |
3230 { | |
3231 char *ptr; | |
3232 | |
3233 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_CR_MEAS_DONE), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3234 { | |
3235 UWORD8 i,nmeas; | |
3236 | |
3237 | |
3238 ((T_TR_L1P_CR_MEAS_DONE *)(ptr))->header = TRL1_L1P_CR_MEAS_DONE | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3239 ((T_TR_L1P_CR_MEAS_DONE *)(ptr))->nmeas = ((T_L1P_CR_MEAS_DONE *)(msg->SigP))->nmeas; | |
3240 ((T_TR_L1P_CR_MEAS_DONE *)(ptr))->list_id = ((T_L1P_CR_MEAS_DONE *)(msg->SigP))->list_id; | |
3241 ((T_TR_L1P_CR_MEAS_DONE *)(ptr))->reporting_period = ((T_L1P_CR_MEAS_DONE *)(msg->SigP))->reporting_period; | |
3242 | |
3243 nmeas = ((T_L1P_CR_MEAS_DONE *)(msg->SigP))->nmeas; | |
3244 if (nmeas > MAX_CR) nmeas = MAX_CR; | |
3245 | |
3246 for (i=0;i<nmeas;i++) | |
3247 { | |
3248 ((T_TR_L1P_CR_MEAS_DONE *)(ptr))->freq[i] = l1pa_l1ps_com.cres_freq_list.alist->freq_list[i]; | |
3249 ((T_TR_L1P_CR_MEAS_DONE *)(ptr))->rxlev[i] = ((T_L1P_CR_MEAS_DONE *)(msg->SigP))->ncell_meas[i].rxlev; | |
3250 } | |
3251 | |
3252 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_CR_MEAS_DONE)); | |
3253 } | |
3254 } | |
3255 break; | |
3256 | |
3257 // BA list measurements in packet transfer | |
3258 | |
3259 case MPHP_TCR_MEAS_REQ: | |
3260 { | |
3261 char *ptr; | |
3262 | |
3263 trace_info.new_tcr_list = 1; | |
3264 | |
3265 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_TCR_MEAS_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3266 { | |
3267 | |
3268 ((T_TR_MPHP_TCR_MEAS_REQ *)(ptr))->header = TRL1_MPHP_TCR_MEAS_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3269 ((T_TR_MPHP_TCR_MEAS_REQ *)(ptr))->nb_carrier = ((T_MPHP_TCR_MEAS_REQ *)(msg->SigP))->nb_carrier; | |
3270 ((T_TR_MPHP_TCR_MEAS_REQ *)(ptr))->list_id = ((T_MPHP_TCR_MEAS_REQ *)(msg->SigP))->list_id; | |
3271 | |
3272 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_TCR_MEAS_REQ)); | |
3273 } | |
3274 } | |
3275 break; | |
3276 | |
3277 case MPHP_TCR_MEAS_STOP_REQ: | |
3278 { | |
3279 char *ptr; | |
3280 | |
3281 trace_info.new_tcr_list = 0; | |
3282 | |
3283 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_TCR_MEAS_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3284 { | |
3285 | |
3286 ((T_TR_MPHP_TCR_MEAS_STOP_REQ *)(ptr))->header = TRL1_MPHP_TCR_MEAS_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3287 | |
3288 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_TCR_MEAS_STOP_REQ)); | |
3289 } | |
3290 } | |
3291 break; | |
3292 | |
3293 case L1P_TCR_MEAS_DONE: | |
3294 { | |
3295 char *ptr; | |
3296 | |
3297 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_TCR_MEAS_DONE), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3298 { | |
3299 UWORD8 i, nmeas; | |
3300 T_CRES_LIST_PARAM *list_ptr; | |
3301 | |
3302 if (trace_info.new_tcr_list == 0) | |
3303 // No TCR list update: keep the alist pointer | |
3304 list_ptr = l1pa_l1ps_com.cres_freq_list.alist; | |
3305 else | |
3306 { | |
3307 // In case of TCR list updating, the alist pointer has changed | |
3308 if(l1pa_l1ps_com.cres_freq_list.alist == &(l1pa_l1ps_com.cres_freq_list.list[0])) | |
3309 list_ptr = &(l1pa_l1ps_com.cres_freq_list.list[1]); | |
3310 else | |
3311 list_ptr = &(l1pa_l1ps_com.cres_freq_list.list[0]); | |
3312 //Reset the variable new_tcr_list so that next time onwards the new list of | |
3313 //frequencies will get printed. | |
3314 trace_info.new_tcr_list = 0; | |
3315 } | |
3316 | |
3317 | |
3318 ((T_TR_L1P_TCR_MEAS_DONE *)(ptr))->header = TRL1_L1P_TCR_MEAS_DONE | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3319 ((T_TR_L1P_TCR_MEAS_DONE *)(ptr))->list_id = ((T_L1P_TCR_MEAS_DONE *)(msg->SigP))->list_id; | |
3320 ((T_TR_L1P_TCR_MEAS_DONE *)(ptr))->nb_carrier = list_ptr->nb_carrier; | |
3321 | |
3322 nmeas = list_ptr->nb_carrier; | |
3323 if (nmeas > MAX_TCR) nmeas = MAX_TCR; | |
3324 | |
3325 for (i=0;i<nmeas;i++) | |
3326 { | |
3327 ((T_TR_L1P_TCR_MEAS_DONE *)(ptr))->radio_freq[i] = list_ptr->freq_list[i]; | |
3328 ((T_TR_L1P_TCR_MEAS_DONE *)(ptr))->acc_level[i] = ((T_L1P_TCR_MEAS_DONE *)(msg->SigP))->acc_level[i]; | |
3329 ((T_TR_L1P_TCR_MEAS_DONE *)(ptr))->acc_nbmeas[i] = ((T_L1P_TCR_MEAS_DONE *)(msg->SigP))->acc_nbmeas[i]; | |
3330 } | |
3331 | |
3332 ((T_TR_L1P_TCR_MEAS_DONE *)(ptr))->tpu_offset = l1s.tpu_offset; | |
3333 | |
3334 | |
3335 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_TCR_MEAS_DONE)); | |
3336 } | |
3337 } | |
3338 break; | |
3339 | |
3340 /////////////////////////////// | |
3341 // Interference measurements // | |
3342 /////////////////////////////// | |
3343 | |
3344 // Interference measurements in packet idle | |
3345 | |
3346 case MPHP_INT_MEAS_REQ: | |
3347 { | |
3348 char *ptr; | |
3349 | |
3350 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_INT_MEAS_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3351 { | |
3352 | |
3353 ((T_TR_MPHP_INT_MEAS_REQ *)(ptr))->header = TRL1_MPHP_INT_MEAS_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3354 ((T_TR_MPHP_INT_MEAS_REQ *)(ptr))->h = ((T_MPHP_INT_MEAS_REQ *)(msg->SigP))->packet_intm_freq_param.chan_sel.h; | |
3355 ((T_TR_MPHP_INT_MEAS_REQ *)(ptr))->radio_freq = ((T_MPHP_INT_MEAS_REQ *)(msg->SigP))->packet_intm_freq_param.chan_sel.rf_channel.single_rf.radio_freq; | |
3356 ((T_TR_MPHP_INT_MEAS_REQ *)(ptr))->rf_chan_cnt = ((T_MPHP_INT_MEAS_REQ *)(msg->SigP))->packet_intm_freq_param.freq_list.rf_chan_cnt; | |
3357 ((T_TR_MPHP_INT_MEAS_REQ *)(ptr))->tn = ((T_MPHP_INT_MEAS_REQ *)(msg->SigP))->tn; | |
3358 ((T_TR_MPHP_INT_MEAS_REQ *)(ptr))->multislot_class = ((T_MPHP_INT_MEAS_REQ *)(msg->SigP))->multislot_class; | |
3359 | |
3360 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_INT_MEAS_REQ)); | |
3361 } | |
3362 } | |
3363 break; | |
3364 | |
3365 case MPHP_INT_MEAS_STOP_REQ: | |
3366 { | |
3367 char *ptr; | |
3368 | |
3369 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_INT_MEAS_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3370 { | |
3371 | |
3372 ((T_TR_MPHP_INT_MEAS_STOP_REQ *)(ptr))->header = TRL1_MPHP_INT_MEAS_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3373 | |
3374 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_INT_MEAS_STOP_REQ)); | |
3375 } | |
3376 } | |
3377 break; | |
3378 | |
3379 case L1P_ITMEAS_IND: | |
3380 { | |
3381 char *ptr; | |
3382 | |
3383 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1P_ITMEAS_IND), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3384 { | |
3385 | |
3386 ((T_TR_L1P_ITMEAS_IND *)(ptr))->header = TRL1_L1P_ITMEAS_IND | (((T_L1P_ITMEAS_IND *)(msg->SigP))->fn << TR_HEADER_FN_DELAY); | |
3387 ((T_TR_L1P_ITMEAS_IND *)(ptr))->position = ((T_L1P_ITMEAS_IND *)(msg->SigP))->position; | |
3388 ((T_TR_L1P_ITMEAS_IND *)(ptr))->meas_bitmap = ((T_L1P_ITMEAS_IND *)(msg->SigP))->meas_bitmap; | |
3389 | |
3390 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1P_ITMEAS_IND)); | |
3391 } | |
3392 } | |
3393 break; | |
3394 | |
3395 case MPHP_INT_MEAS_IND: | |
3396 { | |
3397 char *ptr; | |
3398 | |
3399 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_INT_MEAS_IND), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3400 { | |
3401 | |
3402 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->header = TRL1_MPHP_INT_MEAS_IND | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3403 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_0[0] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[0].rxlev[0]; | |
3404 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_0[1] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[1].rxlev[0]; | |
3405 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_0[2] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[2].rxlev[0]; | |
3406 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_0[3] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[3].rxlev[0]; | |
3407 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_0[4] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[4].rxlev[0]; | |
3408 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_0[5] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[5].rxlev[0]; | |
3409 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_0[6] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[6].rxlev[0]; | |
3410 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_0[7] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[7].rxlev[0]; | |
3411 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_1[0] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[0].rxlev[1]; | |
3412 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_1[1] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[1].rxlev[1]; | |
3413 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_1[2] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[2].rxlev[1]; | |
3414 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_1[3] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[3].rxlev[1]; | |
3415 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_1[4] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[4].rxlev[1]; | |
3416 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_1[5] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[5].rxlev[1]; | |
3417 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_1[6] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[6].rxlev[1]; | |
3418 ((T_TR_MPHP_INT_MEAS_IND *)(ptr))->rxlev_1[7] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[7].rxlev[1]; | |
3419 | |
3420 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_INT_MEAS_IND)); | |
3421 } | |
3422 } | |
3423 break; | |
3424 | |
3425 // Interference measurements in packet transfer | |
3426 | |
3427 case MPHP_TINT_MEAS_IND: | |
3428 { | |
3429 char *ptr; | |
3430 | |
3431 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MPHP_TINT_MEAS_IND), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3432 { | |
3433 | |
3434 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->header = TRL1_MPHP_TINT_MEAS_IND | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3435 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_0[0] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[0].rxlev[0]; | |
3436 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_0[1] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[1].rxlev[0]; | |
3437 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_0[2] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[2].rxlev[0]; | |
3438 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_0[3] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[3].rxlev[0]; | |
3439 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_0[4] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[4].rxlev[0]; | |
3440 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_0[5] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[5].rxlev[0]; | |
3441 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_0[6] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[6].rxlev[0]; | |
3442 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_0[7] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[7].rxlev[0]; | |
3443 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_1[0] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[0].rxlev[1]; | |
3444 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_1[1] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[1].rxlev[1]; | |
3445 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_1[2] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[2].rxlev[1]; | |
3446 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_1[3] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[3].rxlev[1]; | |
3447 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_1[4] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[4].rxlev[1]; | |
3448 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_1[5] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[5].rxlev[1]; | |
3449 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_1[6] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[6].rxlev[1]; | |
3450 ((T_TR_MPHP_TINT_MEAS_IND *)(ptr))->rxlev_1[7] = ((T_MPHP_INT_MEAS_IND *)(msg->SigP))->int_meas[7].rxlev[1]; | |
3451 | |
3452 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MPHP_TINT_MEAS_IND)); | |
3453 } | |
3454 } | |
3455 break; | |
3456 | |
3457 #endif | |
3458 | |
3459 #if (AUDIO_TASK == 1) | |
3460 | |
3461 /********************************************************************************/ | |
3462 /* BACKGROUND TASKS */ | |
3463 /********************************************************************************/ | |
3464 | |
3465 ////////////////// | |
3466 // MMI messages // | |
3467 ////////////////// | |
3468 | |
3469 #if (KEYBEEP) | |
3470 // Keybeep | |
3471 case MMI_KEYBEEP_START_REQ: | |
3472 { | |
3473 char *ptr; | |
3474 | |
3475 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_KEYBEEP_START_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3476 { | |
3477 | |
3478 ((T_TR_MMI_KEYBEEP_START_REQ *)(ptr))->header = TRL1_MMI_KEYBEEP_START_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3479 ((T_TR_MMI_KEYBEEP_START_REQ *)(ptr))->d_k_x1_kt0 = ((T_MMI_KEYBEEP_REQ *)(msg->SigP))->d_k_x1_kt0; | |
3480 ((T_TR_MMI_KEYBEEP_START_REQ *)(ptr))->d_k_x1_kt1 = ((T_MMI_KEYBEEP_REQ *)(msg->SigP))->d_k_x1_kt1; | |
3481 ((T_TR_MMI_KEYBEEP_START_REQ *)(ptr))->d_dur_kb = ((T_MMI_KEYBEEP_REQ *)(msg->SigP))->d_dur_kb; | |
3482 | |
3483 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_KEYBEEP_START_REQ)); | |
3484 } | |
3485 } | |
3486 break; | |
3487 | |
3488 case MMI_KEYBEEP_START_CON: | |
3489 { | |
3490 char *ptr; | |
3491 | |
3492 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_KEYBEEP_START_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3493 { | |
3494 | |
3495 ((T_TR_MMI_KEYBEEP_START_CON *)(ptr))->header = TRL1_MMI_KEYBEEP_START_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3496 | |
3497 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_KEYBEEP_START_CON)); | |
3498 } | |
3499 } | |
3500 break; | |
3501 | |
3502 case MMI_KEYBEEP_STOP_REQ: | |
3503 { | |
3504 char *ptr; | |
3505 | |
3506 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_KEYBEEP_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3507 { | |
3508 | |
3509 ((T_TR_MMI_KEYBEEP_STOP_REQ *)(ptr))->header = TRL1_MMI_KEYBEEP_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3510 | |
3511 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_KEYBEEP_STOP_REQ)); | |
3512 } | |
3513 } | |
3514 break; | |
3515 | |
3516 case MMI_KEYBEEP_STOP_CON: | |
3517 { | |
3518 char *ptr; | |
3519 | |
3520 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_KEYBEEP_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3521 { | |
3522 | |
3523 ((T_TR_MMI_KEYBEEP_STOP_CON *)(ptr))->header = TRL1_MMI_KEYBEEP_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3524 | |
3525 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_KEYBEEP_STOP_CON)); | |
3526 } | |
3527 } | |
3528 break; | |
3529 #endif // KEYBEEP | |
3530 | |
3531 #if (TONE) | |
3532 // Tone | |
3533 case MMI_TONE_START_REQ: | |
3534 { | |
3535 char *ptr; | |
3536 | |
3537 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_TONE_START_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3538 { | |
3539 | |
3540 ((T_TR_MMI_TONE_START_REQ *)(ptr))->header = TRL1_MMI_TONE_START_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3541 ((T_TR_MMI_TONE_START_REQ *)(ptr))->d_k_x1_t0 = ((T_MMI_TONE_REQ *)(msg->SigP))->d_k_x1_t0; | |
3542 ((T_TR_MMI_TONE_START_REQ *)(ptr))->d_k_x1_t1 = ((T_MMI_TONE_REQ *)(msg->SigP))->d_k_x1_t1; | |
3543 ((T_TR_MMI_TONE_START_REQ *)(ptr))->d_k_x1_t2 = ((T_MMI_TONE_REQ *)(msg->SigP))->d_k_x1_t2; | |
3544 ((T_TR_MMI_TONE_START_REQ *)(ptr))->d_pe_rep = ((T_MMI_TONE_REQ *)(msg->SigP))->d_pe_rep; | |
3545 ((T_TR_MMI_TONE_START_REQ *)(ptr))->d_pe_off = ((T_MMI_TONE_REQ *)(msg->SigP))->d_pe_off; | |
3546 ((T_TR_MMI_TONE_START_REQ *)(ptr))->d_se_off = ((T_MMI_TONE_REQ *)(msg->SigP))->d_se_off; | |
3547 ((T_TR_MMI_TONE_START_REQ *)(ptr))->d_bu_off = ((T_MMI_TONE_REQ *)(msg->SigP))->d_bu_off; | |
3548 ((T_TR_MMI_TONE_START_REQ *)(ptr))->d_t0_on = ((T_MMI_TONE_REQ *)(msg->SigP))->d_t0_on; | |
3549 ((T_TR_MMI_TONE_START_REQ *)(ptr))->d_t0_off = ((T_MMI_TONE_REQ *)(msg->SigP))->d_t0_off; | |
3550 ((T_TR_MMI_TONE_START_REQ *)(ptr))->d_t1_on = ((T_MMI_TONE_REQ *)(msg->SigP))->d_t1_on; | |
3551 ((T_TR_MMI_TONE_START_REQ *)(ptr))->d_t1_off = ((T_MMI_TONE_REQ *)(msg->SigP))->d_t1_off; | |
3552 ((T_TR_MMI_TONE_START_REQ *)(ptr))->d_t2_on = ((T_MMI_TONE_REQ *)(msg->SigP))->d_t2_on; | |
3553 ((T_TR_MMI_TONE_START_REQ *)(ptr))->d_t2_off = ((T_MMI_TONE_REQ *)(msg->SigP))->d_t2_off; | |
3554 | |
3555 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_TONE_START_REQ)); | |
3556 } | |
3557 } | |
3558 break; | |
3559 | |
3560 case MMI_TONE_START_CON: | |
3561 { | |
3562 char *ptr; | |
3563 | |
3564 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_TONE_START_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3565 { | |
3566 | |
3567 ((T_TR_MMI_TONE_START_CON *)(ptr))->header = TRL1_MMI_TONE_START_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3568 | |
3569 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_TONE_START_CON)); | |
3570 } | |
3571 } | |
3572 break; | |
3573 | |
3574 case MMI_TONE_STOP_REQ: | |
3575 { | |
3576 char *ptr; | |
3577 | |
3578 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_TONE_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3579 { | |
3580 | |
3581 ((T_TR_MMI_TONE_STOP_REQ *)(ptr))->header = TRL1_MMI_TONE_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3582 | |
3583 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_TONE_STOP_REQ)); | |
3584 } | |
3585 } | |
3586 break; | |
3587 | |
3588 case MMI_TONE_STOP_CON: | |
3589 { | |
3590 char *ptr; | |
3591 | |
3592 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_TONE_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3593 { | |
3594 | |
3595 ((T_TR_MMI_TONE_STOP_CON *)(ptr))->header = TRL1_MMI_TONE_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3596 | |
3597 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_TONE_STOP_CON)); | |
3598 } | |
3599 } | |
3600 break; | |
3601 #endif // TONE | |
3602 | |
3603 #if (MELODY_E1) | |
3604 // Melody 0 | |
3605 case MMI_MELODY0_START_REQ: | |
3606 { | |
3607 char *ptr; | |
3608 | |
3609 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY0_START_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3610 { | |
3611 | |
3612 ((T_TR_MMI_MELODY0_START_REQ *)(ptr))->header = TRL1_MMI_MELODY0_START_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3613 ((T_TR_MMI_MELODY0_START_REQ *)(ptr))->session_id = ((T_MMI_MELODY_REQ *)(msg->SigP))->session_id; | |
3614 ((T_TR_MMI_MELODY0_START_REQ *)(ptr))->loopback = ((T_MMI_MELODY_REQ *)(msg->SigP))->loopback; | |
3615 ((T_TR_MMI_MELODY0_START_REQ *)(ptr))->oscillator_used_bitmap = ((T_MMI_MELODY_REQ *)(msg->SigP))->oscillator_used_bitmap; | |
3616 | |
3617 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY0_START_REQ)); | |
3618 } | |
3619 } | |
3620 break; | |
3621 | |
3622 case MMI_MELODY0_START_CON: | |
3623 { | |
3624 char *ptr; | |
3625 | |
3626 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY0_START_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3627 { | |
3628 | |
3629 ((T_TR_MMI_MELODY0_START_CON *)(ptr))->header = TRL1_MMI_MELODY0_START_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3630 | |
3631 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY0_START_CON)); | |
3632 } | |
3633 } | |
3634 break; | |
3635 | |
3636 case MMI_MELODY0_STOP_REQ: | |
3637 { | |
3638 char *ptr; | |
3639 | |
3640 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY0_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3641 { | |
3642 | |
3643 ((T_TR_MMI_MELODY0_STOP_REQ *)(ptr))->header = TRL1_MMI_MELODY0_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3644 | |
3645 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY0_STOP_REQ)); | |
3646 } | |
3647 } | |
3648 break; | |
3649 | |
3650 case MMI_MELODY0_STOP_CON: | |
3651 { | |
3652 char *ptr; | |
3653 | |
3654 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY0_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3655 { | |
3656 | |
3657 ((T_TR_MMI_MELODY0_STOP_CON *)(ptr))->header = TRL1_MMI_MELODY0_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3658 | |
3659 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY0_STOP_CON)); | |
3660 } | |
3661 } | |
3662 break; | |
3663 | |
3664 // Melody 1 | |
3665 case MMI_MELODY1_START_REQ: | |
3666 { | |
3667 char *ptr; | |
3668 | |
3669 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY1_START_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3670 { | |
3671 | |
3672 ((T_TR_MMI_MELODY1_START_REQ *)(ptr))->header = TRL1_MMI_MELODY1_START_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3673 ((T_TR_MMI_MELODY1_START_REQ *)(ptr))->session_id = ((T_MMI_MELODY_REQ *)(msg->SigP))->session_id; | |
3674 ((T_TR_MMI_MELODY1_START_REQ *)(ptr))->loopback = ((T_MMI_MELODY_REQ *)(msg->SigP))->loopback; | |
3675 ((T_TR_MMI_MELODY1_START_REQ *)(ptr))->oscillator_used_bitmap = ((T_MMI_MELODY_REQ *)(msg->SigP))->oscillator_used_bitmap; | |
3676 | |
3677 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY1_START_REQ)); | |
3678 } | |
3679 } | |
3680 break; | |
3681 | |
3682 case MMI_MELODY1_START_CON: | |
3683 { | |
3684 char *ptr; | |
3685 | |
3686 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY1_START_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3687 { | |
3688 | |
3689 ((T_TR_MMI_MELODY1_START_CON *)(ptr))->header = TRL1_MMI_MELODY1_START_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3690 | |
3691 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY1_START_CON)); | |
3692 } | |
3693 } | |
3694 break; | |
3695 | |
3696 case MMI_MELODY1_STOP_REQ: | |
3697 { | |
3698 char *ptr; | |
3699 | |
3700 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY1_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3701 { | |
3702 | |
3703 ((T_TR_MMI_MELODY1_STOP_REQ *)(ptr))->header = TRL1_MMI_MELODY1_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3704 | |
3705 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY1_STOP_REQ)); | |
3706 } | |
3707 } | |
3708 break; | |
3709 | |
3710 case MMI_MELODY1_STOP_CON: | |
3711 { | |
3712 char *ptr; | |
3713 | |
3714 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY1_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3715 { | |
3716 | |
3717 ((T_TR_MMI_MELODY1_STOP_CON *)(ptr))->header = TRL1_MMI_MELODY1_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3718 | |
3719 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY1_STOP_CON)); | |
3720 } | |
3721 } | |
3722 break; | |
3723 #endif // MELODY_E1 | |
3724 | |
3725 #if (VOICE_MEMO) | |
3726 // Voice memo recording | |
3727 case MMI_VM_RECORD_START_REQ: | |
3728 { | |
3729 char *ptr; | |
3730 | |
3731 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_RECORD_START_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3732 { | |
3733 | |
3734 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->header = TRL1_MMI_VM_RECORD_START_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3735 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->session_id = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->session_id; | |
3736 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->maximum_size = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->maximum_size; | |
3737 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->dtx_used = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->dtx_used; | |
3738 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->record_coeff_dl = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->record_coeff_dl; | |
3739 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->record_coeff_ul = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->record_coeff_ul; | |
3740 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->d_k_x1_t0 = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->d_k_x1_t0; | |
3741 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->d_k_x1_t1 = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->d_k_x1_t1; | |
3742 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->d_k_x1_t2 = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->d_k_x1_t2; | |
3743 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->d_pe_rep = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->d_pe_rep; | |
3744 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->d_pe_off = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->d_pe_off; | |
3745 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->d_se_off = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->d_se_off; | |
3746 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->d_bu_off = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->d_bu_off; | |
3747 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->d_t0_on = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->d_t0_on; | |
3748 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->d_t0_off = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->d_t0_off; | |
3749 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->d_t1_on = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->d_t1_on; | |
3750 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->d_t1_off = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->d_t1_off; | |
3751 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->d_t2_on = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->d_t2_on; | |
3752 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->d_t2_off = ((T_MMI_VM_RECORD_REQ *)(msg->SigP))->d_t2_off; | |
3753 | |
3754 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_RECORD_START_REQ)); | |
3755 } | |
3756 } | |
3757 break; | |
3758 | |
3759 case MMI_VM_RECORD_START_CON: | |
3760 { | |
3761 char *ptr; | |
3762 | |
3763 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_RECORD_START_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3764 { | |
3765 | |
3766 ((T_TR_MMI_VM_RECORD_START_CON *)(ptr))->header = TRL1_MMI_VM_RECORD_START_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3767 | |
3768 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_RECORD_START_CON)); | |
3769 } | |
3770 } | |
3771 break; | |
3772 | |
3773 case MMI_VM_RECORD_STOP_REQ: | |
3774 { | |
3775 char *ptr; | |
3776 | |
3777 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_RECORD_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3778 { | |
3779 | |
3780 ((T_TR_MMI_VM_RECORD_STOP_REQ *)(ptr))->header = TRL1_MMI_VM_RECORD_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3781 | |
3782 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_RECORD_STOP_REQ)); | |
3783 } | |
3784 } | |
3785 break; | |
3786 | |
3787 case MMI_VM_RECORD_STOP_CON: | |
3788 { | |
3789 char *ptr; | |
3790 | |
3791 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_RECORD_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3792 { | |
3793 | |
3794 ((T_TR_MMI_VM_RECORD_STOP_CON *)(ptr))->header = TRL1_MMI_VM_RECORD_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3795 | |
3796 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_RECORD_STOP_CON)); | |
3797 } | |
3798 } | |
3799 break; | |
3800 | |
3801 // Voice memo playing | |
3802 case MMI_VM_PLAY_START_REQ: | |
3803 { | |
3804 char *ptr; | |
3805 | |
3806 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_PLAY_START_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3807 { | |
3808 | |
3809 ((T_TR_MMI_VM_PLAY_START_REQ *)(ptr))->header = TRL1_MMI_VM_PLAY_START_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3810 ((T_TR_MMI_VM_PLAY_START_REQ *)(ptr))->session_id = ((T_MMI_VM_PLAY_REQ *)(msg->SigP))->session_id; | |
3811 | |
3812 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_PLAY_START_REQ)); | |
3813 } | |
3814 } | |
3815 break; | |
3816 | |
3817 case MMI_VM_PLAY_START_CON: | |
3818 { | |
3819 char *ptr; | |
3820 | |
3821 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_PLAY_START_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3822 { | |
3823 | |
3824 ((T_TR_MMI_VM_PLAY_START_CON *)(ptr))->header = TRL1_MMI_VM_PLAY_START_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3825 | |
3826 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_PLAY_START_CON)); | |
3827 } | |
3828 } | |
3829 break; | |
3830 | |
3831 case MMI_VM_PLAY_STOP_REQ: | |
3832 { | |
3833 char *ptr; | |
3834 | |
3835 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_PLAY_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3836 { | |
3837 | |
3838 ((T_TR_MMI_VM_PLAY_STOP_REQ *)(ptr))->header = TRL1_MMI_VM_PLAY_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3839 | |
3840 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_PLAY_STOP_REQ)); | |
3841 } | |
3842 } | |
3843 break; | |
3844 | |
3845 case MMI_VM_PLAY_STOP_CON: | |
3846 { | |
3847 char *ptr; | |
3848 | |
3849 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_PLAY_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3850 { | |
3851 | |
3852 ((T_TR_MMI_VM_PLAY_STOP_CON *)(ptr))->header = TRL1_MMI_VM_PLAY_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3853 | |
3854 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_PLAY_STOP_CON)); | |
3855 } | |
3856 } | |
3857 break; | |
3858 #endif // VOICE_MEMO | |
3859 | |
3860 #if (L1_VOICE_MEMO_AMR) | |
3861 // Voice memo recording | |
3862 case MMI_VM_AMR_RECORD_START_REQ: | |
3863 { | |
3864 char *ptr; | |
3865 | |
3866 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_AMR_RECORD_START_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3867 { | |
3868 | |
3869 ((T_TR_MMI_VM_AMR_RECORD_START_REQ *)(ptr))->header = TRL1_MMI_VM_AMR_RECORD_START_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3870 ((T_TR_MMI_VM_AMR_RECORD_START_REQ *)(ptr))->session_id = ((T_MMI_VM_AMR_RECORD_REQ *)(msg->SigP))->session_id; | |
3871 ((T_TR_MMI_VM_AMR_RECORD_START_REQ *)(ptr))->maximum_size = ((T_MMI_VM_AMR_RECORD_REQ *)(msg->SigP))->maximum_size; | |
3872 ((T_TR_MMI_VM_AMR_RECORD_START_REQ *)(ptr))->dtx_used = ((T_MMI_VM_AMR_RECORD_REQ *)(msg->SigP))->dtx_used; | |
3873 ((T_TR_MMI_VM_RECORD_START_REQ *)(ptr))->record_coeff_ul = ((T_MMI_VM_AMR_RECORD_REQ *)(msg->SigP))->record_coeff_ul; | |
3874 ((T_TR_MMI_VM_AMR_RECORD_START_REQ *)(ptr))->amr_vocoder = ((T_MMI_VM_AMR_RECORD_REQ *)(msg->SigP))->amr_vocoder; | |
3875 | |
3876 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_AMR_RECORD_START_REQ)); | |
3877 } | |
3878 } | |
3879 break; | |
3880 | |
3881 case MMI_VM_AMR_RECORD_START_CON: | |
3882 { | |
3883 char *ptr; | |
3884 | |
3885 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_AMR_RECORD_START_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3886 { | |
3887 | |
3888 ((T_TR_MMI_VM_AMR_RECORD_START_CON *)(ptr))->header = TRL1_MMI_VM_AMR_RECORD_START_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3889 | |
3890 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_AMR_RECORD_START_CON)); | |
3891 } | |
3892 } | |
3893 break; | |
3894 | |
3895 case MMI_VM_AMR_RECORD_STOP_REQ: | |
3896 { | |
3897 char *ptr; | |
3898 | |
3899 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_AMR_RECORD_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3900 { | |
3901 | |
3902 ((T_TR_MMI_VM_AMR_RECORD_STOP_REQ *)(ptr))->header = TRL1_MMI_VM_AMR_RECORD_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3903 | |
3904 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_AMR_RECORD_STOP_REQ)); | |
3905 } | |
3906 } | |
3907 break; | |
3908 | |
3909 case MMI_VM_AMR_RECORD_STOP_CON: | |
3910 { | |
3911 char *ptr; | |
3912 | |
3913 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_AMR_RECORD_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3914 { | |
3915 | |
3916 ((T_TR_MMI_VM_AMR_RECORD_STOP_CON *)(ptr))->header = TRL1_MMI_VM_AMR_RECORD_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3917 | |
3918 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_AMR_RECORD_STOP_CON)); | |
3919 } | |
3920 } | |
3921 break; | |
3922 | |
3923 // Voice memo playing | |
3924 case MMI_VM_AMR_PLAY_START_REQ: | |
3925 { | |
3926 char *ptr; | |
3927 | |
3928 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_AMR_PLAY_START_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3929 { | |
3930 | |
3931 ((T_TR_MMI_VM_AMR_PLAY_START_REQ *)(ptr))->header = TRL1_MMI_VM_AMR_PLAY_START_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3932 ((T_TR_MMI_VM_AMR_PLAY_START_REQ *)(ptr))->session_id = ((T_MMI_VM_AMR_PLAY_REQ *)(msg->SigP))->session_id; | |
3933 | |
3934 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_AMR_PLAY_START_REQ)); | |
3935 } | |
3936 } | |
3937 break; | |
3938 | |
3939 case MMI_VM_AMR_PLAY_START_CON: | |
3940 { | |
3941 char *ptr; | |
3942 | |
3943 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_AMR_PLAY_START_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3944 { | |
3945 | |
3946 ((T_TR_MMI_VM_AMR_PLAY_START_CON *)(ptr))->header = TRL1_MMI_VM_AMR_PLAY_START_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3947 | |
3948 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_AMR_PLAY_START_CON)); | |
3949 } | |
3950 } | |
3951 break; | |
3952 | |
3953 case MMI_VM_AMR_PLAY_STOP_REQ: | |
3954 { | |
3955 char *ptr; | |
3956 | |
3957 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_AMR_PLAY_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3958 { | |
3959 | |
3960 ((T_TR_MMI_VM_AMR_PLAY_STOP_REQ *)(ptr))->header = TRL1_MMI_VM_AMR_PLAY_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3961 | |
3962 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_AMR_PLAY_STOP_REQ)); | |
3963 } | |
3964 } | |
3965 break; | |
3966 | |
3967 case MMI_VM_AMR_PLAY_STOP_CON: | |
3968 { | |
3969 char *ptr; | |
3970 | |
3971 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_AMR_PLAY_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3972 { | |
3973 | |
3974 ((T_TR_MMI_VM_AMR_PLAY_STOP_CON *)(ptr))->header = TRL1_MMI_VM_AMR_PLAY_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3975 | |
3976 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_AMR_PLAY_STOP_CON)); | |
3977 } | |
3978 } | |
3979 break; | |
3980 case MMI_VM_AMR_PAUSE_REQ: | |
3981 { | |
3982 char *ptr; | |
3983 | |
3984 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_AMR_PAUSE_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3985 { | |
3986 | |
3987 ((T_TR_MMI_VM_AMR_PAUSE_REQ *)(ptr))->header = TRL1_MMI_VM_AMR_PAUSE_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
3988 | |
3989 | |
3990 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_AMR_PAUSE_REQ)); | |
3991 } | |
3992 } | |
3993 break; | |
3994 case MMI_VM_AMR_RESUME_REQ: | |
3995 { | |
3996 char *ptr; | |
3997 | |
3998 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_AMR_RESUME_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
3999 { | |
4000 | |
4001 ((T_TR_MMI_VM_AMR_RESUME_REQ *)(ptr))->header = TRL1_MMI_VM_AMR_RESUME_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4002 // ((T_TR_MMI_VM_AMR_RESUME_REQ *)(ptr))->session_id = ((T_MMI_VM_AMR_RESUME_REQ *)(msg->SigP))->session_id; | |
4003 | |
4004 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_AMR_RESUME_REQ)); | |
4005 } | |
4006 } | |
4007 break; | |
4008 | |
4009 case MMI_VM_AMR_PAUSE_CON: | |
4010 { | |
4011 char *ptr; | |
4012 | |
4013 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_AMR_PAUSE_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4014 { | |
4015 | |
4016 ((T_TR_MMI_VM_AMR_PAUSE_CON *)(ptr))->header = TRL1_MMI_VM_AMR_PAUSE_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4017 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_AMR_PAUSE_CON)); | |
4018 } | |
4019 } | |
4020 break; | |
4021 case MMI_VM_AMR_RESUME_CON: | |
4022 { | |
4023 char *ptr; | |
4024 | |
4025 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_VM_AMR_RESUME_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4026 { | |
4027 | |
4028 ((T_TR_MMI_VM_AMR_RESUME_CON *)(ptr))->header = TRL1_MMI_VM_AMR_RESUME_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4029 | |
4030 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_VM_AMR_RESUME_CON)); | |
4031 } | |
4032 } | |
4033 break; | |
4034 | |
4035 | |
4036 | |
4037 | |
4038 #endif // L1_VOICE_MEMO_AMR | |
4039 | |
4040 #if (SPEECH_RECO) | |
4041 case MMI_SR_ENROLL_START_REQ: | |
4042 { | |
4043 char *ptr; | |
4044 | |
4045 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_ENROLL_START_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4046 { | |
4047 | |
4048 ((T_TR_MMI_SR_ENROLL_START_REQ *)(ptr))->header = TRL1_MMI_SR_ENROLL_START_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4049 ((T_TR_MMI_SR_ENROLL_START_REQ *)(ptr))->database_id = ((T_MMI_SR_ENROLL_REQ *)(msg->SigP))->database_id; | |
4050 ((T_TR_MMI_SR_ENROLL_START_REQ *)(ptr))->word_index = ((T_MMI_SR_ENROLL_REQ *)(msg->SigP))->word_index; | |
4051 ((T_TR_MMI_SR_ENROLL_START_REQ *)(ptr))->speech = ((T_MMI_SR_ENROLL_REQ *)(msg->SigP))->speech; | |
4052 ((T_TR_MMI_SR_ENROLL_START_REQ *)(ptr))->speech_address = (UWORD32) ((T_MMI_SR_ENROLL_REQ *)(msg->SigP))->speech_address; | |
4053 | |
4054 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_ENROLL_START_REQ)); | |
4055 } | |
4056 } | |
4057 break; | |
4058 | |
4059 case MMI_SR_ENROLL_STOP_REQ: | |
4060 { | |
4061 char *ptr; | |
4062 | |
4063 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_ENROLL_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4064 { | |
4065 | |
4066 ((T_TR_MMI_SR_ENROLL_STOP_REQ *)(ptr))->header = TRL1_MMI_SR_ENROLL_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4067 | |
4068 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_ENROLL_STOP_REQ)); | |
4069 } | |
4070 } | |
4071 break; | |
4072 | |
4073 case MMI_SR_ENROLL_START_CON: | |
4074 { | |
4075 char *ptr; | |
4076 | |
4077 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_ENROLL_START_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4078 { | |
4079 | |
4080 ((T_TR_MMI_SR_ENROLL_START_CON *)(ptr))->header = TRL1_MMI_SR_ENROLL_START_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4081 | |
4082 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_ENROLL_START_CON)); | |
4083 } | |
4084 } | |
4085 break; | |
4086 | |
4087 case MMI_SR_ENROLL_STOP_CON: | |
4088 { | |
4089 char *ptr; | |
4090 | |
4091 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_ENROLL_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4092 { | |
4093 | |
4094 ((T_TR_MMI_SR_ENROLL_STOP_CON *)(ptr))->header = TRL1_MMI_SR_ENROLL_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4095 ((T_TR_MMI_SR_ENROLL_STOP_CON *)(ptr))->error_id = ((T_MMI_SR_ENROLL_STOP_CON *)(msg->SigP))->error_id; | |
4096 | |
4097 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_ENROLL_STOP_CON)); | |
4098 } | |
4099 } | |
4100 break; | |
4101 | |
4102 case MMI_SR_UPDATE_START_REQ: | |
4103 { | |
4104 char *ptr; | |
4105 | |
4106 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_UPDATE_START_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4107 { | |
4108 | |
4109 ((T_TR_MMI_SR_UPDATE_START_REQ *)(ptr))->header = TRL1_MMI_SR_UPDATE_START_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4110 ((T_TR_MMI_SR_UPDATE_START_REQ *)(ptr))->database_id = ((T_MMI_SR_UPDATE_REQ *)(msg->SigP))->database_id; | |
4111 ((T_TR_MMI_SR_UPDATE_START_REQ *)(ptr))->word_index = ((T_MMI_SR_UPDATE_REQ *)(msg->SigP))->word_index; | |
4112 ((T_TR_MMI_SR_UPDATE_START_REQ *)(ptr))->speech = ((T_MMI_SR_UPDATE_REQ *)(msg->SigP))->speech; | |
4113 ((T_TR_MMI_SR_UPDATE_START_REQ *)(ptr))->speech_address = ((T_MMI_SR_UPDATE_REQ *)(msg->SigP))->speech_address; | |
4114 | |
4115 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_UPDATE_START_REQ)); | |
4116 } | |
4117 } | |
4118 break; | |
4119 | |
4120 case MMI_SR_UPDATE_STOP_REQ: | |
4121 { | |
4122 char *ptr; | |
4123 | |
4124 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_UPDATE_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4125 { | |
4126 | |
4127 ((T_TR_MMI_SR_UPDATE_STOP_REQ *)(ptr))->header = TRL1_MMI_SR_UPDATE_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4128 | |
4129 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_UPDATE_STOP_REQ)); | |
4130 } | |
4131 } | |
4132 break; | |
4133 | |
4134 case MMI_SR_UPDATE_START_CON: | |
4135 { | |
4136 char *ptr; | |
4137 | |
4138 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_UPDATE_START_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4139 { | |
4140 | |
4141 ((T_TR_MMI_SR_UPDATE_START_CON *)(ptr))->header = TRL1_MMI_SR_UPDATE_START_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4142 | |
4143 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_UPDATE_START_CON)); | |
4144 } | |
4145 } | |
4146 break; | |
4147 | |
4148 case MMI_SR_UPDATE_STOP_CON: | |
4149 { | |
4150 char *ptr; | |
4151 | |
4152 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_UPDATE_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4153 { | |
4154 | |
4155 ((T_TR_MMI_SR_UPDATE_STOP_CON *)(ptr))->header = TRL1_MMI_SR_UPDATE_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4156 ((T_TR_MMI_SR_UPDATE_STOP_CON *)(ptr))->error_id = ((T_MMI_SR_UPDATE_STOP_CON *)(msg->SigP))->error_id; | |
4157 | |
4158 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_UPDATE_STOP_CON)); | |
4159 } | |
4160 } | |
4161 break; | |
4162 | |
4163 case MMI_SR_RECO_START_REQ: | |
4164 { | |
4165 char *ptr; | |
4166 | |
4167 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_RECO_START_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4168 { | |
4169 | |
4170 ((T_TR_MMI_SR_RECO_START_REQ *)(ptr))->header = TRL1_MMI_SR_RECO_START_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4171 ((T_TR_MMI_SR_RECO_START_REQ *)(ptr))->database_id = ((T_MMI_SR_RECO_REQ *)(msg->SigP))->database_id; | |
4172 ((T_TR_MMI_SR_RECO_START_REQ *)(ptr))->vocabulary_size = ((T_MMI_SR_RECO_REQ *)(msg->SigP))->vocabulary_size; | |
4173 | |
4174 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_RECO_START_REQ)); | |
4175 } | |
4176 } | |
4177 break; | |
4178 | |
4179 case MMI_SR_RECO_STOP_REQ: | |
4180 { | |
4181 char *ptr; | |
4182 | |
4183 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_RECO_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4184 { | |
4185 | |
4186 ((T_TR_MMI_SR_RECO_STOP_REQ *)(ptr))->header = TRL1_MMI_SR_RECO_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4187 | |
4188 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_RECO_STOP_REQ)); | |
4189 } | |
4190 } | |
4191 break; | |
4192 | |
4193 case MMI_SR_RECO_START_CON: | |
4194 { | |
4195 char *ptr; | |
4196 | |
4197 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_RECO_START_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4198 { | |
4199 | |
4200 ((T_TR_MMI_SR_RECO_START_CON *)(ptr))->header = TRL1_MMI_SR_RECO_START_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4201 | |
4202 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_RECO_START_CON)); | |
4203 } | |
4204 } | |
4205 break; | |
4206 | |
4207 case MMI_SR_RECO_STOP_CON: | |
4208 { | |
4209 char *ptr; | |
4210 | |
4211 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_RECO_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4212 { | |
4213 | |
4214 ((T_TR_MMI_SR_RECO_STOP_CON *)(ptr))->header = TRL1_MMI_SR_RECO_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4215 ((T_TR_MMI_SR_RECO_STOP_CON *)(ptr))->error_id = ((T_MMI_SR_RECO_STOP_CON *)(msg->SigP))->error_id; | |
4216 ((T_TR_MMI_SR_RECO_STOP_CON *)(ptr))->best_word_index = ((T_MMI_SR_RECO_STOP_CON *)(msg->SigP))->best_word_index; | |
4217 ((T_TR_MMI_SR_RECO_STOP_CON *)(ptr))->best_word_score = ((T_MMI_SR_RECO_STOP_CON *)(msg->SigP))->best_word_score; | |
4218 ((T_TR_MMI_SR_RECO_STOP_CON *)(ptr))->second_best_word_index = ((T_MMI_SR_RECO_STOP_CON *)(msg->SigP))->second_best_word_index; | |
4219 ((T_TR_MMI_SR_RECO_STOP_CON *)(ptr))->second_best_word_score = ((T_MMI_SR_RECO_STOP_CON *)(msg->SigP))->second_best_word_score; | |
4220 ((T_TR_MMI_SR_RECO_STOP_CON *)(ptr))->third_best_word_index = ((T_MMI_SR_RECO_STOP_CON *)(msg->SigP))->third_best_word_index; | |
4221 ((T_TR_MMI_SR_RECO_STOP_CON *)(ptr))->third_best_word_score = ((T_MMI_SR_RECO_STOP_CON *)(msg->SigP))->third_best_word_score; | |
4222 ((T_TR_MMI_SR_RECO_STOP_CON *)(ptr))->fourth_best_word_index = ((T_MMI_SR_RECO_STOP_CON *)(msg->SigP))->fourth_best_word_index; | |
4223 ((T_TR_MMI_SR_RECO_STOP_CON *)(ptr))->fourth_best_word_score = ((T_MMI_SR_RECO_STOP_CON *)(msg->SigP))->fourth_best_word_score; | |
4224 ((T_TR_MMI_SR_RECO_STOP_CON *)(ptr))->d_sr_db_level = ((T_MMI_SR_RECO_STOP_CON *)(msg->SigP))->d_sr_db_level; | |
4225 ((T_TR_MMI_SR_RECO_STOP_CON *)(ptr))->d_sr_db_noise = ((T_MMI_SR_RECO_STOP_CON *)(msg->SigP))->d_sr_db_noise; | |
4226 ((T_TR_MMI_SR_RECO_STOP_CON *)(ptr))->d_sr_model_size = ((T_MMI_SR_RECO_STOP_CON *)(msg->SigP))->d_sr_model_size; | |
4227 | |
4228 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_RECO_STOP_CON)); | |
4229 } | |
4230 } | |
4231 break; | |
4232 | |
4233 case MMI_SR_UPDATE_CHECK_START_REQ: | |
4234 { | |
4235 char *ptr; | |
4236 | |
4237 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_UPDATE_CHECK_START_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4238 { | |
4239 | |
4240 ((T_TR_MMI_SR_UPDATE_CHECK_START_REQ *)(ptr))->header = TRL1_MMI_SR_UPDATE_CHECK_START_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4241 ((T_TR_MMI_SR_UPDATE_CHECK_START_REQ *)(ptr))->database_id = ((T_MMI_SR_UPDATE_CHECK_REQ *)(msg->SigP))->database_id; | |
4242 ((T_TR_MMI_SR_UPDATE_CHECK_START_REQ *)(ptr))->word_index = ((T_MMI_SR_UPDATE_CHECK_REQ *)(msg->SigP))->word_index; | |
4243 ((T_TR_MMI_SR_UPDATE_CHECK_START_REQ *)(ptr))->model_address = (UWORD32) ((T_MMI_SR_UPDATE_CHECK_REQ *)(msg->SigP))->model_address; | |
4244 ((T_TR_MMI_SR_UPDATE_CHECK_START_REQ *)(ptr))->speech = ((T_MMI_SR_UPDATE_CHECK_REQ *)(msg->SigP))->speech; | |
4245 ((T_TR_MMI_SR_UPDATE_CHECK_START_REQ *)(ptr))->speech_address = (UWORD32) ((T_MMI_SR_UPDATE_CHECK_REQ *)(msg->SigP))->speech_address; | |
4246 ((T_TR_MMI_SR_UPDATE_CHECK_START_REQ *)(ptr))->vocabulary_size = ((T_MMI_SR_UPDATE_CHECK_REQ *)(msg->SigP))->vocabulary_size; | |
4247 | |
4248 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_UPDATE_CHECK_START_REQ)); | |
4249 } | |
4250 } | |
4251 break; | |
4252 | |
4253 case MMI_SR_UPDATE_CHECK_STOP_REQ: | |
4254 { | |
4255 char *ptr; | |
4256 | |
4257 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_UPDATE_CHECK_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4258 { | |
4259 | |
4260 ((T_TR_MMI_SR_UPDATE_CHECK_STOP_REQ *)(ptr))->header = TRL1_MMI_SR_UPDATE_CHECK_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4261 | |
4262 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_UPDATE_CHECK_STOP_REQ)); | |
4263 } | |
4264 } | |
4265 break; | |
4266 | |
4267 case MMI_SR_UPDATE_CHECK_START_CON: | |
4268 { | |
4269 char *ptr; | |
4270 | |
4271 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_UPDATE_CHECK_START_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4272 { | |
4273 | |
4274 ((T_TR_MMI_SR_UPDATE_CHECK_START_CON *)(ptr))->header = TRL1_MMI_SR_UPDATE_CHECK_START_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4275 | |
4276 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_UPDATE_CHECK_START_CON)); | |
4277 } | |
4278 } | |
4279 break; | |
4280 | |
4281 case MMI_SR_UPDATE_CHECK_STOP_CON: | |
4282 { | |
4283 char *ptr; | |
4284 | |
4285 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_SR_UPDATE_CHECK_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4286 { | |
4287 | |
4288 ((T_TR_MMI_SR_UPDATE_CHECK_STOP_CON *)(ptr))->header = TRL1_MMI_SR_UPDATE_CHECK_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4289 ((T_TR_MMI_SR_UPDATE_CHECK_STOP_CON *)(ptr))->error_id = ((T_MMI_SR_UPDATE_CHECK_STOP_CON *)(msg->SigP))->error_id; | |
4290 ((T_TR_MMI_SR_UPDATE_CHECK_STOP_CON *)(ptr))->best_word_index = ((T_MMI_SR_UPDATE_CHECK_STOP_CON *)(msg->SigP))->best_word_index; | |
4291 ((T_TR_MMI_SR_UPDATE_CHECK_STOP_CON *)(ptr))->best_word_score = ((T_MMI_SR_UPDATE_CHECK_STOP_CON *)(msg->SigP))->best_word_score; | |
4292 ((T_TR_MMI_SR_UPDATE_CHECK_STOP_CON *)(ptr))->second_best_word_index = ((T_MMI_SR_UPDATE_CHECK_STOP_CON *)(msg->SigP))->second_best_word_index; | |
4293 ((T_TR_MMI_SR_UPDATE_CHECK_STOP_CON *)(ptr))->second_best_word_score = ((T_MMI_SR_UPDATE_CHECK_STOP_CON *)(msg->SigP))->second_best_word_score; | |
4294 ((T_TR_MMI_SR_UPDATE_CHECK_STOP_CON *)(ptr))->third_best_word_index = ((T_MMI_SR_UPDATE_CHECK_STOP_CON *)(msg->SigP))->third_best_word_index; | |
4295 ((T_TR_MMI_SR_UPDATE_CHECK_STOP_CON *)(ptr))->third_best_word_score = ((T_MMI_SR_UPDATE_CHECK_STOP_CON *)(msg->SigP))->third_best_word_score; | |
4296 ((T_TR_MMI_SR_UPDATE_CHECK_STOP_CON *)(ptr))->fourth_best_word_index = ((T_MMI_SR_UPDATE_CHECK_STOP_CON *)(msg->SigP))->fourth_best_word_index; | |
4297 ((T_TR_MMI_SR_UPDATE_CHECK_STOP_CON *)(ptr))->fourth_best_word_score = ((T_MMI_SR_UPDATE_CHECK_STOP_CON *)(msg->SigP))->fourth_best_word_score; | |
4298 ((T_TR_MMI_SR_UPDATE_CHECK_STOP_CON *)(ptr))->d_sr_db_level = ((T_MMI_SR_UPDATE_CHECK_STOP_CON *)(msg->SigP))->d_sr_db_level; | |
4299 ((T_TR_MMI_SR_UPDATE_CHECK_STOP_CON *)(ptr))->d_sr_db_noise = ((T_MMI_SR_UPDATE_CHECK_STOP_CON *)(msg->SigP))->d_sr_db_noise; | |
4300 ((T_TR_MMI_SR_UPDATE_CHECK_STOP_CON *)(ptr))->d_sr_model_size = ((T_MMI_SR_UPDATE_CHECK_STOP_CON *)(msg->SigP))->d_sr_model_size; | |
4301 | |
4302 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_SR_UPDATE_CHECK_STOP_CON)); | |
4303 } | |
4304 } | |
4305 break; | |
4306 | |
4307 case L1_SRBACK_SAVE_DATA_REQ: | |
4308 { | |
4309 char *ptr; | |
4310 | |
4311 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_SRBACK_SAVE_DATA_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4312 { | |
4313 | |
4314 ((T_TR_L1_SRBACK_SAVE_DATA_REQ *)(ptr))->header = TRL1_L1_SRBACK_SAVE_DATA_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4315 ((T_TR_L1_SRBACK_SAVE_DATA_REQ *)(ptr))->database_id = ((T_L1_SRBACK_SAVE_DATA_REQ *)(msg->SigP))->database_id; | |
4316 ((T_TR_L1_SRBACK_SAVE_DATA_REQ *)(ptr))->model_index = ((T_L1_SRBACK_SAVE_DATA_REQ *)(msg->SigP))->model_index; | |
4317 ((T_TR_L1_SRBACK_SAVE_DATA_REQ *)(ptr))->model_RAM_address = (UWORD32) ((T_L1_SRBACK_SAVE_DATA_REQ *)(msg->SigP))->model_RAM_address; | |
4318 ((T_TR_L1_SRBACK_SAVE_DATA_REQ *)(ptr))->speech = ((T_L1_SRBACK_SAVE_DATA_REQ *)(msg->SigP))->speech; | |
4319 ((T_TR_L1_SRBACK_SAVE_DATA_REQ *)(ptr))->start_buffer = (UWORD32) ((T_L1_SRBACK_SAVE_DATA_REQ *)(msg->SigP))->start_buffer; | |
4320 ((T_TR_L1_SRBACK_SAVE_DATA_REQ *)(ptr))->stop_buffer = (UWORD32) ((T_L1_SRBACK_SAVE_DATA_REQ *)(msg->SigP))->stop_buffer; | |
4321 ((T_TR_L1_SRBACK_SAVE_DATA_REQ *)(ptr))->start_address = (UWORD32) ((T_L1_SRBACK_SAVE_DATA_REQ *)(msg->SigP))->start_address; | |
4322 ((T_TR_L1_SRBACK_SAVE_DATA_REQ *)(ptr))->stop_address = (UWORD32) ((T_L1_SRBACK_SAVE_DATA_REQ *)(msg->SigP))->stop_address; | |
4323 | |
4324 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_SRBACK_SAVE_DATA_REQ)); | |
4325 } | |
4326 } | |
4327 break; | |
4328 | |
4329 case L1_SRBACK_SAVE_DATA_CON: | |
4330 { | |
4331 char *ptr; | |
4332 | |
4333 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_SRBACK_SAVE_DATA_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4334 { | |
4335 | |
4336 ((T_TR_L1_SRBACK_SAVE_DATA_CON *)(ptr))->header = TRL1_L1_SRBACK_SAVE_DATA_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4337 | |
4338 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_SRBACK_SAVE_DATA_CON)); | |
4339 } | |
4340 } | |
4341 break; | |
4342 | |
4343 case L1_SRBACK_LOAD_MODEL_REQ: | |
4344 { | |
4345 char *ptr; | |
4346 | |
4347 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_SRBACK_LOAD_MODEL_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4348 { | |
4349 | |
4350 ((T_TR_L1_SRBACK_LOAD_MODEL_REQ *)(ptr))->header = TRL1_L1_SRBACK_LOAD_MODEL_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4351 ((T_TR_L1_SRBACK_LOAD_MODEL_REQ *)(ptr))->database_id = ((T_L1_SRBACK_LOAD_MODEL_REQ *)(msg->SigP))->database_id; | |
4352 ((T_TR_L1_SRBACK_LOAD_MODEL_REQ *)(ptr))->model_index = ((T_L1_SRBACK_LOAD_MODEL_REQ *)(msg->SigP))->model_index; | |
4353 ((T_TR_L1_SRBACK_LOAD_MODEL_REQ *)(ptr))->model_RAM_address = (UWORD32) ((T_L1_SRBACK_LOAD_MODEL_REQ *)(msg->SigP))->model_RAM_address; | |
4354 ((T_TR_L1_SRBACK_LOAD_MODEL_REQ *)(ptr))->CTO_enable = ((T_L1_SRBACK_LOAD_MODEL_REQ *)(msg->SigP))->CTO_enable; | |
4355 | |
4356 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_SRBACK_LOAD_MODEL_REQ)); | |
4357 } | |
4358 } | |
4359 break; | |
4360 | |
4361 case L1_SRBACK_LOAD_MODEL_CON: | |
4362 { | |
4363 char *ptr; | |
4364 | |
4365 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_SRBACK_LOAD_MODEL_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4366 { | |
4367 | |
4368 ((T_TR_L1_SRBACK_LOAD_MODEL_CON *)(ptr))->header = TRL1_L1_SRBACK_LOAD_MODEL_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4369 | |
4370 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_SRBACK_LOAD_MODEL_CON)); | |
4371 } | |
4372 } | |
4373 break; | |
4374 | |
4375 case L1_SRBACK_TEMP_SAVE_DATA_REQ: | |
4376 { | |
4377 char *ptr; | |
4378 | |
4379 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_SRBACK_TEMP_SAVE_DATA_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4380 { | |
4381 | |
4382 ((T_TR_L1_SRBACK_TEMP_SAVE_DATA_REQ *)(ptr))->header = TRL1_L1_SRBACK_TEMP_SAVE_DATA_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4383 ((T_TR_L1_SRBACK_TEMP_SAVE_DATA_REQ *)(ptr))->model_RAM_address_input = (UWORD32) ((T_L1_SRBACK_TEMP_SAVE_DATA_REQ *)(msg->SigP))->model_RAM_address_input; | |
4384 ((T_TR_L1_SRBACK_TEMP_SAVE_DATA_REQ *)(ptr))->model_RAM_address_output = (UWORD32) ((T_L1_SRBACK_TEMP_SAVE_DATA_REQ *)(msg->SigP))->model_RAM_address_output; | |
4385 | |
4386 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_SRBACK_TEMP_SAVE_DATA_REQ)); | |
4387 } | |
4388 } | |
4389 break; | |
4390 | |
4391 case L1_SRBACK_TEMP_SAVE_DATA_CON: | |
4392 { | |
4393 char *ptr; | |
4394 | |
4395 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_SRBACK_TEMP_SAVE_DATA_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4396 { | |
4397 | |
4398 ((T_TR_L1_SRBACK_TEMP_SAVE_DATA_CON *)(ptr))->header = TRL1_L1_SRBACK_TEMP_SAVE_DATA_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4399 | |
4400 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_SRBACK_TEMP_SAVE_DATA_CON)); | |
4401 } | |
4402 } | |
4403 break; | |
4404 #endif // SPEECH_RECO | |
4405 #if (FIR) | |
4406 case MMI_AUDIO_FIR_REQ: | |
4407 { | |
4408 char *ptr; | |
4409 | |
4410 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_AUDIO_FIR_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4411 { | |
4412 | |
4413 ((T_TR_MMI_AUDIO_FIR_REQ *)(ptr))->header = TRL1_MMI_AUDIO_FIR_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4414 ((T_TR_MMI_AUDIO_FIR_REQ *)(ptr))->fir_loop = ((T_MMI_AUDIO_FIR_REQ *)(msg->SigP))->fir_loop; | |
4415 ((T_TR_MMI_AUDIO_FIR_REQ *)(ptr))->update_fir = ((T_MMI_AUDIO_FIR_REQ *)(msg->SigP))->update_fir; | |
4416 ((T_TR_MMI_AUDIO_FIR_REQ *)(ptr))->fir_ul_coefficient = (UWORD32) ((T_MMI_AUDIO_FIR_REQ *)(msg->SigP))->fir_ul_coefficient; | |
4417 ((T_TR_MMI_AUDIO_FIR_REQ *)(ptr))->fir_dl_coefficient = (UWORD32) ((T_MMI_AUDIO_FIR_REQ *)(msg->SigP))->fir_dl_coefficient; | |
4418 | |
4419 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_AUDIO_FIR_REQ)); | |
4420 } | |
4421 } | |
4422 break; | |
4423 | |
4424 case MMI_AUDIO_FIR_CON: | |
4425 { | |
4426 char *ptr; | |
4427 | |
4428 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_AUDIO_FIR_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4429 { | |
4430 | |
4431 ((T_TR_MMI_AUDIO_FIR_CON *)(ptr))->header = TRL1_MMI_AUDIO_FIR_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4432 | |
4433 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_AUDIO_FIR_CON)); | |
4434 } | |
4435 } | |
4436 break; | |
4437 #endif //FIR | |
4438 #if (L1_AEC == 1) | |
4439 case MMI_AEC_REQ: | |
4440 { | |
4441 char *ptr; | |
4442 | |
4443 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_AEC_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4444 { | |
4445 | |
4446 ((T_TR_MMI_AEC_REQ *)(ptr))->header = TRL1_MMI_AEC_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4447 ((T_TR_MMI_AEC_REQ *)(ptr))->aec_control = ((T_MMI_AEC_REQ *)(msg->SigP))->aec_control; | |
4448 | |
4449 #if (L1_NEW_AEC) | |
4450 ((T_TR_MMI_AEC_REQ *)(ptr))->cont_filter = ((T_MMI_AEC_REQ *)(msg->SigP))->cont_filter; | |
4451 ((T_TR_MMI_AEC_REQ *)(ptr))->granularity_att = ((T_MMI_AEC_REQ *)(msg->SigP))->granularity_att; | |
4452 ((T_TR_MMI_AEC_REQ *)(ptr))->coef_smooth = ((T_MMI_AEC_REQ *)(msg->SigP))->coef_smooth; | |
4453 ((T_TR_MMI_AEC_REQ *)(ptr))->es_level_max = ((T_MMI_AEC_REQ *)(msg->SigP))->es_level_max; | |
4454 ((T_TR_MMI_AEC_REQ *)(ptr))->fact_vad = ((T_MMI_AEC_REQ *)(msg->SigP))->fact_vad; | |
4455 ((T_TR_MMI_AEC_REQ *)(ptr))->thrs_abs = ((T_MMI_AEC_REQ *)(msg->SigP))->thrs_abs; | |
4456 ((T_TR_MMI_AEC_REQ *)(ptr))->fact_asd_fil = ((T_MMI_AEC_REQ *)(msg->SigP))->fact_asd_fil; | |
4457 ((T_TR_MMI_AEC_REQ *)(ptr))->fact_asd_mut = ((T_MMI_AEC_REQ *)(msg->SigP))->fact_asd_mut; | |
4458 #else | |
4459 ((T_TR_MMI_AEC_REQ *)(ptr))->cont_filter = 0; | |
4460 ((T_TR_MMI_AEC_REQ *)(ptr))->granularity_att = 0; | |
4461 ((T_TR_MMI_AEC_REQ *)(ptr))->coef_smooth = 0; | |
4462 ((T_TR_MMI_AEC_REQ *)(ptr))->es_level_max = 0; | |
4463 ((T_TR_MMI_AEC_REQ *)(ptr))->fact_vad = 0; | |
4464 ((T_TR_MMI_AEC_REQ *)(ptr))->thrs_abs = 0; | |
4465 ((T_TR_MMI_AEC_REQ *)(ptr))->fact_asd_fil = 0; | |
4466 ((T_TR_MMI_AEC_REQ *)(ptr))->fact_asd_mut = 0; | |
4467 #endif | |
4468 | |
4469 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_AEC_REQ)); | |
4470 } | |
4471 } | |
4472 break; | |
4473 | |
4474 #if (L1_NEW_AEC) | |
4475 case L1_AEC_IND: | |
4476 { | |
4477 char *ptr; | |
4478 | |
4479 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_AEC_IND), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4480 { | |
4481 | |
4482 ((T_TR_L1_AEC_IND *)(ptr))->header = TRL1_L1_AEC_IND | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4483 ((T_TR_L1_AEC_IND *)(ptr))->far_end_pow = ((T_L1_AEC_IND *)(msg->SigP))->far_end_pow; | |
4484 ((T_TR_L1_AEC_IND *)(ptr))->far_end_noise = ((T_L1_AEC_IND *)(msg->SigP))->far_end_noise; | |
4485 ((T_TR_L1_AEC_IND *)(ptr))->es_level = ((T_L1_AEC_IND *)(msg->SigP))->es_level; | |
4486 | |
4487 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_AEC_IND)); | |
4488 } | |
4489 } | |
4490 #endif | |
4491 | |
4492 case MMI_AEC_CON: | |
4493 { | |
4494 char *ptr; | |
4495 | |
4496 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_AEC_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4497 { | |
4498 | |
4499 ((T_TR_MMI_AEC_CON *)(ptr))->header = TRL1_MMI_AEC_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4500 | |
4501 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_AEC_CON)); | |
4502 } | |
4503 } | |
4504 break; | |
4505 #endif //AEC | |
4506 | |
4507 #if (AUDIO_MODE) | |
4508 case MMI_AUDIO_MODE_REQ: | |
4509 { | |
4510 char *ptr; | |
4511 | |
4512 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_AUDIO_MODE_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4513 { | |
4514 | |
4515 ((T_TR_MMI_AUDIO_MODE_REQ *)(ptr))->header = TRL1_MMI_AUDIO_MODE_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4516 ((T_TR_MMI_AUDIO_MODE_REQ *)(ptr))->audio_mode = ((T_MMI_AUDIO_MODE *)(msg->SigP))->audio_mode; | |
4517 | |
4518 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_AUDIO_MODE_REQ)); | |
4519 } | |
4520 } | |
4521 break; | |
4522 | |
4523 case MMI_AUDIO_MODE_CON: | |
4524 { | |
4525 char *ptr; | |
4526 | |
4527 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_AUDIO_MODE_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4528 { | |
4529 | |
4530 ((T_TR_MMI_AUDIO_MODE_CON *)(ptr))->header = TRL1_MMI_AUDIO_MODE_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4531 | |
4532 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_AUDIO_MODE_CON)); | |
4533 } | |
4534 } | |
4535 break; | |
4536 | |
4537 #endif // AUDIO_MODE | |
4538 | |
4539 #if (MELODY_E2) | |
4540 // MMI command and request | |
4541 case MMI_MELODY0_E2_START_REQ : | |
4542 { | |
4543 char *ptr; | |
4544 | |
4545 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY0_E2_START_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4546 { | |
4547 | |
4548 ((T_TR_MMI_MELODY0_E2_START_REQ *)(ptr))->header = TRL1_MMI_MELODY0_E2_START_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4549 ((T_TR_MMI_MELODY0_E2_START_REQ *)(ptr))->session_id = ((T_MMI_MELODY_E2_REQ *)(msg->SigP))->session_id, | |
4550 ((T_TR_MMI_MELODY0_E2_START_REQ *)(ptr))->loopback = ((T_MMI_MELODY_E2_REQ *)(msg->SigP))->loopback; | |
4551 | |
4552 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY0_E2_START_REQ)); | |
4553 } | |
4554 } | |
4555 break; | |
4556 | |
4557 case MMI_MELODY0_E2_STOP_REQ : | |
4558 { | |
4559 char *ptr; | |
4560 | |
4561 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY0_E2_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4562 { | |
4563 | |
4564 ((T_TR_MMI_MELODY0_E2_STOP_REQ *)(ptr))->header = TRL1_MMI_MELODY0_E2_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4565 | |
4566 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY0_E2_STOP_REQ)); | |
4567 } | |
4568 } | |
4569 break; | |
4570 | |
4571 case MMI_MELODY0_E2_START_CON : | |
4572 { | |
4573 char *ptr; | |
4574 | |
4575 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY0_E2_START_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4576 { | |
4577 | |
4578 ((T_TR_MMI_MELODY0_E2_START_CON *)(ptr))->header = TRL1_MMI_MELODY0_E2_START_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4579 | |
4580 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY0_E2_START_CON)); | |
4581 } | |
4582 } | |
4583 break; | |
4584 | |
4585 case MMI_MELODY0_E2_STOP_CON : | |
4586 { | |
4587 char *ptr; | |
4588 | |
4589 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY0_E2_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4590 { | |
4591 | |
4592 ((T_TR_MMI_MELODY0_E2_STOP_CON *)(ptr))->header = TRL1_MMI_MELODY0_E2_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4593 | |
4594 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY0_E2_STOP_CON)); | |
4595 } | |
4596 } | |
4597 break; | |
4598 | |
4599 case MMI_MELODY1_E2_START_REQ : | |
4600 { | |
4601 char *ptr; | |
4602 | |
4603 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY0_E2_START_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4604 { | |
4605 | |
4606 ((T_TR_MMI_MELODY1_E2_START_REQ *)(ptr))->header = TRL1_MMI_MELODY1_E2_START_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4607 ((T_TR_MMI_MELODY1_E2_START_REQ *)(ptr))->session_id = ((T_MMI_MELODY_E2_REQ *)(msg->SigP))->session_id, | |
4608 ((T_TR_MMI_MELODY1_E2_START_REQ *)(ptr))->loopback = ((T_MMI_MELODY_E2_REQ *)(msg->SigP))->loopback; | |
4609 | |
4610 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY1_E2_START_REQ)); | |
4611 } | |
4612 } | |
4613 break; | |
4614 | |
4615 case MMI_MELODY1_E2_STOP_REQ : | |
4616 { | |
4617 char *ptr; | |
4618 | |
4619 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY1_E2_STOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4620 { | |
4621 | |
4622 ((T_TR_MMI_MELODY1_E2_STOP_REQ *)(ptr))->header = TRL1_MMI_MELODY1_E2_STOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4623 | |
4624 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY1_E2_STOP_REQ)); | |
4625 } | |
4626 } | |
4627 break; | |
4628 | |
4629 case MMI_MELODY1_E2_START_CON : | |
4630 { | |
4631 char *ptr; | |
4632 | |
4633 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY1_E2_START_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4634 { | |
4635 | |
4636 ((T_TR_MMI_MELODY1_E2_START_CON *)(ptr))->header = TRL1_MMI_MELODY1_E2_START_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4637 | |
4638 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY1_E2_START_CON)); | |
4639 } | |
4640 } | |
4641 break; | |
4642 | |
4643 case MMI_MELODY1_E2_STOP_CON : | |
4644 { | |
4645 char *ptr; | |
4646 | |
4647 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_MELODY1_E2_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4648 { | |
4649 | |
4650 ((T_TR_MMI_MELODY1_E2_STOP_CON *)(ptr))->header = TRL1_MMI_MELODY1_E2_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4651 | |
4652 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_MELODY1_E2_STOP_CON)); | |
4653 } | |
4654 } | |
4655 break; | |
4656 | |
4657 // Audio download instrument message | |
4658 case L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ : | |
4659 { | |
4660 char *ptr; | |
4661 | |
4662 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4663 { | |
4664 | |
4665 ((T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(ptr))->header = TRL1_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4666 ((T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(ptr))->melody_id = ((T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(msg->SigP))->melody_id; | |
4667 ((T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(ptr))->number_of_instrument = ((T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(msg->SigP))->number_of_instrument; | |
4668 ((T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(ptr))->waves_table_id[0] = ((T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(msg->SigP))->waves_table_id[0]; | |
4669 ((T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(ptr))->waves_table_id[1] = ((T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(msg->SigP))->waves_table_id[1]; | |
4670 ((T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(ptr))->waves_table_id[2] = ((T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(msg->SigP))->waves_table_id[2]; | |
4671 ((T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(ptr))->waves_table_id[3] = ((T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(msg->SigP))->waves_table_id[3]; | |
4672 ((T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(ptr))->waves_table_id[4] = ((T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(msg->SigP))->waves_table_id[4]; | |
4673 ((T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(ptr))->waves_table_id[5] = ((T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(msg->SigP))->waves_table_id[5]; | |
4674 ((T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(ptr))->waves_table_id[6] = ((T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(msg->SigP))->waves_table_id[6]; | |
4675 ((T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(ptr))->waves_table_id[7] = ((T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ *)(msg->SigP))->waves_table_id[7]; | |
4676 | |
4677 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ)); | |
4678 } | |
4679 } | |
4680 break; | |
4681 | |
4682 case L1_BACK_MELODY_E2_LOAD_INSTRUMENT_CON : | |
4683 { | |
4684 char *ptr; | |
4685 | |
4686 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4687 { | |
4688 | |
4689 ((T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_CON *)(ptr))->header = TRL1_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4690 ((T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_CON *)(ptr))->melody_id = ((T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_CON *)(msg->SigP))->melody_id; | |
4691 | |
4692 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_CON)); | |
4693 } | |
4694 } | |
4695 break; | |
4696 | |
4697 case L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_REQ : | |
4698 { | |
4699 char *ptr; | |
4700 | |
4701 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4702 { | |
4703 | |
4704 ((T_TR_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_REQ *)(ptr))->header = TRL1_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4705 ((T_TR_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_REQ *)(ptr))->melody_id = ((T_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_REQ *)(msg->SigP))->melody_id; | |
4706 ((T_TR_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_REQ *)(ptr))->number_of_instrument = ((T_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_REQ *)(msg->SigP))->number_of_instrument; | |
4707 | |
4708 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_REQ)); | |
4709 } | |
4710 } | |
4711 break; | |
4712 | |
4713 case L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_CON : | |
4714 { | |
4715 char *ptr; | |
4716 | |
4717 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4718 { | |
4719 | |
4720 ((T_TR_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_CON *)(ptr))->header = TRL1_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4721 ((T_TR_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_CON *)(ptr))->melody_id = ((T_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_CON *)(msg->SigP))->melody_id; | |
4722 | |
4723 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_REQ)); | |
4724 } | |
4725 } | |
4726 break; | |
4727 | |
4728 // L1S stop confirmation | |
4729 case L1_MELODY0_E2_STOP_CON : | |
4730 { | |
4731 char *ptr; | |
4732 | |
4733 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_MELODY0_E2_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4734 { | |
4735 | |
4736 ((T_TR_L1_MELODY0_E2_STOP_CON *)(ptr))->header = TRL1_L1_MELODY0_E2_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4737 | |
4738 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_MELODY0_E2_STOP_CON)); | |
4739 } | |
4740 } | |
4741 break; | |
4742 | |
4743 case L1_MELODY1_E2_STOP_CON : | |
4744 { | |
4745 char *ptr; | |
4746 | |
4747 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_MELODY1_E2_STOP_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4748 { | |
4749 | |
4750 ((T_TR_L1_MELODY1_E2_STOP_CON *)(ptr))->header = TRL1_L1_MELODY1_E2_STOP_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4751 | |
4752 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_MELODY1_E2_STOP_CON)); | |
4753 } | |
4754 } | |
4755 break; | |
4756 | |
4757 // Instrument download | |
4758 #endif // MELODY_E2 | |
4759 #if (L1_VOCODER_IF_CHANGE == 1) | |
4760 case MMI_TCH_VOCODER_CFG_REQ: | |
4761 { | |
4762 char *ptr; | |
4763 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_TCH_VOCODER_CFG_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4764 { | |
4765 ((T_TR_MMI_TCH_VOCODER_CFG_REQ *)(ptr))->header = TRL1_MMI_TCH_VOCODER_CFG_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4766 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_TCH_VOCODER_CFG_REQ)); | |
4767 } | |
4768 } | |
4769 break; | |
4770 case MMI_TCH_VOCODER_CFG_CON: | |
4771 { | |
4772 char *ptr; | |
4773 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_TCH_VOCODER_CFG_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4774 { | |
4775 ((T_TR_MMI_TCH_VOCODER_CFG_CON *)(ptr))->header = TRL1_MMI_TCH_VOCODER_CFG_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4776 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_TCH_VOCODER_CFG_CON)); | |
4777 } | |
4778 } | |
4779 break; | |
4780 case L1_VOCODER_CFG_ENABLE_CON: | |
4781 { | |
4782 char *ptr; | |
4783 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_VOCODER_CFG_ENABLE_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4784 { | |
4785 ((T_TR_L1_VOCODER_CFG_ENABLE_CON *)(ptr))->header = TRL1_L1_VOCODER_CFG_ENABLE_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4786 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_VOCODER_CFG_ENABLE_CON)); | |
4787 } | |
4788 } | |
4789 break; | |
4790 case L1_VOCODER_CFG_DISABLE_CON: | |
4791 { | |
4792 char *ptr; | |
4793 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_VOCODER_CFG_DISABLE_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4794 { | |
4795 ((T_TR_L1_VOCODER_CFG_DISABLE_CON *)(ptr))->header = TRL1_L1_VOCODER_CFG_DISABLE_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4796 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_VOCODER_CFG_DISABLE_CON)); | |
4797 } | |
4798 } | |
4799 break; | |
4800 | |
4801 #endif // L1_VOCODER_IF_CHANGE | |
4802 #endif // AUDIO_TASK | |
4803 | |
4804 /////////////////// | |
4805 // OML1 messages // | |
4806 /////////////////// | |
4807 | |
4808 case OML1_CLOSE_TCH_LOOP_REQ: | |
4809 { | |
4810 char *ptr; | |
4811 | |
4812 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_OML1_CLOSE_TCH_LOOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4813 { | |
4814 | |
4815 ((T_TR_OML1_CLOSE_TCH_LOOP_REQ *)(ptr))->header = TRL1_OML1_CLOSE_TCH_LOOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4816 ((T_TR_OML1_CLOSE_TCH_LOOP_REQ *)(ptr))->sub_channel = ((T_OML1_CLOSE_TCH_LOOP_REQ *)(msg->SigP))->sub_channel; | |
4817 ((T_TR_OML1_CLOSE_TCH_LOOP_REQ *)(ptr))->frame_erasure = ((T_OML1_CLOSE_TCH_LOOP_REQ *)(msg->SigP))->frame_erasure; | |
4818 | |
4819 L1_send_trace_no_cpy(ptr,sizeof(T_TR_OML1_CLOSE_TCH_LOOP_REQ)); | |
4820 } | |
4821 } | |
4822 break; | |
4823 | |
4824 case OML1_OPEN_TCH_LOOP_REQ: | |
4825 { | |
4826 char *ptr; | |
4827 | |
4828 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_OML1_OPEN_TCH_LOOP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4829 { | |
4830 | |
4831 ((T_TR_OML1_OPEN_TCH_LOOP_REQ *)(ptr))->header = TRL1_OML1_OPEN_TCH_LOOP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4832 | |
4833 L1_send_trace_no_cpy(ptr,sizeof(T_TR_OML1_OPEN_TCH_LOOP_REQ)); | |
4834 } | |
4835 } | |
4836 break; | |
4837 | |
4838 case OML1_START_DAI_TEST_REQ: | |
4839 { | |
4840 char *ptr; | |
4841 | |
4842 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_OML1_START_DAI_TEST_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4843 { | |
4844 | |
4845 ((T_TR_OML1_START_DAI_TEST_REQ *)(ptr))->header = TRL1_OML1_START_DAI_TEST_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4846 ((T_TR_OML1_START_DAI_TEST_REQ *)(ptr))->tested_device = ((T_OML1_START_DAI_TEST_REQ *)(msg->SigP))->tested_device; | |
4847 | |
4848 L1_send_trace_no_cpy(ptr,sizeof(T_TR_OML1_START_DAI_TEST_REQ)); | |
4849 } | |
4850 } | |
4851 break; | |
4852 | |
4853 case OML1_STOP_DAI_TEST_REQ: | |
4854 { | |
4855 char *ptr; | |
4856 | |
4857 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_OML1_STOP_DAI_TEST_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4858 { | |
4859 | |
4860 ((T_TR_OML1_STOP_DAI_TEST_REQ *)(ptr))->header = TRL1_OML1_STOP_DAI_TEST_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4861 | |
4862 L1_send_trace_no_cpy(ptr,sizeof(T_TR_OML1_STOP_DAI_TEST_REQ)); | |
4863 } | |
4864 } | |
4865 break; | |
4866 | |
4867 /////////////////// | |
4868 // Test messages // | |
4869 /////////////////// | |
4870 | |
4871 case TST_TEST_HW_REQ: | |
4872 { | |
4873 char *ptr; | |
4874 | |
4875 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_TST_TEST_HW_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4876 { | |
4877 | |
4878 ((T_TR_TST_TEST_HW_REQ *)(ptr))->header = TRL1_TST_TEST_HW_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4879 | |
4880 L1_send_trace_no_cpy(ptr,sizeof(T_TR_TST_TEST_HW_REQ)); | |
4881 } | |
4882 } | |
4883 break; | |
4884 | |
4885 case L1_TEST_HW_INFO: | |
4886 { | |
4887 char *ptr; | |
4888 | |
4889 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_L1_TEST_HW_INFO), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4890 { | |
4891 | |
4892 ((T_TR_L1_TEST_HW_INFO *)(ptr))->header = TRL1_L1_TEST_HW_INFO | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4893 ((T_TR_L1_TEST_HW_INFO *)(ptr))->dsp_code_version = ((T_TST_TEST_HW_CON*)(msg->SigP))->dsp_code_version; | |
4894 ((T_TR_L1_TEST_HW_INFO *)(ptr))->dsp_checksum = ((T_TST_TEST_HW_CON*)(msg->SigP))->dsp_checksum; | |
4895 ((T_TR_L1_TEST_HW_INFO *)(ptr))->dsp_patch_version = ((T_TST_TEST_HW_CON*)(msg->SigP))->dsp_patch_version; | |
4896 ((T_TR_L1_TEST_HW_INFO *)(ptr))->mcu_alr_version = ((T_TST_TEST_HW_CON*)(msg->SigP))->mcu_alr_version; | |
4897 ((T_TR_L1_TEST_HW_INFO *)(ptr))->mcu_tm_version = ((T_TST_TEST_HW_CON*)(msg->SigP))->mcu_tm_version; | |
4898 #if L1_GPRS | |
4899 ((T_TR_L1_TEST_HW_INFO *)(ptr))->mcu_gprs_version = ((T_TST_TEST_HW_CON*)(msg->SigP))->mcu_gprs_version; | |
4900 #else | |
4901 ((T_TR_L1_TEST_HW_INFO *)(ptr))->mcu_gprs_version = 0; | |
4902 #endif | |
4903 #if ((((CHIPSET !=2 )) && ((LONG_JUMP != 0))) || (CHIPSET == 12) || (CHIPSET == 15)) | |
4904 ((T_TR_L1_TEST_HW_INFO *)(ptr))->d_checksum1 = d_checksum1; | |
4905 ((T_TR_L1_TEST_HW_INFO *)(ptr))->d_checksum2 = d_checksum2; | |
4906 #else | |
4907 ((T_TR_L1_TEST_HW_INFO *)(ptr))->d_checksum1 = 0; | |
4908 ((T_TR_L1_TEST_HW_INFO *)(ptr))->d_checksum2 = 0; | |
4909 #endif | |
4910 L1_send_trace_no_cpy(ptr,sizeof(T_TR_L1_TEST_HW_INFO)); | |
4911 } | |
4912 } | |
4913 break; | |
4914 | |
4915 case TST_SLEEP_REQ: | |
4916 { | |
4917 char *ptr; | |
4918 | |
4919 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_TST_SLEEP_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4920 { | |
4921 | |
4922 ((T_TR_TST_SLEEP_REQ *)(ptr))->header = TRL1_TST_SLEEP_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4923 ((T_TR_TST_SLEEP_REQ *)(ptr))->sleep_mode = ((T_TST_SLEEP_REQ*)(msg->SigP))->sleep_mode; | |
4924 ((T_TR_TST_SLEEP_REQ *)(ptr))->clocks = ((T_TST_SLEEP_REQ*)(msg->SigP))->clocks; | |
4925 | |
4926 L1_send_trace_no_cpy(ptr,sizeof(T_TR_TST_SLEEP_REQ)); | |
4927 } | |
4928 } | |
4929 break; | |
4930 | |
4931 ///////// | |
4932 // ADC // | |
4933 ///////// | |
4934 | |
4935 case MMI_ADC_REQ: | |
4936 { | |
4937 char *ptr; | |
4938 | |
4939 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_ADC_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4940 { | |
4941 | |
4942 ((T_TR_MMI_ADC_REQ *)(ptr))->header = TRL1_MMI_ADC_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4943 | |
4944 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_ADC_REQ)); | |
4945 } | |
4946 } | |
4947 break; | |
4948 | |
4949 case MMI_STOP_ADC_REQ: | |
4950 { | |
4951 char *ptr; | |
4952 | |
4953 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_STOP_ADC_REQ), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4954 { | |
4955 | |
4956 ((T_TR_MMI_STOP_ADC_REQ *)(ptr))->header = TRL1_MMI_STOP_ADC_REQ | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4957 | |
4958 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_STOP_ADC_REQ)); | |
4959 } | |
4960 } | |
4961 break; | |
4962 | |
4963 case MMI_STOP_ADC_CON: | |
4964 { | |
4965 char *ptr; | |
4966 | |
4967 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_MMI_STOP_ADC_CON), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4968 { | |
4969 | |
4970 ((T_TR_MMI_STOP_ADC_CON *)(ptr))->header = TRL1_MMI_STOP_ADC_CON | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4971 | |
4972 L1_send_trace_no_cpy(ptr,sizeof(T_TR_MMI_STOP_ADC_CON)); | |
4973 } | |
4974 } | |
4975 break; | |
4976 | |
4977 } // ...End of switch | |
4978 } // End if L1A message trace enabled | |
4979 } | |
4980 | |
4981 #if L1_RECOVERY | |
4982 | |
4983 /*********************************/ | |
4984 /* Trace in case of system crash */ | |
4985 /*********************************/ | |
4986 | |
4987 void l1_trace_recovery(void) | |
4988 { | |
4989 char *ptr; | |
4990 | |
4991 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TR_RECOVERY), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
4992 { | |
4993 | |
4994 ((T_TR_RECOVERY *)(ptr))->header = TRL1_RECOVERY | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
4995 | |
4996 L1_send_trace_no_cpy(ptr,sizeof(T_TR_RECOVERY)); | |
4997 } | |
4998 } | |
4999 #endif | |
5000 | |
5001 /*************************************************************************/ | |
5002 /* L1 Dynamic traces */ | |
5003 /*************************************************************************/ | |
5004 | |
5005 /* WARNING : Following functions are called by L1S */ | |
5006 /***************************************************/ | |
5007 | |
5008 #if (DSP_DEBUG_TRACE_ENABLE == 1) | |
5009 #define DSP_DEBUG_ENABLE \ | |
5010 if (trace_info.dsp_debug_buf_start[l1s_dsp_com.dsp_r_page] == 0) \ | |
5011 { \ | |
5012 trace_info.dsp_debug_buf_start[l1s_dsp_com.dsp_r_page] = l1s_dsp_com.dsp_db2_current_r_ptr->d_debug_ptr_begin; \ | |
5013 trace_info.dsp_debug_fn[l1s_dsp_com.dsp_r_page] = l1s.actual_time.fn; \ | |
5014 trace_info.dsp_debug_time[l1s_dsp_com.dsp_r_page] = (UWORD16)l1s.debug_time; \ | |
5015 } | |
5016 #endif | |
5017 | |
5018 ////////////////////// | |
5019 // L1S Debug Traces // | |
5020 ////////////////////// | |
5021 | |
5022 /*-------------------------------------------------------*/ | |
5023 /* Trace_L1s_Abort() */ | |
5024 /*-------------------------------------------------------*/ | |
5025 /* Parameters : */ | |
5026 /* Return : */ | |
5027 /* */ | |
5028 /*-------------------------------------------------------*/ | |
5029 void Trace_L1s_Abort(UWORD8 task) | |
5030 { | |
5031 xSignalHeaderRec *msg; | |
5032 | |
5033 // Allocate DEBUG message. | |
5034 msg = os_alloc_sig(sizeof(T_TR_L1S_ABORT)); | |
5035 DEBUGMSG(status,NU_ALLOC_ERR) | |
5036 msg->SignalCode = TRACE_INFO; | |
5037 | |
5038 ((T_TR_L1S_ABORT *)(msg->SigP))->header = TRL1_L1S_ABORT | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
5039 ((T_TR_L1S_ABORT *)(msg->SigP))->tpu_offset = l1s.tpu_offset; | |
5040 ((T_TR_L1S_ABORT *)(msg->SigP))->tpu_offset_hw = l1s.tpu_offset_hw; | |
5041 ((T_TR_L1S_ABORT *)(msg->SigP))->d_debug = l1s_dsp_com.dsp_db_r_ptr->d_debug & 0xffff; | |
5042 ((T_TR_L1S_ABORT *)(msg->SigP))->debug_time = (UWORD16) l1s.debug_time & 0xffff; | |
5043 ((T_TR_L1S_ABORT *)(msg->SigP))->adc_mode = l1a_l1s_com.adc_mode; // ADC enabled | |
5044 ((T_TR_L1S_ABORT *)(msg->SigP))->task = task; | |
5045 | |
5046 // send message... | |
5047 os_send_sig(msg, L1C1_QUEUE); | |
5048 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5049 | |
5050 } | |
5051 | |
5052 /*-------------------------------------------------------*/ | |
5053 /* Trace_MCU_DSP_Com_Mismatch() */ | |
5054 /*-------------------------------------------------------*/ | |
5055 /* Parameters : */ | |
5056 /* Return : */ | |
5057 /* */ | |
5058 /*-------------------------------------------------------*/ | |
5059 void Trace_MCU_DSP_Com_Mismatch(UWORD8 task) | |
5060 { | |
5061 if (trace_info.current_config->l1_dyn_trace & 1 << L1_DYN_TRACE_L1S_DEBUG) | |
5062 { | |
5063 xSignalHeaderRec *msg; | |
5064 | |
5065 if((l1s_dsp_com.dsp_db_r_ptr->d_debug & 0xffff ) != (l1s.debug_time & 0xffff )) | |
5066 // Debug number is different than the one expected... | |
5067 { | |
5068 if(!trace_info.DSP_misaligned) | |
5069 // MCU/DSP com. is misaligned. | |
5070 { | |
5071 #if (DSP_DEBUG_TRACE_ENABLE == 1) | |
5072 if (trace_info.current_config->l1_dyn_trace & 1<<L1_DYN_TRACE_DSP_DEBUG) | |
5073 { | |
5074 // Flag DSP error for DSP trace and memorize address of start of DSP trace | |
5075 #if(MELODY_E2 || L1_MP3 || L1_AAC || L1_DYN_DSP_DWNLD ) | |
5076 // DSP Trace is output ONLY if melody e2, mp3 or dynamic download are not currently running | |
5077 if(trace_info.dsptrace_handler_globals.trace_flag_blocked == FALSE) | |
5078 #endif | |
5079 DSP_DEBUG_ENABLE | |
5080 } | |
5081 #endif | |
5082 | |
5083 RTTL1_EVENT(RTTL1_EVENT_ERROR, RTTL1_EVENT_SIZE_ERROR) | |
5084 | |
5085 trace_info.DSP_misaligned = TRUE; | |
5086 } | |
5087 else | |
5088 return; | |
5089 } | |
5090 else | |
5091 { | |
5092 if(trace_info.DSP_misaligned) | |
5093 // MCU/DSP com. is now realigned. | |
5094 { | |
5095 trace_info.DSP_misaligned = FALSE; | |
5096 } | |
5097 else | |
5098 return; | |
5099 } | |
5100 | |
5101 // Allocate DEBUG message. | |
5102 msg = os_alloc_sig(sizeof(T_TR_MCU_DSP_MISMATCH)); | |
5103 DEBUGMSG(status,NU_ALLOC_ERR) | |
5104 msg->SignalCode = TRACE_INFO; | |
5105 | |
5106 ((T_TR_MCU_DSP_MISMATCH *)(msg->SigP))->header = TRL1_MCU_DSP_MISMATCH | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
5107 ((T_TR_MCU_DSP_MISMATCH *)(msg->SigP))->tpu_offset = l1s.tpu_offset; | |
5108 ((T_TR_MCU_DSP_MISMATCH *)(msg->SigP))->tpu_offset_hw = l1s.tpu_offset_hw; | |
5109 ((T_TR_MCU_DSP_MISMATCH *)(msg->SigP))->d_debug = l1s_dsp_com.dsp_db_r_ptr->d_debug & 0xffff; | |
5110 ((T_TR_MCU_DSP_MISMATCH *)(msg->SigP))->debug_time = (UWORD16) l1s.debug_time & 0xffff; | |
5111 ((T_TR_MCU_DSP_MISMATCH *)(msg->SigP))->adc_mode = l1a_l1s_com.adc_mode; // ADC enabled | |
5112 ((T_TR_MCU_DSP_MISMATCH *)(msg->SigP))->task = task; | |
5113 ((T_TR_MCU_DSP_MISMATCH *)(msg->SigP))->error = trace_info.DSP_misaligned; | |
5114 | |
5115 // send message... | |
5116 os_send_sig(msg, L1C1_QUEUE); | |
5117 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5118 } | |
5119 } | |
5120 | |
5121 /*-------------------------------------------------------*/ | |
5122 /* Trace_PM_Equal_0() */ | |
5123 /*-------------------------------------------------------*/ | |
5124 /* Parameters : */ | |
5125 /* Return : */ | |
5126 /* */ | |
5127 /*-------------------------------------------------------*/ | |
5128 void Trace_PM_Equal_0(UWORD32 pm, UWORD8 task) | |
5129 { | |
5130 if(pm==0) // PM error in the frame | |
5131 { | |
5132 if (trace_info.PM_Task == 255) // 1st PM error in the frame: This PM is memorized | |
5133 trace_info.PM_Task = task; // memorize the Task of this 1st PM error | |
5134 | |
5135 #if ( ((TRACE_TYPE==1) || (TRACE_TYPE == 4))) | |
5136 if (trace_info.current_config->l1_dyn_trace & 1 << L1_DSP_TRACE_FULL_DUMP) | |
5137 { | |
5138 #if(MELODY_E2 || L1_MP3 || L1_AAC || L1_DYN_DSP_DWNLD ) | |
5139 // DSP Trace is output ONLY if melody e2, mp3 or dynamic download are not currently running | |
5140 if(trace_info.dsptrace_handler_globals.trace_flag_blocked == FALSE) | |
5141 #endif | |
5142 l1_trace_full_dsp_buffer(); // trace DSP trace buffer in case a PM error occurs | |
5143 } // used only for debug mode, | |
5144 #endif | |
5145 | |
5146 } | |
5147 else // no error in the frame :is it a PM recovery ? | |
5148 { | |
5149 if (trace_info.Not_PM_Task == 255) // 1st PM recovery case: task of recovery needs to be memorized | |
5150 trace_info.Not_PM_Task = task; | |
5151 } | |
5152 } | |
5153 | |
5154 /*-------------------------------------------------------*/ | |
5155 /* Trace_PM_Equal_0_balance() */ | |
5156 /*-------------------------------------------------------*/ | |
5157 /* Parameters : */ | |
5158 /* Return : */ | |
5159 /* */ | |
5160 /*-------------------------------------------------------*/ | |
5161 void Trace_PM_Equal_0_balance(void) | |
5162 { | |
5163 // Here below we handle the case where we have lot of PM occuring during next frames | |
5164 // The PM traces are filtered in order to trace: | |
5165 // => the first PM | |
5166 // => the latest PM when we have no more PM | |
5167 BOOL trace_pm = FALSE; | |
5168 | |
5169 | |
5170 if(trace_info.PM_Task != 255) // at least one PM occured in the current frame | |
5171 { | |
5172 if(!trace_info.PM_equal_0) // We are not in a phase of PM: We trace only the 1st PM | |
5173 { | |
5174 if (trace_info.current_config->l1_dyn_trace & 1 << L1_DYN_TRACE_L1S_DEBUG) | |
5175 { | |
5176 trace_pm = TRUE; | |
5177 | |
5178 #if (DSP_DEBUG_TRACE_ENABLE == 1) | |
5179 if (trace_info.current_config->l1_dyn_trace & 1<<L1_DYN_TRACE_DSP_DEBUG) | |
5180 // Flag DSP error for DSP trace and memorize address of start of DSP trace | |
5181 { | |
5182 #if(MELODY_E2 || L1_MP3 || L1_AAC || L1_DYN_DSP_DWNLD ) | |
5183 // DSP Trace is output ONLY if melody e2, mp3 or dynamic download are not currently running | |
5184 if(trace_info.dsptrace_handler_globals.trace_flag_blocked == FALSE) | |
5185 #endif | |
5186 | |
5187 DSP_DEBUG_ENABLE | |
5188 } | |
5189 #endif | |
5190 | |
5191 RTTL1_EVENT(RTTL1_EVENT_ERROR, RTTL1_EVENT_SIZE_ERROR) | |
5192 } | |
5193 | |
5194 trace_info.PM_equal_0 = TRUE; // We enter in a phase of a lot of PM | |
5195 } | |
5196 } | |
5197 else // no PM in the current frame | |
5198 { | |
5199 if(trace_info.PM_equal_0) // this is the end of the PM phase: we trace the latest PM | |
5200 { | |
5201 if (trace_info.current_config->l1_dyn_trace & 1 << L1_DYN_TRACE_L1S_DEBUG) | |
5202 { | |
5203 trace_pm = TRUE; | |
5204 } | |
5205 | |
5206 trace_info.PM_equal_0 = FALSE; | |
5207 } | |
5208 } | |
5209 | |
5210 if (trace_pm) | |
5211 { | |
5212 xSignalHeaderRec *msg; | |
5213 | |
5214 // Allocate DEBUG message. | |
5215 msg = os_alloc_sig(sizeof(T_TR_PM_EQUAL_0)); | |
5216 DEBUGMSG(status,NU_ALLOC_ERR) | |
5217 msg->SignalCode = TRACE_INFO; | |
5218 | |
5219 ((T_TR_PM_EQUAL_0 *)(msg->SigP))->header = TRL1_PM_EQUAL_0 | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
5220 ((T_TR_PM_EQUAL_0 *)(msg->SigP))->tpu_offset = l1s.tpu_offset; | |
5221 ((T_TR_PM_EQUAL_0 *)(msg->SigP))->tpu_offset_hw = l1s.tpu_offset_hw; | |
5222 ((T_TR_PM_EQUAL_0 *)(msg->SigP))->d_debug = l1s_dsp_com.dsp_db_r_ptr->d_debug & 0xffff; | |
5223 ((T_TR_PM_EQUAL_0 *)(msg->SigP))->debug_time = (UWORD16) l1s.debug_time & 0xffff; | |
5224 ((T_TR_PM_EQUAL_0 *)(msg->SigP))->adc_mode = l1a_l1s_com.adc_mode; // ADC enabled | |
5225 ((T_TR_PM_EQUAL_0 *)(msg->SigP))->task = trace_info.PM_Task; | |
5226 ((T_TR_PM_EQUAL_0 *)(msg->SigP))->no_pm_task = trace_info.Not_PM_Task; | |
5227 ((T_TR_PM_EQUAL_0 *)(msg->SigP))->error = trace_info.PM_equal_0; | |
5228 | |
5229 // send message... | |
5230 os_send_sig(msg, L1C1_QUEUE); | |
5231 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5232 } | |
5233 | |
5234 trace_info.PM_Task = 255; | |
5235 trace_info.Not_PM_Task = 255; | |
5236 } | |
5237 | |
5238 /*-------------------------------------------------------*/ | |
5239 /* l1_trace_IT_DSP_error() */ | |
5240 /*-------------------------------------------------------*/ | |
5241 /* Parameters : */ | |
5242 /* Return : */ | |
5243 /* */ | |
5244 /*-------------------------------------------------------*/ | |
5245 void l1_trace_IT_DSP_error(UWORD8 cause) | |
5246 { | |
5247 #if (TRACE_TYPE==1) || (TRACE_TYPE==4) | |
5248 if (trace_info.current_config->l1_dyn_trace & 1<<L1_DYN_TRACE_L1S_DEBUG) | |
5249 { | |
5250 xSignalHeaderRec *msg; | |
5251 | |
5252 // Allocate DEBUG message. | |
5253 msg = os_alloc_sig(sizeof(T_TR_IT_DSP_ERROR)); | |
5254 DEBUGMSG(status,NU_ALLOC_ERR) | |
5255 msg->SignalCode = TRACE_INFO; | |
5256 | |
5257 ((T_TR_IT_DSP_ERROR *)(msg->SigP))->header = TRL1_IT_DSP_ERROR | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
5258 | |
5259 // send message... | |
5260 os_send_sig(msg, L1C1_QUEUE); | |
5261 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5262 } | |
5263 #endif | |
5264 } | |
5265 | |
5266 /////////////////////// | |
5267 // P.Transfer traces // | |
5268 /////////////////////// | |
5269 | |
5270 #if L1_GPRS | |
5271 | |
5272 /*-------------------------------------------------------*/ | |
5273 /* Trace_dl_ptcch() */ | |
5274 /*-------------------------------------------------------*/ | |
5275 /* Parameters : */ | |
5276 /* Return : */ | |
5277 /* */ | |
5278 /*-------------------------------------------------------*/ | |
5279 void Trace_dl_ptcch(UWORD8 ordered_ta, | |
5280 UWORD8 crc) // Current TX allocation for Polling | |
5281 { | |
5282 xSignalHeaderRec *msg; | |
5283 | |
5284 // Allocate DEBUG message. | |
5285 msg = os_alloc_sig(sizeof(T_TR_DL_PTCCH)); | |
5286 DEBUGMSG(status,NU_ALLOC_ERR) | |
5287 msg->SignalCode = TRACE_INFO; | |
5288 | |
5289 ((T_TR_DL_PTCCH *)(msg->SigP))->header = TRL1_DL_PTCCH | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
5290 ((T_TR_DL_PTCCH *)(msg->SigP))->crc_error = crc; | |
5291 ((T_TR_DL_PTCCH *)(msg->SigP))->ordered_ta = ordered_ta; | |
5292 | |
5293 // send message... | |
5294 os_send_sig(msg, L1C1_QUEUE); | |
5295 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5296 | |
5297 } // End Trace_ptcch_error | |
5298 | |
5299 /*-------------------------------------------------------*/ | |
5300 /* Trace_rlc_ul_param() */ | |
5301 /*-------------------------------------------------------*/ | |
5302 /* Parameters : */ | |
5303 /* Return : */ | |
5304 /* */ | |
5305 /*-------------------------------------------------------*/ | |
5306 void Trace_rlc_ul_param(UWORD8 assignment_id, | |
5307 UWORD8 tx_no, | |
5308 UWORD32 fn, | |
5309 UWORD8 ta, | |
5310 UWORD32 a_pu_gprs, | |
5311 UWORD32 a_du_gprs, | |
5312 BOOL fix_alloc_exhaust) | |
5313 { | |
5314 xSignalHeaderRec *msg; | |
5315 | |
5316 // Allocate DEBUG message. | |
5317 msg = os_alloc_sig(sizeof(T_TR_RLC_UL_PARAM)); | |
5318 DEBUGMSG(status,NU_ALLOC_ERR) | |
5319 msg->SignalCode = TRACE_INFO; | |
5320 | |
5321 ((T_TR_RLC_UL_PARAM *)(msg->SigP))->header = TRL1_RLC_UL_PARAM | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
5322 ((T_TR_RLC_UL_PARAM *)(msg->SigP))->a_pu_gprs = a_pu_gprs; | |
5323 ((T_TR_RLC_UL_PARAM *)(msg->SigP))->a_du_gprs = a_du_gprs; | |
5324 ((T_TR_RLC_UL_PARAM *)(msg->SigP))->assignment_id = assignment_id; | |
5325 ((T_TR_RLC_UL_PARAM *)(msg->SigP))->tx_no = tx_no; | |
5326 ((T_TR_RLC_UL_PARAM *)(msg->SigP))->fn_param = fn; | |
5327 ((T_TR_RLC_UL_PARAM *)(msg->SigP))->ta = ta; | |
5328 ((T_TR_RLC_UL_PARAM *)(msg->SigP))->fix_alloc_exhaust = fix_alloc_exhaust; | |
5329 | |
5330 // send message... | |
5331 os_send_sig(msg, L1C1_QUEUE); | |
5332 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5333 } | |
5334 | |
5335 /*-------------------------------------------------------*/ | |
5336 /* Trace_rlc_dl_param() */ | |
5337 /*-------------------------------------------------------*/ | |
5338 /* Parameters : */ | |
5339 /* Return : */ | |
5340 /* */ | |
5341 /*-------------------------------------------------------*/ | |
5342 void Trace_rlc_dl_param( UWORD8 assignment_id, | |
5343 UWORD32 fn, | |
5344 UWORD32 d_rlcmac_rx_no_gprs, | |
5345 UWORD8 rx_no, | |
5346 UWORD8 rlc_blocks_sent, | |
5347 UWORD8 last_poll_response) | |
5348 { | |
5349 xSignalHeaderRec *msg; | |
5350 | |
5351 // Allocate DEBUG message. | |
5352 msg = os_alloc_sig(sizeof(T_TR_RLC_DL_PARAM)); | |
5353 DEBUGMSG(status,NU_ALLOC_ERR) | |
5354 msg->SignalCode = TRACE_INFO; | |
5355 | |
5356 | |
5357 ((T_TR_RLC_DL_PARAM *)(msg->SigP))->header = TRL1_RLC_DL_PARAM | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
5358 ((T_TR_RLC_DL_PARAM *)(msg->SigP))->fn_param = fn; | |
5359 ((T_TR_RLC_DL_PARAM *)(msg->SigP))->d_rlcmac_rx_no_gprs = d_rlcmac_rx_no_gprs; | |
5360 ((T_TR_RLC_DL_PARAM *)(msg->SigP))->assignment_id = assignment_id; | |
5361 ((T_TR_RLC_DL_PARAM *)(msg->SigP))->rx_no = rx_no; | |
5362 ((T_TR_RLC_DL_PARAM *)(msg->SigP))->rlc_blocks_sent = rlc_blocks_sent; | |
5363 ((T_TR_RLC_DL_PARAM *)(msg->SigP))->last_poll_response = last_poll_response; | |
5364 | |
5365 // send message... | |
5366 os_send_sig(msg, L1C1_QUEUE); | |
5367 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5368 } | |
5369 | |
5370 /*-------------------------------------------------------*/ | |
5371 /* Trace_uplink_no_TA() */ | |
5372 /*-------------------------------------------------------*/ | |
5373 /* Parameters : */ | |
5374 /* Return : */ | |
5375 /* */ | |
5376 /*-------------------------------------------------------*/ | |
5377 void Trace_uplink_no_TA() | |
5378 { | |
5379 xSignalHeaderRec *msg; | |
5380 | |
5381 // Allocate DEBUG message. | |
5382 msg = os_alloc_sig(sizeof(T_TR_FORBIDDEN_UPLINK)); | |
5383 DEBUGMSG(status,NU_ALLOC_ERR) | |
5384 msg->SignalCode = TRACE_INFO; | |
5385 | |
5386 ((T_TR_FORBIDDEN_UPLINK *)(msg->SigP))->header = TRL1_FORBIDDEN_UPLINK | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
5387 | |
5388 // send message... | |
5389 os_send_sig(msg, L1C1_QUEUE); | |
5390 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5391 } | |
5392 | |
5393 /*-------------------------------------------------------*/ | |
5394 /* l1_trace_ptcch_disable() */ | |
5395 /*-------------------------------------------------------*/ | |
5396 /* Parameters : */ | |
5397 /* Return : */ | |
5398 /* Trace the gauging is running */ | |
5399 /*-------------------------------------------------------*/ | |
5400 void l1_trace_ptcch_disable(void) | |
5401 { | |
5402 #if (TRACE_TYPE==1) || (TRACE_TYPE==4) | |
5403 | |
5404 xSignalHeaderRec *msg; | |
5405 | |
5406 if (trace_info.current_config->l1_dyn_trace & 1<<L1_DYN_TRACE_L1S_DEBUG) | |
5407 { | |
5408 // Allocate DEBUG message. | |
5409 msg = os_alloc_sig(sizeof(T_TR_PTCCH_DISABLE)); | |
5410 DEBUGMSG(status,NU_ALLOC_ERR) | |
5411 msg->SignalCode = TRACE_INFO; | |
5412 | |
5413 ((T_TR_TOA_NOT_UPDATED *)(msg->SigP))->header = TRL1_PTCCH_DISABLE | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
5414 | |
5415 // send message... | |
5416 os_send_sig(msg, L1C1_QUEUE); | |
5417 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5418 } | |
5419 #endif | |
5420 } | |
5421 | |
5422 /*-------------------------------------------------------*/ | |
5423 /* Trace_pdtch() */ | |
5424 /*-------------------------------------------------------*/ | |
5425 /* Parameters : */ | |
5426 /* Return : */ | |
5427 /* */ | |
5428 /*-------------------------------------------------------*/ | |
5429 void Trace_condensed_pdtch(UWORD8 rx_allocation, UWORD8 tx_allocation) | |
5430 { | |
5431 xSignalHeaderRec *msg; | |
5432 | |
5433 // Allocate DEBUG message. | |
5434 msg = os_alloc_sig(sizeof(T_CONDENSED_PDTCH_INFO)); | |
5435 DEBUGMSG(status,NU_ALLOC_ERR) | |
5436 msg->SignalCode = TRACE_CONDENSED_PDTCH; | |
5437 | |
5438 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->fn = l1s.actual_time.fn; | |
5439 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->rx_allocation = rx_allocation; | |
5440 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->tx_allocation = tx_allocation; | |
5441 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->blk_status = trace_info.pdtch_trace.blk_status; | |
5442 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->dl_cs_type = trace_info.pdtch_trace.dl_cs_type; | |
5443 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->dl_status[0] = trace_info.pdtch_trace.dl_status[0]; | |
5444 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->dl_status[1] = trace_info.pdtch_trace.dl_status[1]; | |
5445 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->dl_status[2] = trace_info.pdtch_trace.dl_status[2]; | |
5446 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->dl_status[3] = trace_info.pdtch_trace.dl_status[3]; | |
5447 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->ul_status[0] = trace_info.pdtch_trace.ul_status[0]; | |
5448 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->ul_status[1] = trace_info.pdtch_trace.ul_status[1]; | |
5449 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->ul_status[2] = trace_info.pdtch_trace.ul_status[2]; | |
5450 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->ul_status[3] = trace_info.pdtch_trace.ul_status[3]; | |
5451 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->ul_status[4] = trace_info.pdtch_trace.ul_status[4]; | |
5452 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->ul_status[5] = trace_info.pdtch_trace.ul_status[5]; | |
5453 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->ul_status[6] = trace_info.pdtch_trace.ul_status[6]; | |
5454 ((T_CONDENSED_PDTCH_INFO *)(msg->SigP))->ul_status[7] = trace_info.pdtch_trace.ul_status[7]; | |
5455 | |
5456 // send message... | |
5457 os_send_sig(msg, L1C1_QUEUE); | |
5458 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5459 } | |
5460 | |
5461 /*-------------------------------------------------------*/ | |
5462 /* Quick_Trace() */ | |
5463 /*-------------------------------------------------------*/ | |
5464 /* Parameters : */ | |
5465 /* Return : */ | |
5466 /* Description: This function can be used to quickly add */ | |
5467 /* a trace */ | |
5468 /* NOT TO USE FOR PERMANENT TRACES !!! */ | |
5469 /*-------------------------------------------------------*/ | |
5470 void Quick_Trace(UWORD8 debug_code, | |
5471 UWORD32 param0, | |
5472 UWORD32 param1, | |
5473 UWORD32 param2, | |
5474 UWORD32 param3, | |
5475 UWORD32 param4, | |
5476 UWORD32 param5, | |
5477 UWORD32 param6) | |
5478 { | |
5479 xSignalHeaderRec *msg; | |
5480 | |
5481 // Allocate DEBUG message. | |
5482 msg = os_alloc_sig(sizeof(T_QUICK_TRACE)); | |
5483 DEBUGMSG(status,NU_ALLOC_ERR) | |
5484 msg->SignalCode = QUICK_TRACE; | |
5485 | |
5486 ((T_QUICK_TRACE *)(msg->SigP))->debug_code = debug_code; | |
5487 ((T_QUICK_TRACE *)(msg->SigP))->fn = l1s.actual_time.fn; | |
5488 | |
5489 ((T_QUICK_TRACE *)(msg->SigP))->tab[0] = param0; | |
5490 ((T_QUICK_TRACE *)(msg->SigP))->tab[1] = param1; | |
5491 ((T_QUICK_TRACE *)(msg->SigP))->tab[2] = param2; | |
5492 ((T_QUICK_TRACE *)(msg->SigP))->tab[3] = param3; | |
5493 ((T_QUICK_TRACE *)(msg->SigP))->tab[4] = param4; | |
5494 ((T_QUICK_TRACE *)(msg->SigP))->tab[5] = param5; | |
5495 ((T_QUICK_TRACE *)(msg->SigP))->tab[6] = param6; | |
5496 | |
5497 // send message... | |
5498 os_send_sig(msg, L1C1_QUEUE); | |
5499 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5500 } | |
5501 | |
5502 #endif // L1_GPRS | |
5503 | |
5504 /////////////////////// | |
5505 // DSP error traces // | |
5506 /////////////////////// | |
5507 | |
5508 #if (D_ERROR_STATUS_TRACE_ENABLE) | |
5509 | |
5510 /*-------------------------------------------------------*/ | |
5511 /* Trace_d_error_status() */ | |
5512 /*-------------------------------------------------------*/ | |
5513 /* Parameters : */ | |
5514 /* Return : */ | |
5515 /* */ | |
5516 /*-------------------------------------------------------*/ | |
5517 void Trace_d_error_status() | |
5518 { | |
5519 #if L1_GPRS | |
5520 UWORD16 d_error_status_masked = | |
5521 (l1s_dsp_com.dsp_ndb_ptr->d_error_status) & | |
5522 (trace_info.d_error_status_masks[l1a_l1s_com.dsp_scheduler_mode - 1]); // depends on the scheduler mode | |
5523 #else | |
5524 UWORD16 d_error_status_masked = | |
5525 (l1s_dsp_com.dsp_ndb_ptr->d_error_status) & | |
5526 (trace_info.d_error_status_masks[GSM_SCHEDULER - 1]); | |
5527 #endif | |
5528 UWORD16 changed_bits = d_error_status_masked ^ trace_info.d_error_status_old; | |
5529 | |
5530 // trace in case of change of status (field is reseted on change of scheduler) | |
5531 if (changed_bits) | |
5532 { | |
5533 xSignalHeaderRec *msg; | |
5534 | |
5535 // Allocate DEBUG message. | |
5536 msg = os_alloc_sig(sizeof(T_TR_D_ERROR_STATUS)); | |
5537 DEBUGMSG(status,NU_ALLOC_ERR) | |
5538 msg->SignalCode = TRACE_INFO; | |
5539 | |
5540 ((T_TR_D_ERROR_STATUS *)(msg->SigP))->header = TRL1_D_ERROR_STATUS | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
5541 ((T_TR_D_ERROR_STATUS *)(msg->SigP))->debug_time = (UWORD16)l1s.debug_time; | |
5542 ((T_TR_D_ERROR_STATUS *)(msg->SigP))->d_error_status = d_error_status_masked; | |
5543 ((T_TR_D_ERROR_STATUS *)(msg->SigP))->d_debug = l1s_dsp_com.dsp_db_r_ptr->d_debug & 0xffff; | |
5544 | |
5545 // send message... | |
5546 os_send_sig(msg, L1C1_QUEUE); | |
5547 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5548 | |
5549 #if (DSP_DEBUG_TRACE_ENABLE == 1) | |
5550 if (trace_info.current_config->l1_dyn_trace & 1<<L1_DYN_TRACE_DSP_DEBUG) | |
5551 { | |
5552 // DSP debug buffer trace only if an ERROR is detected (not for a End of error detection) | |
5553 if ((changed_bits & d_error_status_masked) & ~trace_info.d_error_status_old) | |
5554 { | |
5555 // Flag DSP error for DSP trace and memorize address of start of DSP trace | |
5556 | |
5557 #if(MELODY_E2 || L1_MP3 || L1_AAC || L1_DYN_DSP_DWNLD) | |
5558 // DSP Trace is output ONLY if melody e2, mp3 or dynamic download are not currently running | |
5559 if(trace_info.dsptrace_handler_globals.trace_flag_blocked == FALSE) | |
5560 #endif | |
5561 | |
5562 DSP_DEBUG_ENABLE | |
5563 } | |
5564 } | |
5565 #endif | |
5566 | |
5567 RTTL1_EVENT(RTTL1_EVENT_ERROR, RTTL1_EVENT_SIZE_ERROR) | |
5568 | |
5569 trace_info.d_error_status_old = d_error_status_masked; | |
5570 } | |
5571 | |
5572 // Clear bits that have been set by the DSP | |
5573 l1s_dsp_com.dsp_ndb_ptr->d_error_status &= ~d_error_status_masked; | |
5574 } | |
5575 | |
5576 #endif // (D_ERROR_STATUS_TRACE_ENABLE) | |
5577 | |
5578 #if (DSP_DEBUG_TRACE_ENABLE == 1) | |
5579 | |
5580 /*-------------------------------------------------------*/ | |
5581 /* Trace_dsp_debug() */ | |
5582 /*-------------------------------------------------------*/ | |
5583 /* Parameters : */ | |
5584 /* Return : */ | |
5585 /* */ | |
5586 /*-------------------------------------------------------*/ | |
5587 void Trace_dsp_debug() | |
5588 { | |
5589 // WARNING: l1s_dsp_com.dsp_r_page changed in l1s_end_manager() but DSP DB pointers haven't been | |
5590 // updated !!! | |
5591 UWORD32 start_address = trace_info.dsp_debug_buf_start[l1s_dsp_com.dsp_r_page]; | |
5592 UWORD32 end_address, stop_address; | |
5593 UWORD16 size; | |
5594 API *i; | |
5595 UWORD8 j = 0; | |
5596 xSignalHeaderRec *msg; | |
5597 | |
5598 // DSP DEBUG trace only works when GSM activity is enabled | |
5599 if (l1s_dsp_com.dsp_r_page_used == FALSE) | |
5600 { | |
5601 trace_info.dsp_debug_buf_start[0] = trace_info.dsp_debug_buf_start[1] = 0; | |
5602 } | |
5603 | |
5604 // If a DSP error occured... | |
5605 if (start_address) | |
5606 { | |
5607 WORD32 diff = l1s.debug_time - trace_info.fn_last_dsp_debug; | |
5608 | |
5609 if (diff < 0) diff += 0xFFFFFFFF; | |
5610 | |
5611 if (diff >= 104) | |
5612 { | |
5613 | |
5614 // Take the DB_R pointers on the start/end of last TDMA trace | |
5615 start_address = 0xFFD00000 + (start_address - 0x800) * 2; | |
5616 end_address = 0xFFD00000 + (l1s_dsp_com.dsp_db2_other_r_ptr->d_debug_ptr_end - 0x800) * 2; | |
5617 | |
5618 // Process size of block | |
5619 if (end_address >= start_address) | |
5620 { | |
5621 size = end_address - start_address; | |
5622 stop_address = end_address; | |
5623 } | |
5624 else | |
5625 { | |
5626 size = end_address - start_address + C_DEBUG_BUFFER_SIZE * 2; | |
5627 stop_address = (0xFFD00000 + (C_DEBUG_BUFFER_ADD + 1 + C_DEBUG_BUFFER_SIZE - 0x800) * 2); | |
5628 } | |
5629 | |
5630 if ((size > 0) && (size < 1000) && (size < C_DEBUG_BUFFER_SIZE)) | |
5631 { | |
5632 // Allocate memory pool | |
5633 msg = os_alloc_sig(size + sizeof(T_DSP_DEBUG_INFO) - 2*sizeof(API)); | |
5634 DEBUGMSG(status,NU_ALLOC_ERR) | |
5635 | |
5636 msg->SignalCode = TRACE_DSP_DEBUG; | |
5637 ((T_DSP_DEBUG_INFO *)(msg->SigP))->size = size; | |
5638 ((T_DSP_DEBUG_INFO *)(msg->SigP))->fn = trace_info.dsp_debug_fn[l1s_dsp_com.dsp_r_page]; | |
5639 ((T_DSP_DEBUG_INFO *)(msg->SigP))->debug_time = trace_info.dsp_debug_time[l1s_dsp_com.dsp_r_page]; | |
5640 ((T_DSP_DEBUG_INFO *)(msg->SigP))->patch_version = l1s_dsp_com.dsp_ndb_ptr->d_version_number2; | |
5641 ((T_DSP_DEBUG_INFO *)(msg->SigP))->trace_level = l1s_dsp_com.dsp_ndb_ptr->d_debug_trace_type; | |
5642 | |
5643 // Copy data into message | |
5644 for (i = (API*)start_address; i < (API*)stop_address; i++) | |
5645 { | |
5646 ((T_DSP_DEBUG_INFO *)(msg->SigP))->buffer[j++] = *i; | |
5647 } | |
5648 | |
5649 // Circular buffer management | |
5650 if (i != (API*)end_address) | |
5651 { | |
5652 for (i = (API*) (0xFFD00000 + (C_DEBUG_BUFFER_ADD + 1 - 0x800)*2); i < (API*)end_address; i++) | |
5653 { | |
5654 ((T_DSP_DEBUG_INFO *)(msg->SigP))->buffer[j++] = *i; | |
5655 } | |
5656 } | |
5657 | |
5658 // Send sig to L1A | |
5659 os_send_sig(msg, L1C1_QUEUE); | |
5660 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5661 | |
5662 // Set FN to avoid another DSP debug trace in the next 104 frames. | |
5663 trace_info.fn_last_dsp_debug = l1s.debug_time; | |
5664 } | |
5665 } // Enf if diff >= 104 | |
5666 | |
5667 // Clear flag | |
5668 trace_info.dsp_debug_buf_start[l1s_dsp_com.dsp_r_page] = 0; | |
5669 } // End if "DSP error occured" | |
5670 } | |
5671 | |
5672 #if (AMR == 1) | |
5673 | |
5674 /*-------------------------------------------------------*/ | |
5675 /* Trace_dsp_amr_debug() */ | |
5676 /*-------------------------------------------------------*/ | |
5677 /* Parameters : */ | |
5678 /* Return : */ | |
5679 /* */ | |
5680 /*-------------------------------------------------------*/ | |
5681 void Trace_dsp_amr_debug() | |
5682 { | |
5683 UWORD32 start_address; | |
5684 UWORD32 end_address, stop_address; | |
5685 UWORD16 size; | |
5686 API *i; | |
5687 UWORD8 j = 0; | |
5688 xSignalHeaderRec *msg; | |
5689 | |
5690 // Start address of the AMR trace in the DSP trace buffer | |
5691 start_address = l1s_dsp_com.dsp_ndb_ptr->xxx; | |
5692 | |
5693 // Clear the pointer | |
5694 l1s_dsp_com.dsp_ndb_ptr->xxx = 0; | |
5695 | |
5696 // If start address different of 0 -> trace to be performed | |
5697 if (start_address != 0) | |
5698 { | |
5699 // Process MCU start address | |
5700 start_address = 0xFFD00000 + (start_address - 0x800) * 2; | |
5701 | |
5702 // Check ID and read size | |
5703 if ((((API*)start_adress & 0xFE00) >> 9) == C_AMR_TRACE_ID) | |
5704 { | |
5705 // Read size | |
5706 size = ((((API*)start_address) & 0x1FF) * 2); | |
5707 start_address += sizeof(API); // Do not dump header | |
5708 | |
5709 // Process stop address | |
5710 end_address = start_address + size; | |
5711 | |
5712 // Circular buffer... | |
5713 if (end_address <= (0xFFD00000 + (C_DEBUG_BUFFER_ADD + 1 + C_DEBUG_BUFFER_SIZE - 0x800) * 2)) | |
5714 { | |
5715 stop_address = end_address; | |
5716 } | |
5717 else | |
5718 { | |
5719 stop_address = (0xFFD00000 + (C_DEBUG_BUFFER_ADD + 1 + C_DEBUG_BUFFER_SIZE - 0x800) * 2); | |
5720 end_address -= C_DEBUG_BUFFER_SIZE * 2; | |
5721 } | |
5722 | |
5723 // Create L1S->L1A message and dump buffer | |
5724 | |
5725 // Allocate memory pool | |
5726 msg = os_alloc_sig(size+sizeof(T_DSP_AMR_DEBUG_INFO)-2*sizeof(API)); | |
5727 DEBUGMSG(status,NU_ALLOC_ERR) | |
5728 | |
5729 msg->SignalCode = TRACE_DSP_AMR_DEBUG; | |
5730 ((T_DSP_AMR_DEBUG_INFO *)(msg->SigP))->size = size; | |
5731 ((T_DSP_AMR_DEBUG_INFO *)(msg->SigP))->fn = l1s.actual_time.fn; | |
5732 | |
5733 // Copy data into message | |
5734 for (i = (API*)start_address; i < (API*)stop_address; i++) | |
5735 { | |
5736 ((T_DSP_AMR_DEBUG_INFO *)(msg->SigP))->buffer[j++] = *i; | |
5737 } | |
5738 | |
5739 // Circular buffer management | |
5740 if (i != (API*)end_address) | |
5741 { | |
5742 for (i = (API*) (0xFFD00000 + (C_DEBUG_BUFFER_ADD + 1 - 0x800)*2); i < (API*)end_address; i++) | |
5743 { | |
5744 ((T_DSP_AMR_DEBUG_INFO *)(msg->SigP))->buffer[j++] = *i; | |
5745 } | |
5746 } | |
5747 | |
5748 // Send sig to L1A | |
5749 os_send_sig(msg, L1C1_QUEUE); | |
5750 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5751 } | |
5752 } | |
5753 } | |
5754 | |
5755 #endif // #if (AMR == 1) | |
5756 | |
5757 #endif // #if (DSP_DEBUG_TRACE_ENABLE) | |
5758 | |
5759 /////////////////////////// | |
5760 // Trace type 1 CPU load // | |
5761 /////////////////////////// | |
5762 | |
5763 #if ((TRACE_TYPE == 1) || (TRACE_TYPE == 4)) && (CODE_VERSION != SIMULATION) | |
5764 | |
5765 /*-------------------------------------------------------*/ | |
5766 /* L1S_CPU_load_process() */ | |
5767 /*-------------------------------------------------------*/ | |
5768 /* Parameters : */ | |
5769 /* Return : */ | |
5770 /* */ | |
5771 /*-------------------------------------------------------*/ | |
5772 void Trace_L1S_CPU_load() | |
5773 { | |
5774 #define TIMER_RESET_VALUE (0xFFFF) | |
5775 #define TICKS_PER_TDMA (1875) | |
5776 | |
5777 unsigned long cpu; | |
5778 | |
5779 //Dtimer2_Start(0); | |
5780 layer_1_sync_end_time = TIMER_RESET_VALUE - Dtimer2_ReadValue(); | |
5781 | |
5782 // Trace | |
5783 cpu = (100 * layer_1_sync_end_time) / TICKS_PER_TDMA; | |
5784 | |
5785 if (cpu > max_cpu) | |
5786 { | |
5787 max_cpu=cpu; | |
5788 fn_max_cpu=l1s.actual_time.fn; | |
5789 max_cpu_flag = 1; | |
5790 } | |
5791 | |
5792 if (((l1s.actual_time.fn%1326) == 0) && (max_cpu_flag == 0)) | |
5793 max_cpu = 0; | |
5794 } /* end of Trace_L1S_CPU_load() */ | |
5795 | |
5796 #if 0 /* FreeCalypso: feature not present in our chipset */ | |
5797 /********** DSP CPU load measurement *************/ | |
5798 void l1_dsp_cpu_load_read() | |
5799 { | |
5800 | |
5801 #define DSP_TIMER_PRESCALER_VALUE (9) | |
5802 | |
5803 T_DB_MCU_TO_DSP_CPU_LOAD *mcu_dsp_cpu_load_r_ptr; // DSP CPU load measurement | |
5804 UWORD32 dsp_fgd_tsk_cycles = 0L; | |
5805 UWORD16 dsp_tdma_fn; | |
5806 UWORD16 d_dsp_page_read; | |
5807 UWORD32 d_dsp_work_period; | |
5808 UWORD32 d_dsp_fgd_tsk_cycles_per_tdma; | |
5809 UWORD16 d_tdma_fnmod4; | |
5810 UWORD16 d_tdma_fnmod13; | |
5811 | |
5812 // **** 1. Read the DSP FGD task cycles from API **** | |
5813 | |
5814 // Check if DSP CPU load has been written in first buffer | |
5815 mcu_dsp_cpu_load_r_ptr = (T_DB_MCU_TO_DSP_CPU_LOAD *)DSP_CPU_LOAD_DB_W_PAGE_0; | |
5816 if ((API)mcu_dsp_cpu_load_r_ptr->d_dsp_fgd_tsk_tim0 & 0x8000) | |
5817 { | |
5818 mcu_dsp_cpu_load_r_ptr->d_dsp_fgd_tsk_tim0 &= ~(0x8000); // reset the bit | |
5819 dsp_fgd_tsk_cycles = (UWORD32)(((UWORD32)mcu_dsp_cpu_load_r_ptr->d_dsp_fgd_tsk_tim0 << 16) | |
5820 + ((UWORD32)mcu_dsp_cpu_load_r_ptr->d_dsp_fgd_tsk_tim1)); | |
5821 dsp_fgd_tsk_cycles = (dsp_fgd_tsk_cycles * DSP_TIMER_PRESCALER_VALUE); | |
5822 | |
5823 dsp_tdma_fn = (API)mcu_dsp_cpu_load_r_ptr->d_tdma_dsp_fn; | |
5824 | |
5825 d_dsp_page_read = 0; | |
5826 } | |
5827 else | |
5828 { | |
5829 // Check if DSP CPU load has been written in second buffer | |
5830 mcu_dsp_cpu_load_r_ptr = (T_DB_MCU_TO_DSP_CPU_LOAD *)DSP_CPU_LOAD_DB_W_PAGE_1; | |
5831 if ((API)mcu_dsp_cpu_load_r_ptr->d_dsp_fgd_tsk_tim0 & 0x8000) | |
5832 { | |
5833 mcu_dsp_cpu_load_r_ptr->d_dsp_fgd_tsk_tim0 &= ~(0x8000); // reset the bit | |
5834 dsp_fgd_tsk_cycles = (UWORD32)(((UWORD32)mcu_dsp_cpu_load_r_ptr->d_dsp_fgd_tsk_tim0 << 16) | |
5835 + ((UWORD32)mcu_dsp_cpu_load_r_ptr->d_dsp_fgd_tsk_tim1)); | |
5836 dsp_fgd_tsk_cycles = (dsp_fgd_tsk_cycles * DSP_TIMER_PRESCALER_VALUE); | |
5837 | |
5838 dsp_tdma_fn = (API)mcu_dsp_cpu_load_r_ptr->d_tdma_dsp_fn; | |
5839 | |
5840 d_dsp_page_read = 1; | |
5841 | |
5842 } | |
5843 } | |
5844 | |
5845 // **** 2. Get the number of DSP cycles per TDMA (based on DSP work period) **** | |
5846 if (dsp_fgd_tsk_cycles != 0L) | |
5847 { | |
5848 /* Take care of TDMA FN overflow */ | |
5849 d_dsp_work_period = (l1s.actual_time.fn_mod42432 - dsp_tdma_fn - 2 + 42432) % 42432; | |
5850 | |
5851 d_dsp_fgd_tsk_cycles_per_tdma = dsp_fgd_tsk_cycles/(d_dsp_work_period + 1); // to avoid divide by 0, just in case | |
5852 | |
5853 // **** 3. For DSP work-period, update max cycles count **** | |
5854 d_tdma_fnmod13 = (l1s.actual_time.fn_mod13 - 1 + 13) % 13; | |
5855 d_tdma_fnmod4 = (l1s.actual_time.fn_mod13_mod4 - 1 + 4) % 4; | |
5856 | |
5857 if (d_tdma_fnmod13 == 12) //Idle/SACCH/PTCCH frames | |
5858 { | |
5859 if (dsp_max_cpu_load_idle_frame <= d_dsp_fgd_tsk_cycles_per_tdma) | |
5860 dsp_max_cpu_load_idle_frame = d_dsp_fgd_tsk_cycles_per_tdma; | |
5861 } | |
5862 else // for TDMA frames 0/1/2/3 (mod 4) | |
5863 { | |
5864 if (dsp_max_cpu_load_trace_array[d_tdma_fnmod4] <= d_dsp_fgd_tsk_cycles_per_tdma) | |
5865 dsp_max_cpu_load_trace_array[d_tdma_fnmod4] = d_dsp_fgd_tsk_cycles_per_tdma; | |
5866 } | |
5867 | |
5868 // **** 4. If 104 TDMA frames have elapsed, print out the DSP CPU cycles **** | |
5869 if ((l1s.actual_time.fn_mod42432 % 104) == 0) | |
5870 { | |
5871 l1_dsp_cpu_load_trace_flag = 1; | |
5872 } | |
5873 } | |
5874 } /* end of l1_dsp_cpu_load_read() */ | |
5875 #endif | |
5876 | |
5877 #endif | |
5878 | |
5879 /////////////////////////// | |
5880 // Additional L1S traces // | |
5881 /////////////////////////// | |
5882 | |
5883 /*-------------------------------------------------------*/ | |
5884 /* l1_trace_ADC() */ | |
5885 /*-------------------------------------------------------*/ | |
5886 /* Parameters : */ | |
5887 /* Return : */ | |
5888 /* */ | |
5889 /*-------------------------------------------------------*/ | |
5890 void l1_trace_ADC(UWORD8 type) | |
5891 { | |
5892 #if (TRACE_TYPE==1) || (TRACE_TYPE==4) | |
5893 | |
5894 xSignalHeaderRec *msg; | |
5895 | |
5896 if (trace_info.current_config->l1_dyn_trace & 1<<L1_DYN_TRACE_L1A_MESSAGES) | |
5897 { | |
5898 // Allocate DEBUG message. | |
5899 msg = os_alloc_sig(sizeof(T_TR_ADC)); | |
5900 DEBUGMSG(status,NU_ALLOC_ERR) | |
5901 msg->SignalCode = TRACE_INFO; | |
5902 | |
5903 ((T_TR_ADC *)(msg->SigP))->header = TRL1_ADC | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
5904 ((T_TR_ADC *)(msg->SigP))->type = type; | |
5905 | |
5906 // send message... | |
5907 os_send_sig(msg, L1C1_QUEUE); | |
5908 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5909 } | |
5910 #endif | |
5911 } | |
5912 | |
5913 /*-------------------------------------------------------*/ | |
5914 /* l1_trace_burst_param() */ | |
5915 /*-------------------------------------------------------*/ | |
5916 /* Parameters : */ | |
5917 /* Return : */ | |
5918 /* */ | |
5919 /*-------------------------------------------------------*/ | |
5920 void l1_trace_burst_param (UWORD32 angle, UWORD32 snr, UWORD32 afc, UWORD32 task, | |
5921 UWORD32 pm, UWORD32 toa_val, UWORD32 IL_for_rxlev) | |
5922 { | |
5923 #if (TRACE_TYPE==1) || (TRACE_TYPE==4) | |
5924 | |
5925 xSignalHeaderRec *msg; | |
5926 | |
5927 if (trace_info.current_config->l1_dyn_trace & 1<<L1_DYN_TRACE_BURST_PARAM) | |
5928 { | |
5929 // Allocate DEBUG message. | |
5930 msg = os_alloc_sig(sizeof(T_TR_BURST_PARAM)); | |
5931 DEBUGMSG(status,NU_ALLOC_ERR) | |
5932 msg->SignalCode = TRACE_INFO; | |
5933 | |
5934 ((T_TR_BURST_PARAM *)(msg->SigP))->header = TRL1_BURST_PARAM | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
5935 ((T_TR_BURST_PARAM *)(msg->SigP))->angle = angle; | |
5936 ((T_TR_BURST_PARAM *)(msg->SigP))->snr = snr; | |
5937 ((T_TR_BURST_PARAM *)(msg->SigP))->afc = afc; | |
5938 ((T_TR_BURST_PARAM *)(msg->SigP))->task = task; | |
5939 ((T_TR_BURST_PARAM *)(msg->SigP))->pm = pm; | |
5940 ((T_TR_BURST_PARAM *)(msg->SigP))->toa = toa_val; | |
5941 ((T_TR_BURST_PARAM *)(msg->SigP))->input_level = IL_for_rxlev; | |
5942 | |
5943 // send message... | |
5944 os_send_sig(msg, L1C1_QUEUE); | |
5945 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5946 } | |
5947 #endif | |
5948 } | |
5949 | |
5950 | |
5951 /*-------------------------------------------------------*/ | |
5952 /* l1_trace_saic() */ | |
5953 /*-------------------------------------------------------*/ | |
5954 /* Parameters : */ | |
5955 /* Return : */ | |
5956 /* */ | |
5957 /*-------------------------------------------------------*/ | |
5958 void l1_trace_saic(UWORD32 SWH_flag, UWORD32 SAIC_flag) | |
5959 { | |
5960 #if (TRACE_TYPE==1) || (TRACE_TYPE==4) | |
5961 | |
5962 xSignalHeaderRec *msg; | |
5963 | |
5964 if (trace_info.current_config->l1_dyn_trace & 1<<L1_DYN_TRACE_SAIC_DEBUG) | |
5965 { | |
5966 // Allocate DEBUG message. | |
5967 msg = os_alloc_sig(sizeof(T_TR_SAIC_DEBUG)); | |
5968 DEBUGMSG(status,NU_ALLOC_ERR) | |
5969 msg->SignalCode = TRACE_INFO; | |
5970 | |
5971 ((T_TR_SAIC_DEBUG *)(msg->SigP))->header = TRL1_SAIC_DEBUG | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
5972 ((T_TR_SAIC_DEBUG *)(msg->SigP))->SWH_flag = SWH_flag; | |
5973 ((T_TR_SAIC_DEBUG *)(msg->SigP))->SAIC_flag = SAIC_flag; | |
5974 | |
5975 // send message... | |
5976 os_send_sig(msg, L1C1_QUEUE); | |
5977 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
5978 } | |
5979 #endif | |
5980 } | |
5981 | |
5982 | |
5983 /*-------------------------------------------------------*/ | |
5984 /* l1_trace_new_toa() */ | |
5985 /*-------------------------------------------------------*/ | |
5986 /* Parameters : */ | |
5987 /* Return : */ | |
5988 /* */ | |
5989 /*-------------------------------------------------------*/ | |
5990 void l1_trace_new_toa(void) | |
5991 { | |
5992 #if (TRACE_TYPE==1) || (TRACE_TYPE==4) | |
5993 | |
5994 xSignalHeaderRec *msg; | |
5995 | |
5996 if (trace_info.current_config->l1_dyn_trace & 1<<L1_DYN_TRACE_L1A_MESSAGES) | |
5997 { | |
5998 // Allocate DEBUG message. | |
5999 msg = os_alloc_sig(sizeof(T_TR_NEW_TOA)); | |
6000 DEBUGMSG(status,NU_ALLOC_ERR) | |
6001 msg->SignalCode = TRACE_INFO; | |
6002 | |
6003 ((T_TR_NEW_TOA *)(msg->SigP))->header = TRL1_NEW_TOA | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
6004 #if (TOA_ALGO == 2) | |
6005 ((T_TR_NEW_TOA *)(msg->SigP))->toa_shift = l1s.toa_var.toa_shift; | |
6006 #else | |
6007 ((T_TR_NEW_TOA *)(msg->SigP))->toa_shift = l1s.toa_shift; | |
6008 #endif | |
6009 | |
6010 #if(TOA_ALGO == 2) | |
6011 ((T_TR_NEW_TOA *)(msg->SigP))->toa_frames_counter = trace_info.toa_trace_var.toa_frames_counter; | |
6012 ((T_TR_NEW_TOA *)(msg->SigP))->toa_accumul_counter = trace_info.toa_trace_var.toa_accumul_counter; | |
6013 ((T_TR_NEW_TOA *)(msg->SigP))->toa_accumul_value = trace_info.toa_trace_var.toa_accumul_value; | |
6014 #endif | |
6015 | |
6016 // send message... | |
6017 os_send_sig(msg, L1C1_QUEUE); | |
6018 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
6019 } | |
6020 #endif | |
6021 } | |
6022 | |
6023 /*-------------------------------------------------------*/ | |
6024 /* l1_trace_toa_not_updated() */ | |
6025 /*-------------------------------------------------------*/ | |
6026 /* Parameters : */ | |
6027 /* Return : */ | |
6028 /* TOA ERROR: TOA not updated */ | |
6029 /*-------------------------------------------------------*/ | |
6030 void l1_trace_toa_not_updated(void) | |
6031 { | |
6032 #if (TRACE_TYPE==1) || (TRACE_TYPE==4) | |
6033 | |
6034 // !!!!!!!!!!!!!!!!!!!!!!!! | |
6035 // !!! should not occur !!! | |
6036 // !!!!!!!!!!!!!!!!!!!!!!!! | |
6037 | |
6038 xSignalHeaderRec *msg; | |
6039 | |
6040 if (trace_info.current_config->l1_dyn_trace & 1<<L1_DYN_TRACE_L1S_DEBUG) | |
6041 { | |
6042 // Allocate DEBUG message. | |
6043 msg = os_alloc_sig(sizeof(T_TR_TOA_NOT_UPDATED)); | |
6044 DEBUGMSG(status,NU_ALLOC_ERR) | |
6045 msg->SignalCode = TRACE_INFO; | |
6046 | |
6047 ((T_TR_TOA_NOT_UPDATED *)(msg->SigP))->header = TRL1_TOA_NOT_UPDATED | (l1s.actual_time.fn << TR_HEADER_FN_DELAY); | |
6048 #if (TOA_ALGO == 2) | |
6049 ((T_TR_TOA_NOT_UPDATED *)(msg->SigP))->toa_shift = l1s.toa_var.toa_shift; | |
6050 #else | |
6051 ((T_TR_TOA_NOT_UPDATED *)(msg->SigP))->toa_shift = l1s.toa_shift; | |
6052 #endif | |
6053 // send message... | |
6054 os_send_sig(msg, L1C1_QUEUE); | |
6055 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
6056 } | |
6057 #endif | |
6058 } | |
6059 | |
6060 //////////////////////////////////////// | |
6061 // Dynamic trace configuration change // | |
6062 //////////////////////////////////////// | |
6063 | |
6064 /*-------------------------------------------------------*/ | |
6065 /* l1_send_trace_version() */ | |
6066 /*-------------------------------------------------------*/ | |
6067 /* Parameters : */ | |
6068 /* Return : */ | |
6069 /* */ | |
6070 /*-------------------------------------------------------*/ | |
6071 void l1_send_trace_version() | |
6072 { | |
6073 #if (TRACE_TYPE == 1) | |
6074 char ptr[11]; | |
6075 char nb_bytes_sent = 0; | |
6076 | |
6077 ptr[0] = trace_info.l1_trace_user_id; | |
6078 ptr[1] = TRACE_CHECK_RESULT_OPCODE & 0xff; | |
6079 ptr[2] = (TRACE_CHECK_RESULT_OPCODE >> 8) & 0xff; | |
6080 ptr[3] = (TRACE_CHECK_RESULT_OPCODE >> 16) & 0xff; | |
6081 ptr[4] = (TRACE_CHECK_RESULT_OPCODE >> 24) & 0xff; | |
6082 ptr[5] = sizeof(T_TRACE_CELLS) & 0xff; | |
6083 ptr[6] = (sizeof(T_TRACE_CELLS) >> 8) & 0xff; | |
6084 ptr[7] = (sizeof(T_TRACE_CELLS) >> 16) & 0xff; | |
6085 ptr[8] = (sizeof(T_TRACE_CELLS) >> 24) & 0xff; | |
6086 ptr[9] = L1_TRACE_VERSION & 0xff; | |
6087 ptr[10] = (L1_TRACE_VERSION >> 8) & 0xff; | |
6088 | |
6089 while( nb_bytes_sent < 11) | |
6090 nb_bytes_sent += SER_tr_WriteNBytes(SER_LAYER_1, (SYS_UWORD8 *)ptr + nb_bytes_sent, 11 - nb_bytes_sent ); | |
6091 | |
6092 #elif (TRACE_TYPE == 4) | |
6093 char *ptr; | |
6094 | |
6095 if (rvt_mem_alloc(trace_info.l1_trace_user_id, sizeof(T_TRACE_VERSION), (T_RVT_BUFFER *) &ptr) == RVT_OK) | |
6096 { | |
6097 ((T_TRACE_VERSION *)ptr)->Opcode = TRACE_CHECK_RESULT_OPCODE; | |
6098 ((T_TRACE_VERSION *)ptr)->checksum = sizeof(T_TRACE_CELLS); | |
6099 ((T_TRACE_VERSION *)ptr)->version = L1_TRACE_VERSION; | |
6100 | |
6101 L1_send_trace_no_cpy(ptr,sizeof(T_TRACE_VERSION)); | |
6102 } | |
6103 #endif | |
6104 } | |
6105 | |
6106 /*-------------------------------------------------------*/ | |
6107 /* l1_trace_configuration() */ | |
6108 /*-------------------------------------------------------*/ | |
6109 /* Parameters : */ | |
6110 /* Return : */ | |
6111 /* */ | |
6112 /*-------------------------------------------------------*/ | |
6113 void l1_trace_configuration(T_RVT_BUFFER trace_msg, UINT16 trace_msg_size) | |
6114 { | |
6115 UWORD8 Opcode = trace_msg[0]; | |
6116 | |
6117 switch (Opcode) | |
6118 { | |
6119 case TRACE_CONFIG_OPCODE: | |
6120 { | |
6121 // Send message to L1A | |
6122 xSignalHeaderRec *msg; | |
6123 | |
6124 // Allocate DEBUG message. | |
6125 msg = os_alloc_sig(sizeof(T_TRACE_CONFIG_CHANGE)); | |
6126 DEBUGMSG(status,NU_ALLOC_ERR) | |
6127 msg->SignalCode = TRACE_CONFIG; | |
6128 | |
6129 // NOTE: trace_msg isnt necessary 32-bit aligned !!! | |
6130 | |
6131 // First UWORD32 is the classic L1 dynamic trace | |
6132 ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->trace_config = (trace_msg[1]) | (trace_msg[2] << 8) | (trace_msg[3] << 16) | (trace_msg[4] << 24); | |
6133 | |
6134 // The eight following UWORD32 define the RTT cell configuration | |
6135 ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[0] = (trace_msg[5]) | (trace_msg[6] << 8) | (trace_msg[7] << 16) | (trace_msg[8] << 24); | |
6136 ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[1] = (trace_msg[9]) | (trace_msg[10] << 8) | (trace_msg[11] << 16) | (trace_msg[12] << 24); | |
6137 ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[2] = (trace_msg[13]) | (trace_msg[14] << 8) | (trace_msg[15] << 16) | (trace_msg[16] << 24); | |
6138 ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[3] = (trace_msg[17]) | (trace_msg[18] << 8) | (trace_msg[19] << 16) | (trace_msg[20] << 24); | |
6139 ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[4] = (trace_msg[21]) | (trace_msg[22] << 8) | (trace_msg[23] << 16) | (trace_msg[24] << 24); | |
6140 ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[5] = (trace_msg[25]) | (trace_msg[26] << 8) | (trace_msg[27] << 16) | (trace_msg[28] << 24); | |
6141 ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[6] = (trace_msg[29]) | (trace_msg[30] << 8) | (trace_msg[31] << 16) | (trace_msg[32] << 24); | |
6142 ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_cell_enable[7] = (trace_msg[33]) | (trace_msg[34] << 8) | (trace_msg[35] << 16) | (trace_msg[36] << 24); | |
6143 | |
6144 // Last UWORD32 define the RTT event | |
6145 ((T_TRACE_CONFIG_CHANGE *)(msg->SigP))->rtt_event = (trace_msg[37]) | (trace_msg[38] << 8) | (trace_msg[39] << 16) | (trace_msg[40]); | |
6146 | |
6147 // send message... | |
6148 os_send_sig(msg, L1C1_QUEUE); | |
6149 DEBUGMSG(status,NU_SEND_QUEUE_ERR) | |
6150 } | |
6151 break; | |
6152 | |
6153 case TRACE_CHECKING_OPCODE: | |
6154 { | |
6155 l1_send_trace_version(); | |
6156 } | |
6157 break; | |
6158 } | |
6159 } | |
6160 | 641 |
6161 /************************************ ASCII trace *********************************************************/ | 642 /************************************ ASCII trace *********************************************************/ |
6162 | 643 |
6163 #else // L1_BINARY_TRACE = 0 | 644 #else // L1_BINARY_TRACE = 0 |
6164 | 645 |