X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=firmware%2Fplatforms%2Fgoodfet.h;h=a9288b24ef808a34660a5b37a19042e3c111a135;hb=c00829e3bbc2d574d2fc35059696018f90d87d96;hp=3186ef2d3e8651f91e4ab37caf5d9fb48a52426f;hpb=4359af022eff64cec047af0bd3b738d2f34993e1;p=goodfet diff --git a/firmware/platforms/goodfet.h b/firmware/platforms/goodfet.h index 3186ef2..a9288b2 100644 --- a/firmware/platforms/goodfet.h +++ b/firmware/platforms/goodfet.h @@ -3,10 +3,9 @@ \brief Port descriptions for the GoodFET platform. */ -#ifdef MSP430 +#include #include -#endif - +#include //LED on P1.0 @@ -15,14 +14,31 @@ #define PLEDPIN BIT0 //Use P3 instead of P5 for target I/O on chips without P5. -#ifndef __MSP430_HAS_PORT5__ +#ifdef msp430x2274 //#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 @@ -34,3 +50,15 @@ #define SETCE P5OUT|=BIT5 #define CLRCE P5OUT&=~BIT5 #define DIRCE P5DIR|=BIT5 + +// 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 +