X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Fplatforms%2Fgoodfet.h;h=14f9df823d423c2af9b91fe3d534e3ef43411c8c;hp=8b137891791fe96927ad78e64b0aad7bded08bdc;hb=19c84b41b9fbde102aee56bc137a8a2885194ebf;hpb=3ca6e2dc2aa0d4706fdcfc6a390c8f3f6419251d diff --git a/firmware/platforms/goodfet.h b/firmware/platforms/goodfet.h index 8b13789..14f9df8 100644 --- a/firmware/platforms/goodfet.h +++ b/firmware/platforms/goodfet.h @@ -1 +1,69 @@ +/*! \file goodfet.h + \author Travis Goodspeed + \brief Port descriptions for the GoodFET platform. +*/ + +/* #ifdef __MSPGCC__ */ +/* #include */ +/* #else */ +/* #include */ +/* #include */ +/* #include */ +/* #endif */ + +#ifndef _GNU_ASSEMBLER_ +#include +#endif + +//LED on P1.0 +#define PLEDOUT P1OUT +#define PLEDDIR P1DIR +#define PLEDPIN BIT0 + +//Use P3 instead of P5 for target I/O on chips without P5. +#ifdef msp430f2274 +//#warning "No P5, using P3 instead. Will break 2618 and 1612 support." +#define P5OUT P3OUT +#define P5DIR P3DIR +#define P5IN P3IN +#define P5REN P3REN + +#define SPIOUT P3OUT +#define SPIDIR P3DIR +#define SPIIN P3IN +#define SPIREN P3REN +#else + +#define SPIOUT P5OUT +#define SPIDIR P5DIR +#define SPIIN P5IN +#define SPIREN P5REN + +#endif + +//This is how things used to work, don't do it anymore. +//#ifdef msp430x1612 +//#define P5REN somedamnedextern +//#endif + +//No longer works for Hope badge. +#define SETSS P5OUT|=BIT0 +#define CLRSS P5OUT&=~BIT0 +#define DIRSS P5DIR|=BIT0; + +//Used for the Nordic port, !RST pin on regular GoodFET. +#define SETCE P2OUT|=BIT6 +#define CLRCE P2OUT&=~BIT6 +#define DIRCE P2DIR|=BIT6 + +// network byte order converters +#define htons(x) ((((uint16_t)(x) & 0xFF00) >> 8) | \ + (((uint16_t)(x) & 0x00FF) << 8)) +#define htonl(x) ((((uint32_t)(x) & 0xFF000000) >> 24) | \ + (((uint32_t)(x) & 0x00FF0000) >> 8) | \ + (((uint32_t)(x) & 0x0000FF00) << 8) | \ + (((uint32_t)(x) & 0x000000FF) << 24)) + +#define ntohs htons +#define ntohl htonl