in d mix

Dependencies:   xtoff2 RF24Network mbed

Fork of RF24Network_Receive by Akash Vibhute

Committer:
pietor
Date:
Wed Feb 21 12:05:17 2018 +0000
Revision:
7:8515f205483b
Parent:
6:6a82110ff393
Child:
8:c43411433ce1
Case;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pietor 4:7ebc3b421306 1 /**
pietor 4:7ebc3b421306 2 Main.cpp
pietor 4:7ebc3b421306 3 Purpose: main class
pietor 4:7ebc3b421306 4
pietor 4:7ebc3b421306 5 @author Pieter Berteloot
pietor 4:7ebc3b421306 6 */
akashvibhute 0:3982c0e9eda1 7 #include "mbed.h"
pietor 4:7ebc3b421306 8 #include "Ontvanger.h"
pietor 4:7ebc3b421306 9
pietor 4:7ebc3b421306 10 DigitalOut myled1(LED1);
pietor 4:7ebc3b421306 11 DigitalOut myled2(LED2);
pietor 4:7ebc3b421306 12 DigitalOut myled3(LED3);
pietor 4:7ebc3b421306 13 DigitalOut myled4(LED4);
akashvibhute 0:3982c0e9eda1 14
akashvibhute 0:3982c0e9eda1 15 Serial pc(USBTX, USBRX);
akashvibhute 0:3982c0e9eda1 16
pietor 4:7ebc3b421306 17 Ontvanger receive;
akashvibhute 0:3982c0e9eda1 18
pietor 6:6a82110ff393 19 Timer t;
pietor 6:6a82110ff393 20
pietor 7:8515f205483b 21 enum State2 {init_state,
pietor 7:8515f205483b 22 send_state,
pietor 7:8515f205483b 23 receive_state
pietor 7:8515f205483b 24 };
pietor 7:8515f205483b 25
pietor 7:8515f205483b 26 State2 current_state = init_state;
pietor 7:8515f205483b 27
pietor 6:6a82110ff393 28 void acitvateLed()
pietor 6:6a82110ff393 29 {
pietor 6:6a82110ff393 30 t.reset();
pietor 6:6a82110ff393 31 }
pietor 6:6a82110ff393 32
pietor 7:8515f205483b 33 void setCurrentState( State2 setState )
pietor 7:8515f205483b 34 {
pietor 7:8515f205483b 35 current_state = setState;
pietor 7:8515f205483b 36 }
pietor 7:8515f205483b 37
pietor 7:8515f205483b 38
pietor 7:8515f205483b 39 State2 getCurrentState()
pietor 7:8515f205483b 40 {
pietor 7:8515f205483b 41 return current_state;
pietor 7:8515f205483b 42 }
pietor 7:8515f205483b 43
akashvibhute 2:608cf8c5c55e 44 int main()
akashvibhute 0:3982c0e9eda1 45 {
pietor 4:7ebc3b421306 46 while(1) {
pietor 4:7ebc3b421306 47 receive.update();
pietor 7:8515f205483b 48 switch (current_state) {
pietor 7:8515f205483b 49 case init_state:
pietor 7:8515f205483b 50 pc.baud(9600);
pietor 7:8515f205483b 51 pc.printf("Ontvangger: \r\n");
pietor 7:8515f205483b 52 t.start();
pietor 7:8515f205483b 53 state_Packet packet;
pietor 7:8515f205483b 54 payload_t payload;
pietor 7:8515f205483b 55 setCurrentState(receive_state);
pietor 7:8515f205483b 56 break;
pietor 7:8515f205483b 57
pietor 7:8515f205483b 58 case send_state:
pietor 7:8515f205483b 59 packet.setState = State_position;
pietor 7:8515f205483b 60 bool ok = receive.write(packet);
pietor 7:8515f205483b 61 if (ok)
pietor 7:8515f205483b 62 pc.printf("ok.\n\r");
pietor 7:8515f205483b 63 else
pietor 7:8515f205483b 64 pc.printf("failed.\n\r");
pietor 7:8515f205483b 65 wait(0.1);
pietor 7:8515f205483b 66 setCurrentState(receive_state);
pietor 7:8515f205483b 67 break;
pietor 7:8515f205483b 68
pietor 7:8515f205483b 69 case receive_state:
pietor 7:8515f205483b 70 pc.printf("");//print niet weg doen, één of andere reden werkt het dan wel
pietor 7:8515f205483b 71
pietor 7:8515f205483b 72 if (receive.available()) {
pietor 7:8515f205483b 73 payload_t payload;
pietor 7:8515f205483b 74 payload = receive.read();
pietor 7:8515f205483b 75 pc.printf("massa = %d\r\n",payload.milligram);
pietor 7:8515f205483b 76 if (payload.reedsensor) {
pietor 7:8515f205483b 77 acitvateLed();
pietor 7:8515f205483b 78 }
pietor 7:8515f205483b 79 }
pietor 7:8515f205483b 80
pietor 7:8515f205483b 81 if (t.read() <= 1)
pietor 7:8515f205483b 82 myled1 = myled2 = myled3 = myled4 = 1;
pietor 7:8515f205483b 83 else
pietor 7:8515f205483b 84 myled1 = myled2 = myled3 = myled4 = 0;
pietor 7:8515f205483b 85
pietor 7:8515f205483b 86 if(pc.readable()) {
pietor 7:8515f205483b 87 char c = pc.getc();
pietor 7:8515f205483b 88 if(c == 's')
pietor 7:8515f205483b 89 setCurrentState(send_state);
pietor 7:8515f205483b 90 wait(0.5);
pietor 7:8515f205483b 91 }
pietor 7:8515f205483b 92 break;
pietor 7:8515f205483b 93
akashvibhute 0:3982c0e9eda1 94 }
akashvibhute 0:3982c0e9eda1 95 }
akashvibhute 0:3982c0e9eda1 96 }