Ivo van Poorten
/
SiLabs_C2
Basis for the C2 protocol from Silicon Labs.
Diff: main.cpp
- Revision:
- 13:45aaa8847c2b
- Parent:
- 12:49ac91452d77
- Child:
- 14:c24f608a8adb
--- a/main.cpp Sun May 25 17:52:29 2014 +0000 +++ b/main.cpp Sun May 25 17:54:37 2014 +0000 @@ -78,7 +78,6 @@ #define C2_PI_CMD_XRAM_WRITE 0x0f // RAM // PI Status Values - #define C2_PI_STATUS_COMMAND_INVALID 0x00 #define C2_PI_STATUS_NO_CONNECT 0x01 #define C2_PI_STATUS_FAILED 0x02 @@ -87,10 +86,10 @@ #define C2_PI_STATUS_OK 0x0d // C2 Registers -#define C2_DEVID 0 -#define C2_REVID 1 -#define C2_FPCTL 2 -static int C2_FPDAT = 0xb4; // or 0xad +#define C2_REG_DEVID 0 +#define C2_REG_REVID 1 +#define C2_REG_FPCTL 2 +static int C2_REG_FPDAT = 0xb4; // or 0xad static int page_size = 512; // not seen 4096 yet static void fatal(char *f, ...) { @@ -206,7 +205,7 @@ static void c2_enable_pi(void) { c2ck_reset(); - c2_write_ar(C2_FPCTL); + c2_write_ar(C2_REG_FPCTL); if ((c2_write_dr(0x02)+c2_write_dr(0x04)+c2_write_dr(0x02))<0) fatal("cannot enable PI"); wait_us(21); @@ -225,11 +224,11 @@ getc(stdin); - c2_write_ar(C2_DEVID); + c2_write_ar(C2_REG_DEVID); devid = c2_read_dr(); if (devid <= 0) fatal("unable to read devid\n\r"); - c2_write_ar(C2_REVID); + c2_write_ar(C2_REG_REVID); revid = c2_read_dr(); if (revid < 0) fatal("unable to read revid\n\r"); @@ -240,12 +239,12 @@ if (!i) fatal("unknown device: %02X:%02X\n\r", devid, revid); switch(devid) { - case 0x0f: case 0x28: case 0x18: case 0x19: C2_FPDAT = 0xad; + case 0x0f: case 0x28: case 0x18: case 0x19: C2_REG_FPDAT = 0xad; default: break; } printf("\n\rDevice found: %s (%02X:%02X)", devices[i].name, devid, revid); - printf("\n\rFPDAT Address: 0x%02X", C2_FPDAT); + printf("\n\rFPDAT Address: 0x%02X", C2_REG_FPDAT); printf("\n\rPage Size: %i\n\r", page_size); printf("\n\rEnabling Programming Interface\n\r");