- hex();
- count = lex_i;
- hex();
- addr = lex_i;
- if (lex_status != SUCCESS)
- return;
- ao_dbg_start_transfer(addr);
- i = 0;
- while (count--) {
- if (!(i++ & 7))
- put_string("\n");
- b = ao_dbg_read_byte();
- put8(b);
- }
- ao_dbg_end_transfer();
- put_string("\n");
-}
-
-static void
-debug_output(void)
-{
- __xdata uint16_t count;
- __xdata uint16_t addr;
- __xdata uint8_t b;
-
- hex();
- count = lex_i;
- hex();
- addr = lex_i;
- if (lex_status != SUCCESS)
- return;
- ao_dbg_start_transfer(addr);
- while (count--) {
- b = getnibble() << 4;
- b |= getnibble();
- if (lex_status != SUCCESS)
- return;
- ao_dbg_write_byte(b);
- }
- ao_dbg_end_transfer();
-}
-
-static void
-dump_log(void)
-{
- __xdata uint8_t more;
-
- for (more = ao_log_dump_first(); more; more = ao_log_dump_next()) {
- putchar(ao_log_dump.type);
- putchar(' ');
- put16(ao_log_dump.tick);
- putchar(' ');
- put16(ao_log_dump.u.anon.d0);
- putchar(' ');
- put16(ao_log_dump.u.anon.d1);
- putchar('\n');
- }
-}
-
-static void
-send_serial(void)
-{
- white();
- while (lex_c != '\n') {
- ao_serial_putchar(lex_c);
- lex();
- }
-}
-
-static const uint8_t help_txt[] =
- "All numbers are in hex\n"
- "? Print this message\n"
- "a Display current ADC values\n"
- "g Display current GPS values\n"
- "d <start> <end> Dump memory\n"
- "e <block> Dump a block of EEPROM data\n"
- "w <block> <start> <len> <data> ... Write data to EEPROM\n"
- "l Dump last flight log\n"
- "E <0 off, 1 on> Set command echo mode\n"
- "S<data> Send data to serial line\n"
- "T Show task states\n"
- "\n"
- "Target debug commands:\n"
- "D Enable debug mode\n"
- "R Reset target\n"
- "P <byte> ... Put data to debug port\n"
- "G <count> Get data from debug port\n"
- "O <count> <addr> Output <count> bytes to target at <addr>\n"
- "I <count> <addr> Input <count> bytes to target at <addr>\n"
-;