Coordinator v2

Dependencies:   NerfUSXbee PinDetect EthernetInterface JSON MFRC522 WebSocketClient mbed-rtos mbed

Committer:
Ismael Balafrej
Date:
Tue Apr 11 15:53:20 2017 -0400
Revision:
3:501120a68c11
Parent:
2:019d8848cf7e
Final version... ?

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Ismael Balafrej 1:e1c5259b7d9a 1 #include <vector>
Ismael Balafrej 1:e1c5259b7d9a 2 #include "ports.hpp"
Ismael Balafrej 1:e1c5259b7d9a 3 #include "serverEvents.hpp"
Ismael Balafrej 1:e1c5259b7d9a 4 #include "Target.hpp"
Ismael Balafrej 1:e1c5259b7d9a 5 #include "RealXbeeReceiver.hpp"
Ismael Balafrej 1:e1c5259b7d9a 6 #include "BtnHandler.hpp"
Ismael Balafrej 1:e1c5259b7d9a 7 #include "GameCoordinator.hpp"
Ismael Balafrej 1:e1c5259b7d9a 8 #include "FreeMem.h"
Ismael Balafrej 2:019d8848cf7e 9 #include "Rfid.hpp"
Ismael Balafrej 2:019d8848cf7e 10 #include "serverEvents.hpp"
Ismael Balafrej 1:e1c5259b7d9a 11
Ismael Balafrej 1:e1c5259b7d9a 12 int main()
Ismael Balafrej 1:e1c5259b7d9a 13 {
Ismael Balafrej 1:e1c5259b7d9a 14 cls();
Ismael Balafrej 1:e1c5259b7d9a 15 toPc("Coordinator starting...");
Ismael Balafrej 2:019d8848cf7e 16 //toPc("Initial Memory: %i", FreeMem());
Ismael Balafrej 1:e1c5259b7d9a 17
Ismael Balafrej 1:e1c5259b7d9a 18 //Starting the different threads
Ismael Balafrej 1:e1c5259b7d9a 19 //Websocket
Ismael Balafrej 2:019d8848cf7e 20 Thread Twebsocket_message_receiver(websocket_message_receiver, osPriorityLow, 2400);
Ismael Balafrej 2:019d8848cf7e 21 Thread Twebsocket_message_sender(websocket_message_sender, osPriorityLow, 1400);
Ismael Balafrej 1:e1c5259b7d9a 22
Ismael Balafrej 1:e1c5259b7d9a 23 //Xbee
Ismael Balafrej 1:e1c5259b7d9a 24 RealXbeeReceiver xbeeReceiver;
Ismael Balafrej 1:e1c5259b7d9a 25 xbeeReceiver.start(&dispatch_event_from_target);
Ismael Balafrej 1:e1c5259b7d9a 26
Ismael Balafrej 3:501120a68c11 27 //Btn interupts
Ismael Balafrej 1:e1c5259b7d9a 28 BtnHandler startBtn(p21, "start");
Ismael Balafrej 1:e1c5259b7d9a 29 BtnHandler nextBtn(p22, "navigate", "next");
Ismael Balafrej 1:e1c5259b7d9a 30 BtnHandler previousBtn(p23, "navigate", "previous");
Ismael Balafrej 1:e1c5259b7d9a 31
Ismael Balafrej 1:e1c5259b7d9a 32 //Creating the targets with their 64 bits address
Ismael Balafrej 3:501120a68c11 33 //Bruno/Max Router - Brisé
Ismael Balafrej 3:501120a68c11 34 // gameCoordinator.targets.push_back(Target(0x0013A200, 0x4086DA0E, 0));
Ismael Balafrej 3:501120a68c11 35 // gameCoordinator.targets.push_back(Target(0x0013A200, 0x4086DA0E, 1));
Ismael Balafrej 2:019d8848cf7e 36
Ismael Balafrej 2:019d8848cf7e 37 //Routeur antenne
Ismael Balafrej 2:019d8848cf7e 38 gameCoordinator.targets.push_back(Target(0x0013A200, 0x408B419E, 0));
Ismael Balafrej 2:019d8848cf7e 39 gameCoordinator.targets.push_back(Target(0x0013A200, 0x408B419E, 1)); // moteur brisé
Ismael Balafrej 2:019d8848cf7e 40
Ismael Balafrej 2:019d8848cf7e 41 gameCoordinator.targets.push_back(Target(0x0013A200, 0x4033198C, 0));
Ismael Balafrej 2:019d8848cf7e 42 gameCoordinator.targets.push_back(Target(0x0013A200, 0x4033198C, 1));
Ismael Balafrej 2:019d8848cf7e 43
Ismael Balafrej 2:019d8848cf7e 44 gameCoordinator.on_game_finish = &websocket_message_send;
Ismael Balafrej 1:e1c5259b7d9a 45
Ismael Balafrej 2:019d8848cf7e 46 Rfid rfid(p5, p6, p7, p28, p27);
Ismael Balafrej 1:e1c5259b7d9a 47
Ismael Balafrej 2:019d8848cf7e 48 // while(1) {
Ismael Balafrej 2:019d8848cf7e 49 // //Memory monitoring
Ismael Balafrej 2:019d8848cf7e 50 // toPc("Thread Twebsocket_message_receiver max stack: %i / %i", Twebsocket_message_receiver.max_stack(), Twebsocket_message_receiver.stack_size());
Ismael Balafrej 2:019d8848cf7e 51 // toPc("Thread Twebsocket_message_sender max stack: %i / %i", Twebsocket_message_sender.max_stack(), Twebsocket_message_sender.stack_size());
Ismael Balafrej 2:019d8848cf7e 52 // toPc("Thread gameCoordinator.Tget_next_round max stack: %i / %i", gameCoordinator.Tget_next_round.max_stack(), gameCoordinator.Tget_next_round.stack_size());
Ismael Balafrej 2:019d8848cf7e 53 // toPc("Thread xbeeReceiver.message_handler_thread max stack: %i / %i", xbeeReceiver.message_handler_thread.max_stack(), xbeeReceiver.message_handler_thread.stack_size());
Ismael Balafrej 2:019d8848cf7e 54 // toPc("Thread xbeeReceiver.message_reader_thread max stack: %i / %i", xbeeReceiver.message_reader_thread.max_stack(), xbeeReceiver.message_reader_thread.stack_size());
Ismael Balafrej 2:019d8848cf7e 55 // toPc("Thread rfid.rfid_thread max stack: %i / %i", rfid.rfid_thread.max_stack(), rfid.rfid_thread.stack_size());
Ismael Balafrej 2:019d8848cf7e 56 // Thread::wait(20000);
Ismael Balafrej 2:019d8848cf7e 57 // }
Ismael Balafrej 2:019d8848cf7e 58 Thread::wait(osWaitForever);
Ismael Balafrej 1:e1c5259b7d9a 59 }
Ismael Balafrej 1:e1c5259b7d9a 60