Coordinator v2
Dependencies: NerfUSXbee PinDetect EthernetInterface JSON MFRC522 WebSocketClient mbed-rtos mbed
Diff: main.cpp
- Revision:
- 2:019d8848cf7e
- Parent:
- 1:e1c5259b7d9a
- Child:
- 3:501120a68c11
--- a/main.cpp Mon Apr 10 15:02:24 2017 -0400 +++ b/main.cpp Tue Apr 11 12:40:05 2017 -0400 @@ -6,29 +6,25 @@ #include "BtnHandler.hpp" #include "GameCoordinator.hpp" #include "FreeMem.h" -#include "MFRC522.h" - -#define MF_RESET D8 - -DigitalOut LedGreen(LED1); -MFRC522 RfChip(p5, p6, p7, p21, p22); +#include "Rfid.hpp" +#include "serverEvents.hpp" int main() { cls(); toPc("Coordinator starting..."); - toPc("Initial Memory: %i", FreeMem()); + //toPc("Initial Memory: %i", FreeMem()); //Starting the different threads //Websocket - Thread Twebsocket_message_receiver(websocket_message_receiver, osPriorityLow, 2300); - Thread Twebsocket_message_sender(websocket_message_sender, osPriorityLow, 1500); + Thread Twebsocket_message_receiver(websocket_message_receiver, osPriorityLow, 2400); + Thread Twebsocket_message_sender(websocket_message_sender, osPriorityLow, 1400); //Xbee RealXbeeReceiver xbeeReceiver; xbeeReceiver.start(&dispatch_event_from_target); - //Btn interupts + // //Btn interupts BtnHandler startBtn(p21, "start"); BtnHandler nextBtn(p22, "navigate", "next"); BtnHandler previousBtn(p23, "navigate", "previous"); @@ -37,50 +33,29 @@ //Bruno/Max Router gameCoordinator.targets.push_back(Target(0x0013A200, 0x4086DA0E, 0)); gameCoordinator.targets.push_back(Target(0x0013A200, 0x4086DA0E, 1)); + + //Routeur antenne + gameCoordinator.targets.push_back(Target(0x0013A200, 0x408B419E, 0)); + gameCoordinator.targets.push_back(Target(0x0013A200, 0x408B419E, 1)); // moteur brisé + + gameCoordinator.targets.push_back(Target(0x0013A200, 0x4033198C, 0)); + gameCoordinator.targets.push_back(Target(0x0013A200, 0x4033198C, 1)); + + gameCoordinator.on_game_finish = &websocket_message_send; //TODO: more targets - RfChip.PCD_Init(); - - while(1) { - LedGreen = 1; + Rfid rfid(p5, p6, p7, p28, p27); - // Look for new cards - if ( ! RfChip.PICC_IsNewCardPresent()) - { - toPc("No card detected"); - Thread::wait(500); - continue; - } - - // Select one of the cards - if ( ! RfChip.PICC_ReadCardSerial()) - { - toPc("Cant read serial"); - Thread::wait(500); - //wait_ms(500); - continue; - } - toPc("Printing card"); - LedGreen = 0; - - // Print Card UID - pc.printf("Card UID: "); - for (uint8_t i = 0; i < RfChip.uid.size; i++) - { - pc.printf(" %X02", RfChip.uid.uidByte[i]); - } - pc.printf("\n\r"); - - - //Memory monitoring - // toPc("Thread Twebsocket_message_receiver max stack: %i / %i", Twebsocket_message_receiver.max_stack(), Twebsocket_message_receiver.stack_size()); - // toPc("Thread Twebsocket_message_sender max stack: %i / %i", Twebsocket_message_sender.max_stack(), Twebsocket_message_sender.stack_size()); - // toPc("Thread gameCoordinator.Tget_next_round max stack: %i / %i", gameCoordinator.Tget_next_round.max_stack(), gameCoordinator.Tget_next_round.stack_size()); - // toPc("Thread xbeeReceiver.message_handler_thread max stack: %i / %i", xbeeReceiver.message_handler_thread.max_stack(), xbeeReceiver.message_handler_thread.stack_size()); - // toPc("Thread xbeeReceiver.message_reader_thread max stack: %i / %i", xbeeReceiver.message_reader_thread.max_stack(), xbeeReceiver.message_reader_thread.stack_size()); - // toPc("Free Memory: %i", FreeMem()); - Thread::wait(1000); - } - //Thread::wait(osWaitForever); + // while(1) { + // //Memory monitoring + // toPc("Thread Twebsocket_message_receiver max stack: %i / %i", Twebsocket_message_receiver.max_stack(), Twebsocket_message_receiver.stack_size()); + // toPc("Thread Twebsocket_message_sender max stack: %i / %i", Twebsocket_message_sender.max_stack(), Twebsocket_message_sender.stack_size()); + // toPc("Thread gameCoordinator.Tget_next_round max stack: %i / %i", gameCoordinator.Tget_next_round.max_stack(), gameCoordinator.Tget_next_round.stack_size()); + // toPc("Thread xbeeReceiver.message_handler_thread max stack: %i / %i", xbeeReceiver.message_handler_thread.max_stack(), xbeeReceiver.message_handler_thread.stack_size()); + // toPc("Thread xbeeReceiver.message_reader_thread max stack: %i / %i", xbeeReceiver.message_reader_thread.max_stack(), xbeeReceiver.message_reader_thread.stack_size()); + // toPc("Thread rfid.rfid_thread max stack: %i / %i", rfid.rfid_thread.max_stack(), rfid.rfid_thread.stack_size()); + // Thread::wait(20000); + // } + Thread::wait(osWaitForever); }