/* Put one character to the USB output queue */
void
-ao_usb_putchar(uint8_t c);
+ao_usb_putchar(char c);
/* Get one character from the USB input queue */
-uint8_t
+char
ao_usb_getchar(void);
/* Flush the USB output queue */
};
extern __xdata uint16_t ao_cmd_lex_i;
-extern __xdata uint8_t ao_cmd_lex_c;
+extern __xdata char ao_cmd_lex_c;
extern __xdata enum ao_cmd_status ao_cmd_status;
void
ao_cmd_decimal(void);
struct ao_cmds {
- uint8_t cmd;
+ char cmd;
void (*func)(void);
const char *help;
};
#define AO_LOG_POS_NONE (~0UL)
struct ao_log_record {
- uint8_t type;
+ char type;
uint8_t csum;
uint16_t tick;
union {
ao_serial_tx1_isr(void) interrupt 14;
#endif
-uint8_t
+char
ao_serial_getchar(void) __critical;
void
-ao_serial_putchar(uint8_t c) __critical;
+ao_serial_putchar(char c) __critical;
void
ao_serial_init(void);
#include "ao.h"
__xdata uint16_t ao_cmd_lex_i;
-__xdata uint8_t ao_cmd_lex_c;
+__xdata char ao_cmd_lex_c;
__xdata enum ao_cmd_status ao_cmd_status;
static __xdata uint8_t lex_echo;
#define CMD_LEN 32
-static __xdata uint8_t cmd_line[CMD_LEN];
+static __xdata char cmd_line[CMD_LEN];
static __xdata uint8_t cmd_len;
static __xdata uint8_t cmd_i;
static void
put_string(char *s)
{
- __xdata uint8_t c;
+ __xdata char c;
while (c = *s++)
putchar(c);
}
static void
readline(void)
{
- __xdata uint8_t c;
+ __xdata char c;
if (lex_echo)
put_string("> ");
cmd_len = 0;
lex_echo = ao_cmd_lex_i != 0;
}
-static const uint8_t help_txt[] = "All numbers are in hex";
+static const char help_txt[] = "All numbers are in hex";
#define NUM_CMDS 11
void
ao_cmd(void *parameters)
{
- __xdata uint8_t c;
+ __xdata char c;
__xdata uint8_t cmd, cmds;
__code struct ao_cmds * __xdata cs;
void (*__xdata func)(void);
}
struct ao_config_var {
- uint8_t cmd;
+ char cmd;
void (*set)(void) __reentrant;
void (*show)(void) __reentrant;
const char *help;
void
ao_config_set(void)
{
- uint8_t c;
+ char c;
uint8_t cmd;
void (*__xdata func)(void) __reentrant;
static uint8_t
getnibble(void)
{
- __xdata uint8_t c;
+ __xdata char c;
c = getchar();
if ('0' <= c && c <= '9')
};
struct ao_cmds {
- uint8_t cmd;
+ char cmd;
void (*func)(void);
const char *help;
};
#define AO_GPS_LEADER 6
-static const uint8_t ao_gps_header[] = "GPGGA,";
+static const char ao_gps_header[] = "GPGGA,";
__xdata uint8_t ao_gps_mutex;
-static __xdata uint8_t ao_gps_char;
+static __xdata char ao_gps_char;
static __xdata uint8_t ao_gps_cksum;
static __xdata uint8_t ao_gps_error;
__xdata struct ao_gps_data ao_gps_data;
static __xdata struct ao_gps_data ao_gps_next;
-const uint8_t ao_gps_config[] =
+const char ao_gps_config[] =
"$PSRF103,00,00,01,01*25\r\n" /* GGA 1 per sec */
"$PSRF103,01,00,00,01*25\r\n" /* GLL disable */
"$PSRF103,02,00,00,01*26\r\n" /* GSA disable */
}
static void
-ao_gps_parse_flag(uint8_t yes_c, uint8_t yes, uint8_t no_c, uint8_t no) __reentrant
+ao_gps_parse_flag(char yes_c, uint8_t yes, char no_c, uint8_t no) __reentrant
{
ao_gps_skip_sep();
if (ao_gps_char == yes_c)
void
ao_gps(void) __reentrant
{
- uint8_t c;
+ char c;
uint8_t i;
for (i = 0; (c = ao_gps_config[i]); i++)
ao_gps_skip_field();
}
if (ao_gps_char == '*') {
- c = ao_gps_cksum ^ '*';
- i = ao_gps_hex(2);
- if (c != i)
+ uint8_t cksum = ao_gps_cksum ^ '*';
+ if (cksum != ao_gps_hex(2))
ao_gps_error = 1;
} else
ao_gps_error = 1;
}
static uint8_t
-ao_match_word(__code uint8_t *word)
+ao_match_word(__code char *word)
{
while (*word) {
if (ao_cmd_lex_c != *word) {
}
}
-static __code uint8_t *igniter_status_names[] = {
+static __code char *igniter_status_names[] = {
"unknown", "ready", "active", "open"
};
void
-ao_ignite_print_status(enum ao_igniter igniter, __code uint8_t *name) __reentrant
+ao_ignite_print_status(enum ao_igniter igniter, __code char *name) __reentrant
{
enum ao_igniter_status status = ao_igniter_status(igniter);
printf("Igniter: %6s Status: %s\n",
struct ao_fifo {
uint8_t insert;
uint8_t remove;
- uint8_t fifo[SERIAL_FIFO];
+ char fifo[SERIAL_FIFO];
};
volatile __xdata struct ao_fifo ao_usart1_rx_fifo;
ao_wakeup(&ao_usart1_tx_fifo);
}
-uint8_t
+char
ao_serial_getchar(void) __critical
{
- uint8_t c;
+ char c;
while (ao_fifo_empty(ao_usart1_rx_fifo))
ao_sleep(&ao_usart1_rx_fifo);
ao_fifo_remove(ao_usart1_rx_fifo, c);
}
void
-ao_serial_putchar(uint8_t c) __critical
+ao_serial_putchar(char c) __critical
{
while (ao_fifo_full(ao_usart1_tx_fifo))
ao_sleep(&ao_usart1_tx_fifo);
{
if (c == '\n')
ao_usb_putchar('\r');
- ao_usb_putchar((uint8_t) c);
+ ao_usb_putchar(c);
}
void
char
getchar(void)
{
- return (char) ao_usb_getchar();
+ return ao_usb_getchar();
}
void
echo(void)
{
- uint8_t c;
+ char c;
for (;;) {
ao_usb_flush();
c = ao_usb_getchar();
}
void
-ao_usb_putchar(uint8_t c) __critical
+ao_usb_putchar(char c) __critical
{
for (;;) {
USBINDEX = AO_USB_IN_EP;
}
}
-uint8_t
+char
ao_usb_getchar(void) __critical
{
- __xdata uint8_t c;
+ __xdata char c;
while (ao_usb_out_bytes == 0) {
for (;;) {
USBINDEX = AO_USB_OUT_EP;