add status command to shell

This commit is contained in:
optixx 2009-09-22 23:55:44 +02:00
parent a341e10efc
commit 1a7fb2487e
4 changed files with 431 additions and 55 deletions

View File

@ -117,9 +117,6 @@ void boot_startup_rom(uint16_t init_delay)
_delay_ms(init_delay); _delay_ms(init_delay);
} }
void banner(){ void banner(){
uint8_t i; uint8_t i;
for (i=0;i<40;i++) for (i=0;i<40;i++)
@ -136,3 +133,15 @@ void banner(){
info_P(PSTR("System Hw: %s Sw: %s\n"),HW_VERSION,SW_VERSION); info_P(PSTR("System Hw: %s Sw: %s\n"),HW_VERSION,SW_VERSION);
} }
void transaction_status(){
info_P(PSTR("\nAddr 0x%06lx\n"),usb_trans.req_addr);
info_P(PSTR("Bank 0x%02x\n"),usb_trans.req_bank);
info_P(PSTR("Banksize 0x%06lx\n"),usb_trans.req_bank_size);
info_P(PSTR("Bankcount 0x%02x\n"),usb_trans.req_bank_cnt);
info_P(PSTR("Status 0x%02x\n"),usb_trans.req_state);
info_P(PSTR("Percent %02i\n"),usb_trans.req_percent);
info_P(PSTR("TX buffer %02i\n"),usb_trans.tx_remaining);
info_P(PSTR("RX buffer %02i\n"),usb_trans.rx_remaining);
info_P(PSTR("Syncerr %02i\n"),usb_trans.sync_errors);
}

View File

@ -28,7 +28,7 @@ void set_rom_mode();
void usb_connect(); void usb_connect();
void boot_startup_rom(uint16_t init_delay); void boot_startup_rom(uint16_t init_delay);
void banner(); void banner();
void transaction_status();
#endif #endif

View File

@ -42,6 +42,7 @@
uint8_t command_buf[RECEIVE_BUF_LEN]; uint8_t command_buf[RECEIVE_BUF_LEN];
uint8_t recv_buf[RECEIVE_BUF_LEN]; uint8_t recv_buf[RECEIVE_BUF_LEN];
@ -194,6 +195,7 @@ enum cmds { CMD_DUMP,
CMD_SHMRESTORE, CMD_SHMRESTORE,
CMD_LOADER, CMD_LOADER,
CMD_RECONNECT, CMD_RECONNECT,
CMD_STATUS,
CMD_HELP CMD_HELP
}; };
@ -213,6 +215,7 @@ uint8_t cmdlist[][CMD_HELP] PROGMEM = {
{"SHMRESTORE"}, {"SHMRESTORE"},
{"LOADER"}, {"LOADER"},
{"RECONNECT"}, {"RECONNECT"},
{"STATUS"},
{"HELP"}, {"HELP"},
}; };
@ -316,6 +319,8 @@ void shell_run(void)
boot_startup_rom(500); boot_startup_rom(500);
}else if (strcmp_P((char*)t, (PGM_P)cmdlist[CMD_RECONNECT]) == 0) { }else if (strcmp_P((char*)t, (PGM_P)cmdlist[CMD_RECONNECT]) == 0) {
usb_connect(); usb_connect();
}else if (strcmp_P((char*)t, (PGM_P)cmdlist[CMD_STATUS]) == 0) {
transaction_status();
}else if (strcmp_P((char*)t, (PGM_P)cmdlist[CMD_HELP]) == 0) { }else if (strcmp_P((char*)t, (PGM_P)cmdlist[CMD_HELP]) == 0) {
shell_help(); shell_help();
} }

View File

