Basis for the C2 protocol from Silicon Labs.

Dependencies:   mbed

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");