annotate ffstools/caltools/fc-add-ramps.c @ 926:6a0aa8d36d06

rvinterf backslash escape: introduce libprint The new helper function library named libprint is meant to replace the badly misnamed libg23, and will soon contain functions for printing all of the same kinds of GPF TST packets that are now handled in libg23. However, we are also moving safe_print_trace() from libasync to this new library, and changing it to emit our new backslash escape format.
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 23 May 2023 03:47:46 +0000
parents 5efb2832f4c2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
859
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This utility reads a tx-ramps table in FreeCalypso ASCII format,
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * sums up each ramp and reports these sums. The intended purpose is
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * to check if all ramps add up to 128 like they are supposed to.
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 */
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #include <sys/types.h>
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #include <stdio.h>
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #include <stdlib.h>
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include <string.h>
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 #include <strings.h>
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 u_char data[512];
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 unsigned sums[32];
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 read_input(filename)
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 char *filename;
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 {
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 char *format;
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 if (read_rf_table_ext(filename, data, 1, &format, (unsigned *) 0))
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 exit(1);
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 if (strcmp(format, "tx-ramps")) {
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 fprintf(stderr, "error: %s is not a tx-ramps table\n",
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 filename);
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 exit(1);
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 }
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 }
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 compute_sums()
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 {
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 int i, j;
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 unsigned accum;
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 u_char *dp = data;
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 for (i = 0; i < 32; i++) {
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 accum = 0;
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 for (j = 0; j < 16; j++)
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 accum += *dp++;
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 sums[i] = accum;
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 }
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 }
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 output()
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 {
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 unsigned n;
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47
862
5efb2832f4c2 fc-add-ramps: more compacted output
Mychaela Falconia <falcon@freecalypso.org>
parents: 860
diff changeset
48 for (n = 0; n < 16; n++)
5efb2832f4c2 fc-add-ramps: more compacted output
Mychaela Falconia <falcon@freecalypso.org>
parents: 860
diff changeset
49 printf("Template #%u: ramp-up %u, ramp-down %u\n", n,
5efb2832f4c2 fc-add-ramps: more compacted output
Mychaela Falconia <falcon@freecalypso.org>
parents: 860
diff changeset
50 sums[n*2], sums[n*2+1]);
859
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 }
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 main(argc, argv)
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 char **argv;
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 {
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 if (argc != 2) {
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 fprintf(stderr, "usage: %s tx-ramps-file\n", argv[0]);
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 exit(1);
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 }
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 read_input(argv[1]);
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 compute_sums();
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 output();
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 exit(0);
e5ef798e2d35 fc-add-ramps new program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 }