Some bits of Spy-Bi-Wire support, thanks to Mark Rages. (Not yet complete.)
[goodfet] / firmware / lib / command.c
index 282d98a..415171b 100644 (file)
@@ -30,6 +30,39 @@ void debugstr(const char *str){
   txstring(0xFF,0xFF,str);
 }
 
+//! brief Debug a hex word string.
+void debughex(u16 v) {
+  unsigned char a[7];
+  a[0]='0'; a[1]='x';
+    
+  a[2]=0xf&(v>>12);
+  a[2]+=(a[2]>9)?('a'-10):'0';
+
+  a[3]=0xf&(v>>8);
+  a[3]+=(a[3]>9)?('a'-10):'0';
+
+  a[4]=0xf&(v>>4);
+  a[4]+=(a[4]>9)?('a'-10):'0';
+
+  a[5]=0xf&(v>>0);
+  a[5]+=(a[5]>9)?('a'-10):'0';
+
+  a[6]=0;
+
+  txstring(0xFF,0xFF,a);
+}
+
+/*! \brief Transmit debug bytes.
+  
+  Transmits bytes for debugging.
+*/
+void debugbytes(const char *bytes, unsigned int len){
+  u16 i;
+  txhead(0xFF,0xFE,len);
+  for(i=0;i<len;i++)
+    serial_tx(bytes[i]);
+}
+
 
 //! Transmit a header.
 void txhead(unsigned char app,
@@ -37,7 +70,7 @@ void txhead(unsigned char app,
            unsigned long len){
   serial_tx(app);
   serial_tx(verb);
-  //serial_tx(len);
+  //serial_tx(len); //old protocol
   txword(len);
 }