FreeCalypso > hg > freecalypso-tools
view rvinterf/include/limits.h @ 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 | e7502631a0f9 |
children | ca6e969be6ee |
line wrap: on
line source
/* * For sizing our buffers etc in the rvinterf suite, including the local * UNIX domain socket protocol between rvinterf and fc-tmsh etc, we need * to have some limits on the message sizes in both host->target and * target->host directions. * * For the host->target direction, the choice of message size limit is * easy: the packet Rx code in RVT on the target side also has a limit * (quite naturally, as it needs to use a static buffer to reassemble * incoming packets as they arrive at the UART in unpredictable interrupt- * sized chunks), so we set our limit to match that in RVT. */ #define MAX_PKT_TO_TARGET 255 /* * In the other direction (target->host), there is no fixed limit * definition easily visible in the target fw code: any fw component * can call rvt_send_trace_cpy() or rvt_mem_alloc() followed by * rvt_send_trace_no_cpy(), or some higher-level API that reduces to * these functions, with a message of any size, subject only to memory * limits, which obviously aren't as strict as a #define'd maximum * message size. Hence in this direction we use our own arbitrary * choice of size limit. */ #define MAX_PKT_FROM_TARGET 512 /* * Both limit definitions above counts all bytes between the opening and * closing STX flags, but not DLEs inserted for binary transparency. */