@ -21,6 +21,48 @@
<integer>271</integer> <integer>271</integer>
<key>metaData</key> <key>metaData</key>
<dict> <dict>
<key>avr/usbload/command.c</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>0</integer>
<key>line</key>
<integer>141</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>94</integer>
</dict>
<key>avr/usbload/command.h</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>26</integer>
<key>line</key>
<integer>30</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>0</integer>
</dict>
<key>avr/usbload/config.h</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>5</integer>
<key>line</key>
<integer>45</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>10</integer>
</dict>
<key>avr/usbload/crc.c</key> <key>avr/usbload/crc.c</key>
<dict> <dict>
<key>caret</key> <key>caret</key>
@ -40,61 +82,131 @@
<key>caret</key> <key>caret</key>
<dict> <dict>
<key>column</key> <key>column</key>
<integer>0</integer> <integer>5</integer>
<key>line</key> <key>line</key>
<integer>26</integer> <integer>26</integer>
</dict> </dict>
<key>columnSelection</key>
<false/>
<key>firstVisibleColumn</key> <key>firstVisibleColumn</key>
<integer>0</integer> <integer>0</integer>
<key>firstVisibleLine</key> <key>firstVisibleLine</key>
<integer>0</integer> <integer>0</integer>
<key>selectFrom</key> </dict>
<key>avr/usbload/debug.h</key>
<dict>
<key>caret</key>
<dict> <dict>
<key>column</key> <key>column</key>
<integer>0</integer> <integer>0</integer>
<key>line</key> <key>line</key>
<integer>25</integer>
</dict>
<key>selectTo</key>
<dict>
<key>column</key>
<integer>0</integer> <integer>0</integer>
<key>line</key>
<integer>26</integer>
</dict> </dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>2</integer>
</dict> </dict>
<key>avr/usbload/dump.c</key> <key>avr/usbload/dump.c</key>
<dict> <dict>
<key>caret</key> <key>caret</key>
<dict> <dict>
<key>column</key> <key>column</key>
<integer>12</integer> <integer>15</integer>
<key>line</key> <key>line</key>
<integer>67</integer> <integer>28</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>36</integer>
</dict>
<key>avr/usbload/dump.h</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>0</integer>
<key>line</key>
<integer>3</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>0</integer>
</dict>
<key>avr/usbload/irq.c</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>10</integer>
<key>line</key>
<integer>53</integer>
</dict> </dict>
<key>columnSelection</key> <key>columnSelection</key>
<false/> <false/>
<key>firstVisibleColumn</key> <key>firstVisibleColumn</key>
<integer>0</integer> <integer>0</integer>
<key>firstVisibleLine</key> <key>firstVisibleLine</key>
<integer>35</integer> <integer>25</integer>
<key>selectFrom</key> <key>selectFrom</key>
<dict> <dict>
<key>column</key> <key>column</key>
<integer>5</integer> <integer>5</integer>
<key>line</key> <key>line</key>
<integer>67</integer> <integer>53</integer>
</dict> </dict>
<key>selectTo</key> <key>selectTo</key>
<dict> <dict>
<key>column</key> <key>column</key>
<integer>16</integer> <integer>22</integer>
<key>line</key> <key>line</key>
<integer>67</integer> <integer>53</integer>
</dict> </dict>
</dict> </dict>
<key>avr/usbload/irq.h</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>19</integer>
<key>line</key>
<integer>26</integer>
</dict>
<key>columnSelection</key>
<false/>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>0</integer>
<key>selectFrom</key>
<dict>
<key>column</key>
<integer>5</integer>
<key>line</key>
<integer>26</integer>
</dict>
<key>selectTo</key>
<dict>
<key>column</key>
<integer>22</integer>
<key>line</key>
<integer>26</integer>
</dict>
</dict>
<key>avr/usbload/loader.c</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>80</integer>
<key>line</key>
<integer>18</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>734</integer>
</dict>
<key>avr/usbload/main.c</key> <key>avr/usbload/main.c</key>
<dict> <dict>
<key>caret</key> <key>caret</key>
@ -102,28 +214,68 @@
<key>column</key> <key>column</key>
<integer>0</integer> <integer>0</integer>
<key>line</key> <key>line</key>
<integer>28</integer> <integer>74</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>46</integer>
</dict>
<key>avr/usbload/pwm.c</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>25</integer>
<key>line</key>
<integer>32</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>20</integer>
</dict>
<key>avr/usbload/pwm.h</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>20</integer>
<key>line</key>
<integer>33</integer>
</dict> </dict>
<key>columnSelection</key>
<false/>
<key>firstVisibleColumn</key> <key>firstVisibleColumn</key>
<integer>0</integer> <integer>0</integer>
<key>firstVisibleLine</key> <key>firstVisibleLine</key>
<integer>0</integer> <integer>0</integer>
<key>selectFrom</key> </dict>
<key>avr/usbload/requests.h</key>
<dict>
<key>caret</key>
<dict> <dict>
<key>column</key> <key>column</key>
<integer>0</integer> <integer>20</integer>
<key>line</key> <key>line</key>
<integer>22</integer> <integer>56</integer>
</dict> </dict>
<key>selectTo</key> <key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>9</integer>
</dict>
<key>avr/usbload/rle.c</key>
<dict>
<key>caret</key>
<dict> <dict>
<key>column</key> <key>column</key>
<integer>0</integer> <integer>40</integer>
<key>line</key> <key>line</key>
<integer>28</integer> <integer>99</integer>
</dict> </dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>55</integer>
</dict> </dict>
<key>avr/usbload/rle.h</key> <key>avr/usbload/rle.h</key>
<dict> <dict>
@ -155,40 +307,70 @@
<integer>0</integer> <integer>0</integer>
</dict> </dict>
</dict> </dict>
<key>avr/usbload/shared_memory.c</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>0</integer>
<key>line</key>
<integer>70</integer>
</dict>
<key>columnSelection</key>
<false/>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>61</integer>
<key>selectFrom</key>
<dict>
<key>column</key>
<integer>0</integer>
<key>line</key>
<integer>64</integer>
</dict>
<key>selectTo</key>
<dict>
<key>column</key>
<integer>0</integer>
<key>line</key>
<integer>70</integer>
</dict>
</dict>
<key>avr/usbload/shared_memory.h</key> <key>avr/usbload/shared_memory.h</key>
<dict> <dict>
<key>caret</key> <key>caret</key>
<dict> <dict>
<key>column</key> <key>column</key>
<integer>45</integer> <integer>52</integer>
<key>line</key> <key>line</key>
<integer>24</integer> <integer>50</integer>
</dict> </dict>
<key>firstVisibleColumn</key> <key>firstVisibleColumn</key>
<integer>0</integer> <integer>0</integer>
<key>firstVisibleLine</key> <key>firstVisibleLine</key>
<integer>0</integer> <integer>29</integer>
</dict> </dict>
<key>avr/usbload/shell.c</key> <key>avr/usbload/shell.c</key>
<dict> <dict>
<key>caret</key> <key>caret</key>
<dict> <dict>
<key>column</key> <key>column</key>
<integer>41</integer> <integer>0</integer>
<key>line</key> <key>line</key>
<integer>177</integer> <integer>43</integer>
</dict> </dict>
<key>firstVisibleColumn</key> <key>firstVisibleColumn</key>
<integer>0</integer> <integer>0</integer>
<key>firstVisibleLine</key> <key>firstVisibleLine</key>
<integer>154</integer> <integer>30</integer>
</dict> </dict>
<key>avr/usbload/shell.h</key> <key>avr/usbload/shell.h</key>
<dict> <dict>
<key>caret</key> <key>caret</key>
<dict> <dict>
<key>column</key> <key>column</key>
<integer>0</integer> <integer>22</integer>
<key>line</key> <key>line</key>
<integer>23</integer> <integer>23</integer>
</dict> </dict>
@ -211,7 +393,7 @@
<key>firstVisibleColumn</key> <key>firstVisibleColumn</key>
<integer>0</integer> <integer>0</integer>
<key>firstVisibleLine</key> <key>firstVisibleLine</key>
<integer>206</integer> <integer>215</integer>
<key>selectFrom</key> <key>selectFrom</key>
<dict> <dict>
<key>column</key> <key>column</key>
@ -227,6 +409,34 @@
<integer>287</integer> <integer>287</integer>
</dict> </dict>
</dict> </dict>
<key>avr/usbload/timer.c</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>6</integer>
<key>line</key>
<integer>80</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>47</integer>
</dict>
<key>avr/usbload/timer.h</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>0</integer>
<key>line</key>
<integer>29</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>0</integer>
</dict>
<key>avr/usbload/uart.c</key> <key>avr/usbload/uart.c</key>
<dict> <dict>
<key>caret</key> <key>caret</key>
@ -241,6 +451,36 @@
<key>firstVisibleLine</key> <key>firstVisibleLine</key>
<integer>26</integer> <integer>26</integer>
</dict> </dict>
<key>avr/usbload/usb_bulk.c</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>0</integer>
<key>line</key>
<integer>43</integer>
</dict>
<key>columnSelection</key>
<false/>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>16</integer>
<key>selectFrom</key>
<dict>
<key>column</key>
<integer>0</integer>
<key>line</key>
<integer>42</integer>
</dict>
<key>selectTo</key>
<dict>
<key>column</key>
<integer>0</integer>
<key>line</key>
<integer>43</integer>
</dict>
</dict>
<key>avr/usbload/usb_bulk.h</key> <key>avr/usbload/usb_bulk.h</key>
<dict> <dict>
<key>caret</key> <key>caret</key>
@ -255,50 +495,62 @@
<key>firstVisibleLine</key> <key>firstVisibleLine</key>
<integer>0</integer> <integer>0</integer>
</dict> </dict>
<key>avr/usbload/usbconfig.h</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>42</integer>
<key>line</key>
<integer>129</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>88</integer>
</dict>
<key>avr/usbload/util.c</key> <key>avr/usbload/util.c</key>
<dict> <dict>
<key>caret</key> <key>caret</key>
<dict> <dict>
<key>column</key> <key>column</key>
<integer>1</integer> <integer>0</integer>
<key>line</key> <key>line</key>
<integer>25</integer> <integer>116</integer>
</dict> </dict>
<key>firstVisibleColumn</key> <key>firstVisibleColumn</key>
<integer>0</integer> <integer>0</integer>
<key>firstVisibleLine</key> <key>firstVisibleLine</key>
<integer>0</integer> <integer>84</integer>
</dict> </dict>
<key>avr/usbload/util.h</key> <key>avr/usbload/util.h</key>
<dict> <dict>
<key>caret</key> <key>caret</key>
<dict> <dict>
<key>column</key> <key>column</key>
<integer>0</integer> <integer>1</integer>
<key>line</key> <key>line</key>
<integer>0</integer> <integer>29</integer>
</dict> </dict>
<key>columnSelection</key>
<false/>
<key>firstVisibleColumn</key> <key>firstVisibleColumn</key>
<integer>0</integer> <integer>0</integer>
<key>firstVisibleLine</key> <key>firstVisibleLine</key>
<integer>0</integer> <integer>0</integer>
<key>selectFrom</key> </dict>
<key>scripts/check_rle.py</key>
<dict>
<key>caret</key>
<dict> <dict>
<key>column</key> <key>column</key>
<integer>3</integer> <integer>14</integer>
<key>line</key> <key>line</key>
<integer>18</integer> <integer>9</integer>
</dict> </dict>
<key>selectTo</key> <key>firstVisibleColumn</key>
<dict>
<key>column</key>
<integer>0</integer> <integer>0</integer>
<key>line</key> <key>firstVisibleLine</key>
<integer>0</integer> <integer>0</integer>
</dict> </dict>
</dict>
<key>snes/banktest/LoadGraphics.asm</key> <key>snes/banktest/LoadGraphics.asm</key>
<dict> <dict>
<key>caret</key> <key>caret</key>
@ -327,17 +579,96 @@
<key>firstVisibleLine</key> <key>firstVisibleLine</key>
<integer>211</integer> <integer>211</integer>
</dict> </dict>
<key>tools/ucon64/src/backup/quickdev16.c</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>30</integer>
<key>line</key>
<integer>71</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>181</integer>
</dict>
<key>tools/ucon64/src/backup/smsgg-pro.h</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>0</integer>
<key>line</key>
<integer>0</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>0</integer>
</dict>
<key>tools/ucon64/src/console/snes.c</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>0</integer>
<key>line</key>
<integer>2695</integer>
</dict>
<key>columnSelection</key>
<false/>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>3814</integer>
<key>selectFrom</key>
<dict>
<key>column</key>
<integer>1</integer>
<key>line</key>
<integer>2887</integer>
</dict>
<key>selectTo</key>
<dict>
<key>column</key>
<integer>0</integer>
<key>line</key>
<integer>2695</integer>
</dict>
</dict>
</dict> </dict>
<key>openDocuments</key> <key>openDocuments</key>
<array> <array>
<string>avr/usbload/sram.c</string> <string>avr/usbload/sram.c</string>
<string>avr/usbload/main.c</string> <string>avr/usbload/main.c</string>
<string>avr/usbload/usb_bulk.c</string>
<string>avr/usbload/usbconfig.h</string>
<string>avr/usbload/requests.h</string>
<string>avr/usbload/debug.h</string>
<string>avr/usbload/shell.c</string> <string>avr/usbload/shell.c</string>
<string>tools/ucon64/src/backup/smsgg-pro.h</string>
<string>tools/ucon64/src/console/snes.c</string>
<string>tools/ucon64/src/backup/quickdev16.c</string>
<string>avr/usbload/config.h</string>
<string>avr/usbload/timer.c</string>
<string>avr/usbload/rle.c</string>
<string>avr/usbload/pwm.c</string>
<string>avr/usbload/loader.c</string>
<string>scripts/check_rle.py</string>
<string>avr/usbload/pwm.h</string>
<string>avr/usbload/shared_memory.c</string>
<string>avr/usbload/command.c</string>
<string>avr/usbload/command.h</string>
<string>avr/usbload/irq.c</string>
<string>avr/usbload/irq.h</string>
<string>avr/usbload/crc.c</string> <string>avr/usbload/crc.c</string>
<string>avr/usbload/dump.c</string> <string>avr/usbload/dump.c</string>
<string>avr/usbload/debug.c</string> <string>avr/usbload/debug.c</string>
<string>avr/usbload/dump.h</string>
<string>avr/usbload/uart.c</string> <string>avr/usbload/uart.c</string>
<string>avr/usbload/util.c</string> <string>avr/usbload/util.c</string>
<string>avr/usbload/timer.h</string>
<string>avr/usbload/util.h</string> <string>avr/usbload/util.h</string>
<string>avr/usbload/usb_bulk.h</string> <string>avr/usbload/usb_bulk.h</string>
<string>avr/usbload/rle.h</string> <string>avr/usbload/rle.h</string>
@ -378,6 +709,37 @@
<key>subItems</key> <key>subItems</key>
<dict/> <dict/>
</dict> </dict>
<key>tools</key>
<dict>
<key>isExpanded</key>
<true/>
<key>subItems</key>
<dict>
<key>ucon64</key>
<dict>
<key>isExpanded</key>
<true/>
<key>subItems</key>
<dict>
<key>src</key>
<dict>
<key>isExpanded</key>
<true/>
<key>subItems</key>
<dict>
<key>console</key>
<dict>
<key>isExpanded</key>
<true/>
<key>subItems</key>
<dict/>
</dict>
</dict>
</dict>
</dict>
</dict>
</dict>
</dict>
</dict> </dict>
</dict> </dict>
</dict> </dict>