dd
Dependencies: xtoff2 RF24Network mbed
Fork of xtoff3 by
main.cpp
- Committer:
- pietor
- Date:
- 2018-03-21
- Revision:
- 13:f54dfb74247e
- Parent:
- 12:a3dd2ebf8f93
- Child:
- 14:3e69c8a9c730
File content as of revision 13:f54dfb74247e:
/** Main.cpp Purpose: main class @author Pieter Berteloot RF24 PINOUT: ---- ----- |GND | VCC | |---- | |CE CSN | |SCK MOSI| |MISO IRQ | ---- ----- ---- ----- |GND | Vout| |---- | |p9 p8 | |p7 p5 | |p6 NC | ---- ----- */ //uncommend #define PRINT_ENABLE to see informational prints //#define PRINT_ENABLE #include "mbed.h" #include "Ontvanger.h" Serial pc(USBTX, USBRX); Ontvanger receive; Timer t; DigitalOut myled1(LED1); DigitalOut myled2(LED2); DigitalOut myled3(LED3); DigitalOut myled4(LED4); char c; State2 current_state = init_state; void acitvateLed() { t.reset(); } void setCurrentState( State2 setState ) { current_state = setState; } State2 getCurrentState() { return current_state; } int main() { IF_PRINT_ENABLE( pc.printf("\r\nOntvanger: \r\n"); pc.printf("testing Radio... %d\r\n", receive.isValid()); ); while(1) { receive.update(); switch (current_state) { case init_state: IF_PRINT_ENABLE(pc.printf("Init State\n\r");); pc.baud(9600); t.start(); state_Packet packet; payload_t payload; setCurrentState(receive_state); break; case send_state: IF_PRINT_ENABLE(pc.printf("Send State\n\r");); if(c == 's') { IF_PRINT_ENABLE(pc.printf("Send state: Tare\n\r");); packet.setState = 's'; } if (c == 'c') { IF_PRINT_ENABLE(pc.printf("Send state: Calibrate\n\r");); packet.setState = 'c'; } bool ok = receive.write(packet); if (ok) IF_PRINT_ENABLE(pc.printf("ok.\n\r");); else IF_PRINT_ENABLE(pc.printf("failed.\n\r");); wait(0.1); setCurrentState(receive_state); break; case receive_state: pc.printf("");//print niet weg doen, één of andere reden werkt het niet zonder if (receive.available()) { payload_t payload; payload = receive.read(); if(!payload.messageAvailable) { pc.printf("%f\r\n", payload.gram); if (payload.reedsensor) { acitvateLed(); } } } if (t.read() <= 1) { myled1 = myled2 = myled3 = myled4 = 1; } else myled1 = myled2 = myled3 = myled4 = 0; if(pc.readable()) { c = pc.getc(); if(c == 's' or c == 'c') setCurrentState(send_state); wait(0.5); } break; } } }