comparison rvinterf/tmsh/l1resp.c @ 137:79e71354ba7b

fc-tmsh: ttr response handling implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 20 Feb 2017 02:38:06 +0000
parents da4d4af80fdd
children f5a797c291be
comparison
equal deleted inserted replaced
136:da4d4af80fdd 137:79e71354ba7b
11 extern u_char rvi_msg[]; 11 extern u_char rvi_msg[];
12 extern int rvi_msg_len; 12 extern int rvi_msg_len;
13 13
14 unsigned rftr_table_index, rftr_table_size; 14 unsigned rftr_table_index, rftr_table_size;
15 u_char rftr_table_data[MAX_RF_TABLE_SIZE]; 15 u_char rftr_table_data[MAX_RF_TABLE_SIZE];
16 u_char ttr_ramp_data[32];
16 17
17 void 18 void
18 l1tm_response_nodata(op) 19 l1tm_response_nodata(op)
19 char *op; 20 char *op;
20 { 21 {
301 dp = index(buf, '\0'); 302 dp = index(buf, '\0');
302 for (j = 0; j < l; j++) { 303 for (j = 0; j < l; j++) {
303 if (j == 0 || j == 8) 304 if (j == 0 || j == 8)
304 *dp++ = ' '; 305 *dp++ = ' ';
305 sprintf(dp, " %02X", rftr_table_data[i++]); 306 sprintf(dp, " %02X", rftr_table_data[i++]);
307 dp += 3;
306 } 308 }
307 async_msg_output(buf); 309 async_msg_output(buf);
308 } 310 }
309 } 311 }
310 312
326 print_etm_pkt_raw("ttw response wrong length"); 328 print_etm_pkt_raw("ttw response wrong length");
327 return; 329 return;
328 } 330 }
329 async_msg_output("ttw OK"); 331 async_msg_output("ttw OK");
330 } 332 }
333
334 void
335 l1tm_ttr_response()
336 {
337 char buf[80], *dp;
338 unsigned i;
339
340 if (rvi_msg[3]) {
341 if (rvi_msg_len == 5) {
342 sprintf(buf, "ttr error %u (0x%02X)",
343 rvi_msg[3], rvi_msg[3]);
344 async_msg_output(buf);
345 } else
346 print_etm_pkt_raw("ttr long error response");
347 return;
348 }
349 if (rvi_msg_len != 38) {
350 print_etm_pkt_raw("ttr response wrong length");
351 return;
352 }
353 sprintf(buf, "ttr index %u:", rvi_msg[4]);
354 async_msg_output(buf);
355 bcopy(rvi_msg + 5, ttr_ramp_data, 32);
356 strcpy(buf, "ramp-up ");
357 dp = buf + 9;
358 for (i = 0; i < 16; i++) {
359 sprintf(dp, "%4u", ttr_ramp_data[i]);
360 dp += 4;
361 }
362 async_msg_output(buf);
363 strcpy(buf, "ramp-down");
364 dp = buf + 9;
365 for (i = 0; i < 16; i++) {
366 sprintf(dp, "%4u", ttr_ramp_data[i+16]);
367 dp += 4;
368 }
369 async_msg_output(buf);
370 }