Mathias Peers
/
ReceiverV2
Xbee receiver
main.cpp@1:30d319218526, 2016-03-23 (annotated)
- Committer:
- nnoitre
- Date:
- Wed Mar 23 11:50:42 2016 +0000
- Revision:
- 1:30d319218526
- Parent:
- 0:b78d22fdc409
- Child:
- 2:d7d8778f9780
Ne version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nnoitre | 0:b78d22fdc409 | 1 | #include "mbed.h" |
nnoitre | 1:30d319218526 | 2 | #include "C12832.h" |
nnoitre | 0:b78d22fdc409 | 3 | |
nnoitre | 0:b78d22fdc409 | 4 | DigitalOut myled1(LED1); |
nnoitre | 0:b78d22fdc409 | 5 | DigitalOut myled2(LED2); |
nnoitre | 0:b78d22fdc409 | 6 | DigitalOut myled3(LED3); |
nnoitre | 0:b78d22fdc409 | 7 | DigitalOut myled4(LED4); |
nnoitre | 0:b78d22fdc409 | 8 | |
nnoitre | 1:30d319218526 | 9 | Serial xbee(p9,p10); |
nnoitre | 1:30d319218526 | 10 | //DigitalOut nReset(p30); //reset pin of the xbee |
nnoitre | 1:30d319218526 | 11 | |
nnoitre | 1:30d319218526 | 12 | C12832 lcd(p5, p7, p6, p8, p11); //Used for the LCD |
nnoitre | 0:b78d22fdc409 | 13 | |
nnoitre | 1:30d319218526 | 14 | char a; |
nnoitre | 1:30d319218526 | 15 | int ID=0b00000001; |
nnoitre | 1:30d319218526 | 16 | int ACK; |
nnoitre | 1:30d319218526 | 17 | int teller; |
nnoitre | 1:30d319218526 | 18 | char received[7]; |
nnoitre | 1:30d319218526 | 19 | int check; |
nnoitre | 1:30d319218526 | 20 | int i; |
nnoitre | 0:b78d22fdc409 | 21 | |
nnoitre | 1:30d319218526 | 22 | void send(){ |
nnoitre | 1:30d319218526 | 23 | xbee.putc(0x7E); |
nnoitre | 1:30d319218526 | 24 | xbee.putc(received[2]); |
nnoitre | 1:30d319218526 | 25 | xbee.putc(received[1]); |
nnoitre | 1:30d319218526 | 26 | xbee.putc(ACK); |
nnoitre | 1:30d319218526 | 27 | xbee.putc(0x7E); |
nnoitre | 1:30d319218526 | 28 | } |
nnoitre | 0:b78d22fdc409 | 29 | |
nnoitre | 1:30d319218526 | 30 | int main(){ |
nnoitre | 1:30d319218526 | 31 | xbee.baud(57600); |
nnoitre | 1:30d319218526 | 32 | myled1=1; |
nnoitre | 1:30d319218526 | 33 | wait(0.2); |
nnoitre | 1:30d319218526 | 34 | myled1=0; |
nnoitre | 0:b78d22fdc409 | 35 | while(1) { |
nnoitre | 0:b78d22fdc409 | 36 | if(xbee.readable()) { //Checks if the data is readable |
nnoitre | 1:30d319218526 | 37 | xbee.gets(received,8); |
nnoitre | 1:30d319218526 | 38 | check=(received[1]+received[2]+received[3]+received[4])%255; |
nnoitre | 1:30d319218526 | 39 | if(received[2]=ID){ |
nnoitre | 1:30d319218526 | 40 | if(received[0]==0x7E){ |
nnoitre | 1:30d319218526 | 41 | myled1=!myled1; |
nnoitre | 1:30d319218526 | 42 | } |
nnoitre | 1:30d319218526 | 43 | if(received[6]==0x7E){ |
nnoitre | 1:30d319218526 | 44 | myled2=!myled2; |
nnoitre | 1:30d319218526 | 45 | } |
nnoitre | 1:30d319218526 | 46 | if(check==received[5]) { |
nnoitre | 1:30d319218526 | 47 | myled3=!myled3; |
nnoitre | 1:30d319218526 | 48 | teller++; |
nnoitre | 1:30d319218526 | 49 | lcd.cls(); |
nnoitre | 1:30d319218526 | 50 | lcd.printf("%d",teller); |
nnoitre | 1:30d319218526 | 51 | ACK=0b00001111; |
nnoitre | 1:30d319218526 | 52 | send(); |
nnoitre | 1:30d319218526 | 53 | while(i<5){ |
nnoitre | 1:30d319218526 | 54 | received[i]=0; |
nnoitre | 1:30d319218526 | 55 | i++; |
nnoitre | 1:30d319218526 | 56 | } |
nnoitre | 1:30d319218526 | 57 | i=0; |
nnoitre | 1:30d319218526 | 58 | } |
nnoitre | 1:30d319218526 | 59 | if(received[5]!=check){ |
nnoitre | 1:30d319218526 | 60 | myled4=!myled4; |
nnoitre | 1:30d319218526 | 61 | ACK=0b11110000; |
nnoitre | 1:30d319218526 | 62 | send(); |
nnoitre | 1:30d319218526 | 63 | while(i<5){ |
nnoitre | 1:30d319218526 | 64 | received[i]=0; |
nnoitre | 1:30d319218526 | 65 | i++; |
nnoitre | 1:30d319218526 | 66 | } |
nnoitre | 1:30d319218526 | 67 | i=0; |
nnoitre | 1:30d319218526 | 68 | } |
nnoitre | 0:b78d22fdc409 | 69 | } |
nnoitre | 0:b78d22fdc409 | 70 | } |
nnoitre | 0:b78d22fdc409 | 71 | } |
nnoitre | 1:30d319218526 | 72 | } |