FreeCalypso > hg > freecalypso-tools
annotate ffstools/cal2text/smallconv.c @ 544:451d8b545b11
dspdump: fulldump command implemented
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 28 Oct 2019 21:00:40 +0000 | 
| parents | d41edd329670 | 
| children | 
| rev | line source | 
|---|---|
| 
142
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 * /gsm/rf/afcdac and /gsm/rf/stdmap each store a single 16-bit value, | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 * and are not tables in the rftw/rftr sense, hence the code in rftablewr.c | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 * does not handle these two. However, in fc-cal2text we would like to | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 * handle their conversion from binary to ASCII the same way as the bigger | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 * tables, hence the two functions in this module. | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 */ | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 #include <sys/types.h> | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 #include <stdio.h> | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 #include <stdint.h> | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 #include <endian.h> | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 void | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 write_afcdac_ascii(bin, outf) | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 uint16_t *bin; | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 FILE *outf; | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 { | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 int i; | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 i = le16toh(*bin); | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 if (i >= 32768) | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 i -= 65536; | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 fprintf(outf, "%d\n", i); | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 } | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 void | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 write_stdmap_ascii(bin, outf) | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 uint16_t *bin; | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 FILE *outf; | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 { | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 int i; | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 i = le16toh(*bin); | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 fprintf(outf, "0x%04X\n", i); | 
| 
 
d41edd329670
fc-cal2text utility written, compiles
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 } | 
