# HG changeset patch # User Space Falcon # Date 1430379630 0 # Node ID d527ac304ad5a7a6fb0abe0609d7ddde2a914a8b # Parent cbd91f8071414292ebe5df3b06a14e8b6f419637 rvinterf & rvtdump: handle low level debug messages from FC firmwares diff -r cbd91f807141 -r d527ac304ad5 rvinterf/lowlevel/format.c --- a/rvinterf/lowlevel/format.c Thu Apr 30 02:57:45 2015 +0000 +++ b/rvinterf/lowlevel/format.c Thu Apr 30 07:40:30 2015 +0000 @@ -121,6 +121,35 @@ } void +print_fc_lld_msg() +{ + int i, c; + char *dp; + + dp = fmtbuf; + strcpy(dp, "LLD: "); + dp += 5; + for (i = 1; i < rxpkt_len; i++) { + c = rxpkt[i]; + if (c & 0x80) { + *dp++ = 'M'; + *dp++ = '-'; + c &= 0x7F; + } + if (c < 0x20) { + *dp++ = '^'; + *dp++ = c + '@'; + } else if (c == 0x7F) { + *dp++ = '^'; + *dp++ = '?'; + } else + *dp++ = c; + } + *dp = '\0'; + output_line(fmtbuf); +} + +void print_unknown_packet() { int i; diff -r cbd91f807141 -r d527ac304ad5 rvinterf/lowlevel/rvifmain.c --- a/rvinterf/lowlevel/rvifmain.c Thu Apr 30 02:57:45 2015 +0000 +++ b/rvinterf/lowlevel/rvifmain.c Thu Apr 30 07:40:30 2015 +0000 @@ -173,6 +173,9 @@ if (client_head) forward_nonrvt_pkt(); return; + case '*': + print_fc_lld_msg(); + return; default: unknown: print_unknown_packet(); diff -r cbd91f807141 -r d527ac304ad5 rvinterf/lowlevel/rvtdump.c --- a/rvinterf/lowlevel/rvtdump.c Thu Apr 30 02:57:45 2015 +0000 +++ b/rvinterf/lowlevel/rvtdump.c Thu Apr 30 07:40:30 2015 +0000 @@ -117,6 +117,9 @@ case RVT_TM_HEADER: print_etm_output_raw(); return; + case '*': + print_fc_lld_msg(); + return; default: unknown: print_unknown_packet();