annotate cp2102/file_rw_test.c @ 68:5cbde3c80c24

fteeprom-{erase,prog}: detach logic: change to detach by default As it turns out, detaching all ttyUSB interfaces of a multichannel device does not require outside knowledge of how many channels there are, as in our previous -d option design that is being removed here - instead we can read the bNumInterfaces constant from the USB device's config descriptor and thus know how many interfaces there are in total. Based on this discovery, change the design of fteeprom-{erase,prog} as follows: * remove -d option; * flip the default to where we detach all interfaces by default; * add -n option to NOT detach any interfaces.
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 13 Sep 2023 06:37:03 +0000
parents c0084bf153e5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
55
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This little program is a unit test for our Intel HEX reading function.
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 */
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 #include <sys/types.h>
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #include <stdio.h>
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #include <stdlib.h>
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #include "cp210x_defs.h"
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 u_char eeprom[SIZE_EEPROM];
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 main(argc, argv)
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 char **argv;
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 {
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 if (argc != 2) {
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 fprintf(stderr, "usage: %s ihex-file\n", argv[0]);
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 exit(1);
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 }
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 read_intel_hex(argv[1]);
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 intel_hex_out(eeprom, stdout);
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 exit(0);
c0084bf153e5 cp2102: Intel HEX reading implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 }