FreeCalypso > hg > freecalypso-tools
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 } |