X-Git-Url: http://git.rot13.org//?a=blobdiff_plain;f=firmware%2Flib%2Fcommand.c;h=a8265714137218a416f9b6b040dde5f7113046df;hb=ed7afb6af8b3831d61a8ef6cba7592f17592af72;hp=35afbfbb413a687d2065045d20a0dcbac9cb0390;hpb=e3e1bb605963def746b50f62277180e567d3b615;p=goodfet diff --git a/firmware/lib/command.c b/firmware/lib/command.c index 35afbfb..a826571 100644 --- a/firmware/lib/command.c +++ b/firmware/lib/command.c @@ -7,16 +7,15 @@ #include "platform.h" #include -unsigned char cmddata[256]; +unsigned char cmddata[CMDDATALEN]; +unsigned char silent=0; //! Transmit a string. void txstring(unsigned char app, unsigned char verb, const char *str){ - unsigned char len=strlen(str); - serial_tx(app); - serial_tx(verb); - serial_tx(len); + unsigned long len=strlen(str); + txhead(app,verb,len); while(len--) serial_tx(*(str++)); } @@ -31,20 +30,76 @@ void debugstr(const char *str){ txstring(0xFF,0xFF,str); } +/*! \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>=8; + serial_tx(l&0xFF); + l>>=8; + serial_tx(l&0xFF); + l>>=8; + serial_tx(l&0xFF); + l>>=8; +} +//! Transmit a word. +void txword(unsigned int l){ + serial_tx(l&0xFF); + l>>=8; + serial_tx(l&0xFF); + l>>=8; +} + //Be very careful changing delay(). //It was chosen poorly by trial and error.