#ifndef __PARSER_H__ #define __PARSER_H__ #include "type.h" enum command_t { CMD_ADDR, CMD_AUTO, CMD_CLR, CMD_EOI, CMD_EOS, CMD_EOT_ENABLE, CMD_EOT_CHAR, CMD_IFC, CMD_LLO, CMD_LOC, CMD_LON, CMD_MODE, CMD_READ, CMD_READ_TMO_MS, CMD_RST, CMD_SAVECFG, CMD_SPOLL, CMD_SRQ, CMD_STATUS, CMD_TRG, CMD_VER, CMD_HELP, CMD_INPUTABLE, CMD_ERROR = CMD_INPUTABLE, CMD_TALK, }; extern const __code char * __code command_str[CMD_INPUTABLE]; void parser_reset(); typedef __xdata struct { enum command_t cmd; int args; int arg[30]; } parsed_info_t; extern void run_command(parsed_info_t *info); void parse(char c); #define ARG_ERR -1 #define ARG_EOI 256 #endif /* __PARSER_H__ */