Subversion Repositories Code-Repo

Rev

Rev 119 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 119 Rev 127
Line 1... Line 1...
1
#ifndef __xbee_h
1
#ifndef __xbee_h
2
#define __xbee_h
2
#define __xbee_h
3
 
3
 
4
#define XBEE_BUFFER_SIZE MSGLEN
4
#define XBEE_BUFFER_SIZE        256
-
 
5
 
-
 
6
#define XBEE_CTS_TRIS   TRISBbits.TRISB0
-
 
7
#define XBEE_RTS_TRIS   TRISBbits.TRISB1
-
 
8
#define XBEE_CTS_LAT    LATBbits.LATB0
-
 
9
#define XBEE_RTS_LAT    LATBbits.LATB1
-
 
10
#define XBEE_CTS_PORT   PORTBbits.RB0
-
 
11
 
-
 
12
// If API mode = 2 is enabled
-
 
13
#define XBEE_USE_ESCAPE_CHAR
-
 
14
 
-
 
15
#define XBEE_ESCAPE_VAL         0x20
5
#define XBEE_START_DELIMITER 0x7E
16
#define XBEE_START_DELIMITER    0x7E
-
 
17
#define XBEE_ESCAPE_CHAR        0x7D
-
 
18
#define XBEE_XON                0x11
-
 
19
#define XBEE_XOFF               0x13
6
 
20
 
7
// Expected 'next' state
21
// Expected 'next' state
8
#define XBEE_STATE_READ_START               10
22
#define XBEE_STATE_READ_START               10
9
#define XBEE_STATE_READ_LENGTH_HIGH         11
23
#define XBEE_STATE_READ_LENGTH_HIGH         11
10
#define XBEE_STATE_READ_LENGTH_LOW          12
24
#define XBEE_STATE_READ_LENGTH_LOW          12
11
#define XBEE_STATE_READ_FRAME_DATA          14
25
#define XBEE_STATE_READ_FRAME_DATA          13
12
#define XBEE_STATE_READ_CHECKSUM            15
26
#define XBEE_STATE_READ_CHECKSUM            14
13
 
27
 
14
// Command Frame Type
28
// Command Frame Type
15
#define XBEE_TX_AT_COMMAND                  0x08
29
#define XBEE_TX_AT_COMMAND                  0x08
16
#define XBEE_TX_AT_COMMAND_QUEUE            0x09
30
#define XBEE_TX_AT_COMMAND_QUEUE            0x09
17
#define XBEE_RX_AT_COMMAND_RESPONSE         0x88
31
#define XBEE_RX_AT_COMMAND_RESPONSE         0x88
Line 235... Line 249...
235
} XBEE_FRAME;
249
} XBEE_FRAME;
236
 
250
 
237
// Overall Data Structure
251
// Overall Data Structure
238
typedef struct __xbee_data {
252
typedef struct __xbee_data {
239
    XBEE_FRAME rcv_frame;
253
    XBEE_FRAME rcv_frame;
240
    unsigned char dataind;
254
    unsigned int dataind;
241
    unsigned char checksum_sum;
255
    unsigned char checksum_sum;
242
    unsigned char read_state;
256
    unsigned char read_state;
-
 
257
    unsigned char frame_rdy;
243
    unsigned char msgtype;
258
    unsigned char escape_flag;
244
} XBEE_DATA;
259
} XBEE_DATA;
245
 
260
 
246
 
261
 
247
void xbee_init(XBEE_DATA *);
262
void XBee_Init(void);
248
void xbee_read_serial(unsigned char);
263
void XBee_Serial_In(unsigned char);
249
void xbee_process_recieved_frame(void);
264
void XBee_Process_Received_Frame(void);
250
//void xbee_process_transmit_frame_interrupt(void);
265
void XBee_Process_Transmit_Frame(unsigned char *data, unsigned char length);
-
 
266
 
251
void xbee_process_transmit_frame(void *data, unsigned char length);
267
unsigned int XBee_Get_Received_Frame(unsigned char *frame);
-
 
268
 
-
 
269
void XBee_Set_RTS(unsigned char);
-
 
270
unsigned char XBee_Read_CTS(void);
252
 
271
 
253
void xbee_set_RTS(unsigned char);
272
void XBee_ConvertEndian64(XBEE_ADDRESS_64 *src);
254
unsigned char xbee_read_CTS(void);
273
void XBee_ConvertEndian16(XBEE_ADDRESS_16 *src);
255
 
274
 
256
#endif
275
#endif
257
276