projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bump version to 0.9.7
[fw/altos]
/
src
/
ao_cmd.c
diff --git
a/src/ao_cmd.c
b/src/ao_cmd.c
index 23346c3d53c918ea9ae906005e6eb4b9bd03ac20..1442ebea8eafc9a32e31ae18006bf61ef2af9316 100644
(file)
--- a/
src/ao_cmd.c
+++ b/
src/ao_cmd.c
@@
-17,21
+17,21
@@
#include "ao.h"
#include "ao.h"
-__
x
data uint16_t ao_cmd_lex_i;
-__
x
data uint32_t ao_cmd_lex_u32;
-__
x
data char ao_cmd_lex_c;
-__
x
data enum ao_cmd_status ao_cmd_status;
+__
p
data uint16_t ao_cmd_lex_i;
+__
p
data uint32_t ao_cmd_lex_u32;
+__
p
data char ao_cmd_lex_c;
+__
p
data enum ao_cmd_status ao_cmd_status;
#define CMD_LEN 32
static __xdata char cmd_line[CMD_LEN];
#define CMD_LEN 32
static __xdata char cmd_line[CMD_LEN];
-static __
x
data uint8_t cmd_len;
-static __
x
data uint8_t cmd_i;
+static __
p
data uint8_t cmd_len;
+static __
p
data uint8_t cmd_i;
static void
static void
-put_string(char *s)
+put_string(
__code
char *s)
{
{
-
__xdata
char c;
+ char c;
while (c = *s++)
putchar(c);
}
while (c = *s++)
putchar(c);
}
@@
-39,7
+39,7
@@
put_string(char *s)
static void
readline(void)
{
static void
readline(void)
{
- __
x
data char c;
+ __
p
data char c;
if (ao_echo())
put_string("> ");
cmd_len = 0;
if (ao_echo())
put_string("> ");
cmd_len = 0;
@@
-110,9
+110,8
@@
putnibble(uint8_t v)
void
ao_cmd_put16(uint16_t v)
{
void
ao_cmd_put16(uint16_t v)
{
- int8_t i;
- for (i = 3; i >= 0; i--)
- putnibble((v >> (i << 2)) & 0xf);
+ ao_cmd_put8(v >> 8);
+ ao_cmd_put8(v);
}
void
}
void
@@
-132,19
+131,21
@@
ao_cmd_white(void)
void
ao_cmd_hex(void)
{
void
ao_cmd_hex(void)
{
- __xdata uint8_t r = ao_cmd_lex_error;
+ __pdata uint8_t r = ao_cmd_lex_error;
+ uint8_t n;
ao_cmd_lex_i = 0;
ao_cmd_white();
for(;;) {
if ('0' <= ao_cmd_lex_c && ao_cmd_lex_c <= '9')
ao_cmd_lex_i = 0;
ao_cmd_white();
for(;;) {
if ('0' <= ao_cmd_lex_c && ao_cmd_lex_c <= '9')
-
ao_cmd_lex_i = (ao_cmd_lex_i << 4) |
(ao_cmd_lex_c - '0');
+
n =
(ao_cmd_lex_c - '0');
else if ('a' <= ao_cmd_lex_c && ao_cmd_lex_c <= 'f')
else if ('a' <= ao_cmd_lex_c && ao_cmd_lex_c <= 'f')
-
ao_cmd_lex_i = (ao_cmd_lex_i << 4) |
(ao_cmd_lex_c - 'a' + 10);
+
n =
(ao_cmd_lex_c - 'a' + 10);
else if ('A' <= ao_cmd_lex_c && ao_cmd_lex_c <= 'F')
else if ('A' <= ao_cmd_lex_c && ao_cmd_lex_c <= 'F')
-
ao_cmd_lex_i = (ao_cmd_lex_i << 4) |
(ao_cmd_lex_c - 'A' + 10);
+
n =
(ao_cmd_lex_c - 'A' + 10);
else
break;
else
break;
+ ao_cmd_lex_i = (ao_cmd_lex_i << 4) | n;
r = ao_cmd_success;
ao_cmd_lex();
}
r = ao_cmd_success;
ao_cmd_lex();
}
@@
-155,7
+156,7
@@
ao_cmd_hex(void)
void
ao_cmd_decimal(void)
{
void
ao_cmd_decimal(void)
{
- __
x
data uint8_t r = ao_cmd_lex_error;
+ __
p
data uint8_t r = ao_cmd_lex_error;
ao_cmd_lex_u32 = 0;
ao_cmd_white();
ao_cmd_lex_u32 = 0;
ao_cmd_white();
@@
-218,23
+219,24
@@
version(void)
printf("manufacturer %s\n", ao_manufacturer);
printf("product %s\n", ao_product);
printf("serial-number %u\n", ao_serial_number);
printf("manufacturer %s\n", ao_manufacturer);
printf("product %s\n", ao_product);
printf("serial-number %u\n", ao_serial_number);
+#if HAS_EEPROM
+ printf("log-format %u\n", ao_log_format);
+#endif
printf("software-version %s\n", ao_version);
}
printf("software-version %s\n", ao_version);
}
-static const char help_txt[] = "All numbers are in hex";
-
#define NUM_CMDS 11
static __code struct ao_cmds *__xdata (ao_cmds[NUM_CMDS]);
#define NUM_CMDS 11
static __code struct ao_cmds *__xdata (ao_cmds[NUM_CMDS]);
-static __
x
data uint8_t ao_ncmds;
+static __
p
data uint8_t ao_ncmds;
static void
help(void)
{
static void
help(void)
{
-
__xdata
uint8_t cmds;
-
__xdata
uint8_t cmd;
-
__code struct ao_cmds * __xdata
cs;
- puts(help_txt);
+
register
uint8_t cmds;
+
register
uint8_t cmd;
+
register __code struct ao_cmds *
cs;
+
for (cmds = 0; cmds < ao_ncmds; cmds++) {
cs = ao_cmds[cmds];
for (cmd = 0; cs[cmd].func; cmd++)
for (cmds = 0; cmds < ao_ncmds; cmds++) {
cs = ao_cmds[cmds];
for (cmd = 0; cs[cmd].func; cmd++)
@@
-267,8
+269,8
@@
ao_cmd_register(__code struct ao_cmds *cmds)
void
ao_cmd(void)
{
void
ao_cmd(void)
{
-
__xdata
char c;
-
__xdata
uint8_t cmd, cmds;
+ char c;
+ uint8_t cmd, cmds;
__code struct ao_cmds * __xdata cs;
void (*__xdata func)(void);
__code struct ao_cmds * __xdata cs;
void (*__xdata func)(void);
@@
-302,11
+304,11
@@
ao_cmd(void)
__xdata struct ao_task ao_cmd_task;
__code struct ao_cmds ao_base_cmds[] = {
__xdata struct ao_task ao_cmd_task;
__code struct ao_cmds ao_base_cmds[] = {
- { help, "?\0
Print this message
" },
- { ao_task_info, "T\0Show task
state
s" },
- { echo, "E <0 off, 1 on>\0Set
command
echo mode" },
+ { help, "?\0
Help
" },
+ { ao_task_info, "T\0Show tasks" },
+ { echo, "E <0 off, 1 on>\0Set echo mode" },
{ ao_reboot, "r eboot\0Reboot" },
{ ao_reboot, "r eboot\0Reboot" },
- { version, "v\0
Show v
ersion" },
+ { version, "v\0
V
ersion" },
{ 0, NULL },
};
{ 0, NULL },
};