1,15 → 1,29 |
#ifndef __xbee_h |
#define __xbee_h |
|
#define XBEE_BUFFER_SIZE MSGLEN |
#define XBEE_START_DELIMITER 0x7E |
#define XBEE_BUFFER_SIZE 256 |
|
#define XBEE_CTS_TRIS TRISBbits.TRISB0 |
#define XBEE_RTS_TRIS TRISBbits.TRISB1 |
#define XBEE_CTS_LAT LATBbits.LATB0 |
#define XBEE_RTS_LAT LATBbits.LATB1 |
#define XBEE_CTS_PORT PORTBbits.RB0 |
|
// If API mode = 2 is enabled |
#define XBEE_USE_ESCAPE_CHAR |
|
#define XBEE_ESCAPE_VAL 0x20 |
#define XBEE_START_DELIMITER 0x7E |
#define XBEE_ESCAPE_CHAR 0x7D |
#define XBEE_XON 0x11 |
#define XBEE_XOFF 0x13 |
|
// Expected 'next' state |
#define XBEE_STATE_READ_START 10 |
#define XBEE_STATE_READ_LENGTH_HIGH 11 |
#define XBEE_STATE_READ_LENGTH_LOW 12 |
#define XBEE_STATE_READ_FRAME_DATA 14 |
#define XBEE_STATE_READ_CHECKSUM 15 |
#define XBEE_STATE_READ_FRAME_DATA 13 |
#define XBEE_STATE_READ_CHECKSUM 14 |
|
// Command Frame Type |
#define XBEE_TX_AT_COMMAND 0x08 |
237,20 → 251,25 |
// Overall Data Structure |
typedef struct __xbee_data { |
XBEE_FRAME rcv_frame; |
unsigned char dataind; |
unsigned int dataind; |
unsigned char checksum_sum; |
unsigned char read_state; |
unsigned char msgtype; |
unsigned char frame_rdy; |
unsigned char escape_flag; |
} XBEE_DATA; |
|
|
void xbee_init(XBEE_DATA *); |
void xbee_read_serial(unsigned char); |
void xbee_process_recieved_frame(void); |
//void xbee_process_transmit_frame_interrupt(void); |
void xbee_process_transmit_frame(void *data, unsigned char length); |
void XBee_Init(void); |
void XBee_Serial_In(unsigned char); |
void XBee_Process_Received_Frame(void); |
void XBee_Process_Transmit_Frame(unsigned char *data, unsigned char length); |
|
void xbee_set_RTS(unsigned char); |
unsigned char xbee_read_CTS(void); |
unsigned int XBee_Get_Received_Frame(unsigned char *frame); |
|
void XBee_Set_RTS(unsigned char); |
unsigned char XBee_Read_CTS(void); |
|
void XBee_ConvertEndian64(XBEE_ADDRESS_64 *src); |
void XBee_ConvertEndian16(XBEE_ADDRESS_16 *src); |
|
#endif |