Subversion Repositories Code-Repo

Rev

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

Rev 107 Rev 109
Line 7... Line 7...
7
static XBEE_DATA *xbee_data_ptr;
7
static XBEE_DATA *xbee_data_ptr;
8
static void *xbee_data_array_ptr;
8
static void *xbee_data_array_ptr;
9
 
9
 
10
/* Initialize variables used by this library */
10
/* Initialize variables used by this library */
11
void xbee_init(XBEE_DATA *xd) {
11
void xbee_init(XBEE_DATA *xd) {
12
    TRISBbits.TRISB4 = 1;   // RB0 is CTS, set by XBee chip
12
    TRISBbits.TRISB0 = 1;   // RB0 is CTS, set by XBee chip
13
    TRISBbits.TRISB5 = 0;   // RB1 is RTS, set by PIC
13
    TRISBbits.TRISB1 = 0;   // RB1 is RTS, set by PIC
14
 
14
 
15
    LATBbits.LATB4 = 0; // Pin set high to signal stop sending data to XBee
15
    LATBbits.LATB0 = 0; // Pin set high to signal stop sending data to XBee
16
    LATBbits.LATB5 = 0; // Pin set high to indicate stop sending data to PIC
16
    LATBbits.LATB1 = 0; // Pin set high to indicate stop sending data to PIC
17
 
17
 
18
    xbee_data_ptr = xd;
18
    xbee_data_ptr = xd;
19
    xbee_data_ptr->dataind = 0;
19
    xbee_data_ptr->dataind = 0;
20
    xbee_data_ptr->checksum_sum = 0;
20
    xbee_data_ptr->checksum_sum = 0;
21
    xbee_data_ptr->read_state = XBEE_STATE_READ_START;
21
    xbee_data_ptr->read_state = XBEE_STATE_READ_START;
Line 193... Line 193...
193
    while (Busy2USART());
193
    while (Busy2USART());
194
}
194
}
195
 
195
 
196
void xbee_set_RTS(unsigned char c) {
196
void xbee_set_RTS(unsigned char c) {
197
    if (c) {
197
    if (c) {
198
        LATBbits.LATB5 = 1; // Set high to stop receiving data
198
        LATBbits.LATB1 = 1; // Set high to stop receiving data
199
    } else {
199
    } else {
200
        LATBbits.LATB5 = 0; // Set low to resume receiving data
200
        LATBbits.LATB1 = 0; // Set low to resume receiving data
201
    }
201
    }
202
}
202
}
203
 
203
 
204
unsigned char xbee_read_CTS() {
204
unsigned char xbee_read_CTS() {
205
    unsigned char c = PORTBbits.RB4;
205
    unsigned char c = PORTBbits.RB0;
206
    if (c) {
206
    if (c) {
207
        return 0x1; // High indicates stop sending data
207
        return 0x1; // High indicates stop sending data
208
    } else {
208
    } else {
209
        return 0x0; // Low indicates ok to send data
209
        return 0x0; // Low indicates ok to send data
210
    }
210
    }