view target-utils/c139explore/cmdtab.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 7ecb70b0ac36
children 44a1de4264d8
line wrap: on
line source

#include "cmdtab.h"

extern void cmd_abbr();
extern void cmd_abbw();
extern void cmd_buz();
extern void cmd_buzlev();
extern void cmd_dac();
extern void cmd_dacon();
extern void cmd_dbl();
extern void cmd_hbars();
extern void cmd_jump();
extern void cmd_kpbl();
extern void cmd_lcdcmd();
extern void cmd_lcdfill();
extern void cmd_lcdinit();
extern void cmd_lcdpix();
extern void cmd_r8();
extern void cmd_r16();
extern void cmd_r32();
extern void cmd_vbars();
extern void cmd_vibe();
extern void cmd_w8();
extern void cmd_w16();
extern void cmd_w32();

extern void abb_init();
extern void abb_power_off();
extern void cmd_memdump_human();

const struct cmdtab cmdtab[] = {
	{"abbinit", abb_init},
	{"abbr", cmd_abbr},
	{"abbw", cmd_abbw},
	{"buz", cmd_buz},
	{"buzlev", cmd_buzlev},
	{"dac", cmd_dac},
	{"dacon", cmd_dacon},
	{"dbl", cmd_dbl},
	{"dump", cmd_memdump_human},
	{"hbars", cmd_hbars},
	{"jump", cmd_jump},
	{"kpbl", cmd_kpbl},
	{"lcdcmd", cmd_lcdcmd},
	{"lcdfill", cmd_lcdfill},
	{"lcdinit", cmd_lcdinit},
	{"lcdpix", cmd_lcdpix},
	{"poweroff", abb_power_off},
	{"r8", cmd_r8},
	{"r16", cmd_r16},
	{"r32", cmd_r32},
	{"vbars", cmd_vbars},
	{"vibe", cmd_vibe},
	{"w8", cmd_w8},
	{"w16", cmd_w16},
	{"w32", cmd_w32},
	{0, 0}
};