X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Flib%2Fcommand.c;h=8d9eac10f1cbfd1effc55cdca2140b980b299791;hp=f585e4cd8bde289800e66ec53b4753de7713049e;hb=84de7aa6b2ef9e83c7d36c3b2fed78933113c38a;hpb=0fb25630e9970a4e6d18e190c484f654490565b0 diff --git a/firmware/lib/command.c b/firmware/lib/command.c index f585e4c..8d9eac1 100644 --- a/firmware/lib/command.c +++ b/firmware/lib/command.c @@ -1,10 +1,14 @@ +/*! \file command.c + \author Travis Goodspeed + \brief These functions manage command interpretation. +*/ + #include "command.h" #include "platform.h" #include -//! Different command handling functions. - unsigned char cmddata[256]; +unsigned char silent=0; //! Transmit a string. void txstring(unsigned char app, @@ -18,19 +22,41 @@ void txstring(unsigned char app, serial_tx(*(str++)); } -//! Transmit data. -void txdata(unsigned char app, +/*! \brief Transmit a debug string. + + Transmits a debugging string that is to be printed + out of line by the client. This is just for record-keeping; + it is not considered a proper reply to a query. + */ +void debugstr(const char *str){ + txstring(0xFF,0xFF,str); +} + +//! Transmit a header. +void txhead(unsigned char app, unsigned char verb, - unsigned char len){ - unsigned int i=0; + unsigned int len){ serial_tx(app); serial_tx(verb); serial_tx(len); +} + +//! Transmit data. +void txdata(unsigned char app, + unsigned char verb, + unsigned int len){ + unsigned int i=0; + if(silent) + return; + txhead(app,verb,len); for(i=0;i