2 \author Travis Goodspeed
3 \brief Port descriptions for the Zolertia Z1 platform.
5 This file defines the Zolertia hardware, so that the GoodFET firmware
6 may be loaded onto it. Adjustments are identical to the Telos B.
10 #ifndef _GNU_ASSEMBLER_
14 //LED on P5.4 (LED1 red)
18 //LED on P5.5 (LED2 green)
19 #define PLED2OUT P5OUT
20 #define PLED2DIR P5DIR
22 //LED on P5.6 (LED3 blue)
23 #define PLED3OUT P5OUT
24 #define PLED3DIR P5DIR
34 /* For the radio to be used:
35 4.6 (!RST) must be low
36 4.5 (VREF_EN) must be high
37 4.2 (!CS) must be low for the transaction.
40 #define INITPLATFORM \
57 #define SETSS P4OUT|=BIT2
58 #define CLRSS P4OUT&=~BIT2
59 #define DIRSS P4DIR|=BIT2
61 //Flash CS is P4.4, redefine only for the SPI app.
66 #define SETSS P4OUT|=BIT4
67 #define CLRSS P4OUT&=~BIT4
68 #define DIRSS P4DIR|=BIT4
72 #define SETCE P4OUT|=BIT6
73 #define CLRCE P4OUT&=~BIT6
74 #define DIRCE P4DIR|=BIT6
77 #define SFD (P4IN&BIT1) //Might be broken on the Z1.
78 #define FIFOP (P1IN&BIT2) // Was 1.0, mistakenly.
79 #define FIFO (P1IN&BIT3)
82 // network byte order converters
83 #define htons(x) ((((uint16_t)(x) & 0xFF00) >> 8) | \
84 (((uint16_t)(x) & 0x00FF) << 8))
85 #define htonl(x) ((((uint32_t)(x) & 0xFF000000) >> 24) | \
86 (((uint32_t)(x) & 0x00FF0000) >> 8) | \
87 (((uint32_t)(x) & 0x0000FF00) << 8) | \
88 (((uint32_t)(x) & 0x000000FF) << 24))