Cleaned up Chipcon entry sequence.
[goodfet] / firmware / apps / chipcon / chipcon.c
index c2c2a27..cf11b5a 100644 (file)
@@ -37,7 +37,8 @@
 //This could be more accurate.
 //Does it ever need to be?
 #define CCSPEED 3
-#define CCDELAY(x) delay(x)
+//#define CCDELAY(x) delay(x)
+#define CCDELAY(x) 
 
 #define SETMOSI P5OUT|=MOSI
 #define CLRMOSI P5OUT&=~MOSI
@@ -67,15 +68,25 @@ void ccdebuginit(){
   P5OUT&=~SCK;
   P5OUT&=~RST;
   
-  //pulse twice
+  /*
+  //pulse twice, old code.
   CCDELAY(CCSPEED);
   P5OUT|=SCK;  //up
   CCDELAY(CCSPEED);
   P5OUT&=~SCK; //down
   CCDELAY(CCSPEED);
+  
   P5OUT|=SCK;  //up
   CCDELAY(CCSPEED);
   P5OUT&=~SCK; //down
+  CCDELAY(CCSPEED);
+  */
+
+  P5OUT^=SCK;
+  P5OUT^=SCK;
+  P5OUT^=SCK;
+  P5OUT^=SCK; //Unnecessary.
+  
   
   //Raise !RST.
   P5OUT|=RST;
@@ -470,12 +481,12 @@ void cc_write_flash_page(u32 adr){
   cmddata[1]=0xc7;
   cmddata[2]=0x51;
   cc_debug_instr(3);
-  debugstr("Loaded bank info.");
+  //debugstr("Loaded bank info.");
   
   cc_set_pc(0xf000+MAXFLASHPAGE_SIZE);//execute code fragment
   cc_resume();
   
-  debugstr("Executing.");
+  //debugstr("Executing.");
   
   
   while(!(cc_read_status()&CC_STATUS_CPUHALTED)){
@@ -483,7 +494,7 @@ void cc_write_flash_page(u32 adr){
   }
   
   
-  debugstr("Done flashing.");
+  //debugstr("Done flashing.");
   
   P1OUT&=~1;//clear LED
 }