comparison rvinterf/asyncshell/tchcmd.c @ 901:2e6764022292

fc-shell tch record: add support for new TCH DL format
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 13 Dec 2022 03:24:36 +0000
parents 8171c5c0d804
children
comparison
equal deleted inserted replaced
900:8171c5c0d804 901:2e6764022292
87 } 87 }
88 88
89 void 89 void
90 tch_packet_rx() 90 tch_packet_rx()
91 { 91 {
92 char buf[128]; 92 char buf[128], *mode_kw;
93 int expect_pktlen, databytes;
93 94
94 if (tch_rawdump_mode) { 95 if (tch_rawdump_mode) {
95 tch_rawdump(); 96 tch_rawdump();
96 return; 97 return;
97 } 98 }
116 return; 117 return;
117 case TCH_DLBITS_OLD_IND: 118 case TCH_DLBITS_OLD_IND:
118 if (rvi_msg_len != 43) 119 if (rvi_msg_len != 43)
119 goto inv; 120 goto inv;
120 tch_dlbits_old_handler(); 121 tch_dlbits_old_handler();
122 return;
123 case TCH_DLBITS_NEW_IND:
124 if (rvi_msg_len < 4)
125 goto inv;
126 switch (rvi_msg[3]) {
127 case TCH_FS_MODE:
128 mode_kw = "FR";
129 expect_pktlen = 45;
130 databytes = 33;
131 break;
132 case TCH_HS_MODE:
133 mode_kw = "HR";
134 expect_pktlen = 27;
135 databytes = 15;
136 break;
137 case TCH_EFR_MODE:
138 mode_kw = "EFR";
139 expect_pktlen = 45;
140 databytes = 33;
141 break;
142 default:
143 goto inv;
144 }
145 if (rvi_msg_len != expect_pktlen)
146 goto inv;
147 tch_dlbits_new_handler(mode_kw, databytes);
121 return; 148 return;
122 default: 149 default:
123 goto inv; 150 goto inv;
124 } 151 }
125 } 152 }