X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=firmware%2Finclude%2Fcommand.h;h=7e2d83a08c444edcc08d34b5e96a4be775049cbb;hb=e375e55005a476224e676015fb184ffeac170452;hp=be52d17c1bd0e8209a52eb206759c441513fb2e1;hpb=d8eef3ccb487fb87b2aca1dc6a0bd9b9bbe31861;p=goodfet diff --git a/firmware/include/command.h b/firmware/include/command.h index be52d17..7e2d83a 100644 --- a/firmware/include/command.h +++ b/firmware/include/command.h @@ -10,11 +10,11 @@ #define u32 unsigned long -#ifdef msp430x2254 +#ifdef msp430x2274 //256 bytes, plus overhead //For chips with very little RAM. #define CMDDATALEN 0x104 -#warning Very little RAM. +//#warning Very little RAM. #endif #ifndef CMDDATALEN @@ -41,6 +41,8 @@ extern unsigned char silent; #define SETUP 0x10 #define START 0x20 #define STOP 0x21 +#define CALL 0x30 +#define EXEC 0x31 #define NOK 0x7E #define OK 0x7F @@ -72,7 +74,12 @@ extern unsigned char silent; #define OCT_CMP 0x90 #define OCT_RES 0x91 +#ifdef GCC #define WEAKDEF __attribute__ ((weak)) +#else +//Compiler doesn't support weak linking. :( +#define WEAKDEF +#endif //! Handle a plugin, weak-linked to error. extern int pluginhandle(unsigned char app, @@ -110,6 +117,8 @@ void txword(unsigned int l); //! Transmit a debug string. void debugstr(const char *str); +//! brief Debug a hex word string. +void debughex(u16 v); //! Delay for a count. void delay(unsigned int count); @@ -123,8 +132,14 @@ void i2chandle(unsigned char, unsigned char, unsigned long) WEAKDEF; void cchandle(unsigned char, unsigned char, unsigned long) WEAKDEF; void jtaghandle(unsigned char, unsigned char, unsigned long); void jtag430handle(unsigned char, unsigned char, unsigned long); +void ejtaghandle(unsigned char, unsigned char, unsigned long); + void jtag430x2handle(unsigned char app, unsigned char verb, unsigned long len); + void avrhandle(unsigned char app, unsigned char verb, unsigned long len); +int smartcardhandle(unsigned char app, + unsigned char verb, + unsigned int len);