FreeCalypso > hg > freecalypso-tools
annotate miscutil/fc-serterm.c @ 497:74610c4f10f7
target-utils: added 10 ms delay at the end of abb_power_off()
The deosmification of the ABB access code (replacement of osmo_delay_ms()
bogus delays with correctly-timed ones, which are significantly shorter)
had one annoying side effect: when executing the poweroff command from
any of the programs, one last '=' prompt character was being sent (and
received by the x86 host) as the Calypso board powers off.  With delays
being shorter now, the abb_power_off() function was returning and the
standalone program's main loop was printing its prompt before the Iota chip
fully executed the switch-off sequence!
I thought about inserting an endless tight loop at the end of the
abb_power_off() function, but the implemented solution of a 10 ms delay
is a little nicer IMO because if the DEVOFF operation doesn't happen for
some reason in a manual hacking scenario, there won't be an artificial
blocker in the form of a tight loop keeping us from further poking around.
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sat, 25 May 2019 20:44:05 +0000 | 
| parents | fb577c31e960 | 
| children | 
| rev | line source | 
|---|---|
| 0 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 * This hack-utility opens a serial port at the user-specified baud rate | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 * and drops into a terminal pass-thru mode, except that any binary bytes | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 * received on this port are turned into cat -v form. The intent is for | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 * sniffing on and/or talking to targets that emit some ASCII mixed in | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 * with binary. | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 */ | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 #include <stdio.h> | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 #include <stdlib.h> | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 main(argc, argv) | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 char **argv; | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 { | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 if (argc != 3) { | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 fprintf(stderr, "usage: %s ttyname baudrate\n", argv[0]); | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 exit(1); | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 } | 
| 251 
fb577c31e960
fc-serterm converted to use libserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
0diff
changeset | 19 open_serial_port(argv[1]); | 
| 
fb577c31e960
fc-serterm converted to use libserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
0diff
changeset | 20 set_fixed_baudrate(argv[2]); | 
| 0 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 tty_passthru(); | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 exit(0); | 
| 
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 } | 
