annotate rvinterf/lowlevel/logsent.c @ 923:10b4bed10192

gsm-fw/L1: fix for the DSP patch corruption bug The L1 code we got from the LoCosto fw contains a feature for DSP CPU load measurement. This feature is a LoCosto-ism, i.e., not applicable to earlier DBB chips (Calypso) with their respective earlier DSP ROMs. Most of the code dealing with that feature is conditionalized as #if (DSP >= 38), but one spot was missed, and the MCU code was writing into an API word dealing with this feature. In TCS211 this DSP API word happens to be used by the DSP code patch, hence that write was corrupting the patched DSP code.
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Mon, 19 Oct 2015 17:13:56 +0000
parents da9a36515da6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
134
e0d56e9be8a2 rvtdump: time-stamped logging implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 /*
174
3256dc6e84ae rvinterf: refactored rvtdump compiles and works
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 173
diff changeset
2 * This module implements the logging of sent packets
134
e0d56e9be8a2 rvtdump: time-stamped logging implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3 */
e0d56e9be8a2 rvtdump: time-stamped logging implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4
e0d56e9be8a2 rvtdump: time-stamped logging implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5 #include <sys/types.h>
e0d56e9be8a2 rvtdump: time-stamped logging implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6 #include <stdio.h>
e0d56e9be8a2 rvtdump: time-stamped logging implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
7 #include <string.h>
e0d56e9be8a2 rvtdump: time-stamped logging implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8 #include <strings.h>
628
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
9 #include "../include/pktmux.h"
256
2f285f20d617 rvinterf: *.h moved into include subdir
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 174
diff changeset
10 #include "../include/limits.h"
171
4d8e4c58df71 rvtdump: implemented Tx extension hack, compiles
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 134
diff changeset
11
628
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
12 static void
881
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
13 log_sent_ati(pkt, pktlen)
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
14 u_char *pkt;
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
15 {
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
16 char buf[MAX_PKT_TO_TARGET*4+10];
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
17 int i, c;
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
18 char *dp;
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
19
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
20 strcpy(buf, "Sent to ATI: ");
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
21 dp = buf + 13;
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
22 for (i = 1; i < pktlen; i++) {
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
23 c = pkt[i];
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
24 if (c & 0x80) {
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
25 *dp++ = 'M';
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
26 *dp++ = '-';
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
27 c &= 0x7F;
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
28 }
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
29 if (c < 0x20) {
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
30 *dp++ = '^';
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
31 *dp++ = c + '@';
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
32 } else if (c == 0x7F) {
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
33 *dp++ = '^';
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
34 *dp++ = '?';
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
35 } else
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
36 *dp++ = c;
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
37 }
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
38 *dp = '\0';
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
39 output_line(buf);
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
40 }
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
41
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
42 static void
628
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
43 log_sent_gpf(pkt, pktlen)
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
44 u_char *pkt;
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
45 {
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
46 char buf[MAX_PKT_TO_TARGET*4+30];
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
47
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
48 strcpy(buf, "Sent ");
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
49 format_g23_packet(pkt, pktlen, buf + 5);
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
50 output_line(buf);
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
51 }
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
52
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
53 static void
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
54 log_sent_other(pkt, pktlen)
171
4d8e4c58df71 rvtdump: implemented Tx extension hack, compiles
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 134
diff changeset
55 u_char *pkt;
4d8e4c58df71 rvtdump: implemented Tx extension hack, compiles
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 134
diff changeset
56 {
174
3256dc6e84ae rvinterf: refactored rvtdump compiles and works
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 173
diff changeset
57 char buf[MAX_PKT_TO_TARGET*3+5];
171
4d8e4c58df71 rvtdump: implemented Tx extension hack, compiles
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 134
diff changeset
58 int i;
4d8e4c58df71 rvtdump: implemented Tx extension hack, compiles
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 134
diff changeset
59 char *dp;
4d8e4c58df71 rvtdump: implemented Tx extension hack, compiles
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 134
diff changeset
60
174
3256dc6e84ae rvinterf: refactored rvtdump compiles and works
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 173
diff changeset
61 dp = buf;
171
4d8e4c58df71 rvtdump: implemented Tx extension hack, compiles
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 134
diff changeset
62 strcpy(dp, "Sent");
4d8e4c58df71 rvtdump: implemented Tx extension hack, compiles
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 134
diff changeset
63 dp += 4;
4d8e4c58df71 rvtdump: implemented Tx extension hack, compiles
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 134
diff changeset
64 for (i = 0; i < pktlen; i++) {
4d8e4c58df71 rvtdump: implemented Tx extension hack, compiles
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 134
diff changeset
65 sprintf(dp, " %02X", pkt[i]);
4d8e4c58df71 rvtdump: implemented Tx extension hack, compiles
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 134
diff changeset
66 dp += 3;
4d8e4c58df71 rvtdump: implemented Tx extension hack, compiles
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 134
diff changeset
67 }
4d8e4c58df71 rvtdump: implemented Tx extension hack, compiles
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 134
diff changeset
68 *dp = '\0';
174
3256dc6e84ae rvinterf: refactored rvtdump compiles and works
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 173
diff changeset
69 output_line(buf);
171
4d8e4c58df71 rvtdump: implemented Tx extension hack, compiles
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 134
diff changeset
70 }
628
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
71
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
72 log_sent_packet(pkt, pktlen)
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
73 u_char *pkt;
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
74 {
881
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
75 switch (pkt[0]) {
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
76 case RVT_L23_HEADER:
628
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
77 log_sent_gpf(pkt, pktlen);
881
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
78 return;
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
79 case RVT_AT_HEADER:
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
80 log_sent_ati(pkt, pktlen);
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
81 return;
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
82 default:
628
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
83 log_sent_other(pkt, pktlen);
881
da9a36515da6 rvinterf: log sent AT commands in ASCII form
Space Falcon <falcon@ivan.Harhan.ORG>
parents: 628
diff changeset
84 }
628
c2f2f7d78451 rvinterf: log sent GPF packets with the same decoding as received ones
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 256
diff changeset
85 }