view target-utils/buzplayer/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 8a200d65c6a0
children 44a1de4264d8
line wrap: on
line source

#include "cmdtab.h"

extern void cmd_abbr();
extern void cmd_abbw();
extern void cmd_baud_switch();
extern void cmd_buz();
extern void cmd_buzlev();
extern void cmd_jump();
extern void cmd_r8();
extern void cmd_r16();
extern void cmd_r32();
extern void cmd_w8();
extern void cmd_w16();
extern void cmd_w32();

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

extern void melody_init();
extern void melody_entry();
extern void melody_play();

const struct cmdtab cmdtab[] = {
	{"E", melody_entry},
	{"I", melody_init},
	{"P", melody_play},
	{"abbinit", abb_init},
	{"abbr", cmd_abbr},
	{"abbw", cmd_abbw},
	{"baud", cmd_baud_switch},
	{"buz", cmd_buz},
	{"buzlev", cmd_buzlev},
	{"jump", cmd_jump},
	{"poweroff", abb_power_off},
	{"r8", cmd_r8},
	{"r16", cmd_r16},
	{"r32", cmd_r32},
	{"w8", cmd_w8},
	{"w16", cmd_w16},
	{"w32", cmd_w32},
	{0, 0}
};