Sophie Dexter
/
Just4Trionic
Just4Trionic - CAN and BDM FLASH programmer for Saab cars
Diff: bdm.cpp
- Revision:
- 6:2fbcbebed28c
- Parent:
- 5:1775b4b13232
diff -r 1775b4b13232 -r 2fbcbebed28c bdm.cpp --- a/bdm.cpp Sat Apr 25 17:07:08 2015 +0000 +++ b/bdm.cpp Sat Apr 23 18:31:40 2016 +0000 @@ -423,20 +423,22 @@ // registers case CMDGROUP_REGISTER: // get register code - if (cmd_length == 2 && (cmd != CMD_DISPLAYREGS)) { - // broken parametre - return TERM_ERR; - } else { - if (cmd_length < 4 || !ascii2int(&cmd_addr, cmd_buffer + 3, 1)) { + if (cmd_length == 2) { + if (cmd != CMD_DISPLAYREGS) { // broken parametre + printf("err %s line: %d, cmd_length %d\r\n", __FILE__, __LINE__, cmd_length); return TERM_ERR; } - // get optional value - if (cmd_length > 4 && - !ascii2int(&cmd_value, cmd_buffer + 4, 8)) { - // broken parametre - return TERM_ERR; - } + } else if (cmd_length < 4 || !ascii2int(&cmd_addr, cmd_buffer + 3, 1)) { + // broken parametre + printf("err %s line: %d, cmd_length %d\r\n", __FILE__, __LINE__, cmd_length); + return TERM_ERR; + } + // get optional value + if (cmd_length > 4 && !ascii2int(&cmd_value, cmd_buffer + 4, 8)) { + // broken parametre + printf("err %s line: %d, cmd_length %d\r\n", __FILE__, __LINE__, cmd_length); + return TERM_ERR; } switch (cmd) { @@ -444,6 +446,7 @@ case CMD_READSYSREG: if (cmd_length != 4 || sysreg_read(&cmd_result, (uint8_t)cmd_addr) != TERM_OK) { + printf("err %s line: %d\r\n", __FILE__, __LINE__ ); return TERM_ERR; } printf("%08X", cmd_result); @@ -460,6 +463,7 @@ case CMD_READADREG: if (cmd_length != 4 || adreg_read(&cmd_result, (uint8_t)cmd_addr) != TERM_OK) { + printf("err %s line: %d, cmd_length %d\r\n", __FILE__, __LINE__, cmd_length); return TERM_ERR; } printf("%08X", cmd_result); @@ -474,9 +478,11 @@ // Display all registers case CMD_DISPLAYREGS: + printf(" Register Display\r\n"); printf(" D0-7"); for (uint8_t i = 0; i < 8; i++) { if (adreg_read(&cmd_result, i) != TERM_OK) { + printf("err %s line: %d\r\n", __FILE__, __LINE__ ); return TERM_ERR; } printf(" %08X", cmd_result); @@ -486,6 +492,7 @@ printf(" A0-7"); for (uint8_t i = 8; i < 16; i++) { if (adreg_read(&cmd_result, i) != TERM_OK) { + printf("err %s line: %d\r\n", __FILE__, __LINE__ ); return TERM_ERR; } printf(" %08X", cmd_result); @@ -493,31 +500,39 @@ printf("\r\n"); // if (sysreg_read(&cmd_result, 0x0) != TERM_OK) { + printf("err %s line: %d\r\n", __FILE__, __LINE__ ); return TERM_ERR; } printf(" RPC %08X", cmd_result); if (sysreg_read(&cmd_result, 0xC) != TERM_OK) { + printf("err %s line: %d\r\n", __FILE__, __LINE__ ); return TERM_ERR; } printf(" USP %08X", cmd_result); if (sysreg_read(&cmd_result, 0xE) != TERM_OK) { + printf("err %s line: %d\r\n", __FILE__, __LINE__ ); return TERM_ERR; } printf(" SFC %08X SR 10S--210---XNZVC\r\n", cmd_result); // if (sysreg_read(&cmd_result, 0x1) != TERM_OK) { + + printf("err %s line: %d\r\n", __FILE__, __LINE__ ); return TERM_ERR; } printf(" CPC %08X", cmd_result); if (sysreg_read(&cmd_result, 0xD) != TERM_OK) { + printf("err %s line: %d\r\n", __FILE__, __LINE__ ); return TERM_ERR; } printf(" SSP %08X", cmd_result); if (sysreg_read(&cmd_result, 0xF) != TERM_OK) { + printf("err %s line: %d\r\n", __FILE__, __LINE__ ); return TERM_ERR; } printf(" DFC %08X", cmd_result); if (sysreg_read(&cmd_result, 0xB) != TERM_OK) { + printf("err %s line: %d\r\n", __FILE__, __LINE__ ); return TERM_ERR; } printf(" %04X ", cmd_result); @@ -527,14 +542,17 @@ printf("\r\n"); // if (sysreg_read(&cmd_result, 0xA)!= TERM_OK) { + printf("err %s line: %d\r\n", __FILE__, __LINE__ ); return TERM_ERR; } printf(" VBR %08X", cmd_result); if (sysreg_read(&cmd_result, 0x8)!= TERM_OK) { + printf("err %s line: %d\r\n", __FILE__, __LINE__ ); return TERM_ERR; } printf(" ATEMP %08X", cmd_result); if (sysreg_read(&cmd_result, 0x9) != TERM_OK) { + printf("err %s line: %d\r\n", __FILE__, __LINE__ ); return TERM_ERR; } printf(" FAR %08X\r\n", cmd_result); @@ -580,7 +598,7 @@ bdm_show_help(); } - // unknown command +// unknown command return TERM_ERR; } @@ -589,9 +607,10 @@ printf("Just4Trionic BDM Command Menu\r\n"); printf("=============================\r\n"); printf("TD - and DUMP T5 FLASH BIN file\r\n"); - printf("TF - FLASH the update file to the T5 (and write SRAM)\r\n"); - printf("Tr - Read SRAM adaption (not done).\r\n"); - printf("Tw - Write SRAM adaptation (not done).\r\n"); + printf("TF - FLASH the update file to the T5\r\n"); +// printf("TF - FLASH the update file to the T5 (and write SRAM)\r\n"); +// printf("Tr - Read SRAM adaption (not done).\r\n"); +// printf("Tw - Write SRAM adaptation (not done).\r\n"); printf("\r\n"); printf("'ESC' - Return to Just4Trionic Main Menu\r\n"); printf("\r\n"); @@ -604,9 +623,10 @@ printf("Just4Trionic BDM Command Menu\r\n"); printf("=============================\r\n"); printf("TD - and DUMP T5 FLASH BIN file\r\n"); - printf("TF - FLASH the update file to the T5 (and write SRAM)\r\n"); - printf("Tr - Read SRAM adaption (not done).\r\n"); - printf("Tw - Write SRAM adaptation (not done).\r\n"); + printf("TF - FLASH the update file to the T5\r\n"); +// printf("TF - FLASH the update file to the T5 (and write SRAM)\r\n"); +// printf("Tr - Read SRAM adaption (not done).\r\n"); +// printf("Tw - Write SRAM adaptation (not done).\r\n"); printf("\r\n"); printf("Adapter Commands - a\r\n"); printf("====================\r\n");