Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: NerfUSXbee PinDetect EthernetInterface JSON MFRC522 WebSocketClient mbed-rtos mbed
main.cpp
00001 #include <vector> 00002 #include "ports.hpp" 00003 #include "serverEvents.hpp" 00004 #include "Target.hpp" 00005 #include "RealXbeeReceiver.hpp" 00006 #include "BtnHandler.hpp" 00007 #include "GameCoordinator.hpp" 00008 #include "FreeMem.h" 00009 #include "Rfid.hpp" 00010 #include "serverEvents.hpp" 00011 00012 int main() 00013 { 00014 cls(); 00015 toPc("Coordinator starting..."); 00016 //toPc("Initial Memory: %i", FreeMem()); 00017 00018 //Starting the different threads 00019 //Websocket 00020 Thread Twebsocket_message_receiver(websocket_message_receiver, osPriorityLow, 2400); 00021 Thread Twebsocket_message_sender(websocket_message_sender, osPriorityLow, 1400); 00022 00023 //Xbee 00024 RealXbeeReceiver xbeeReceiver; 00025 xbeeReceiver.start(&dispatch_event_from_target); 00026 00027 //Btn interupts 00028 BtnHandler startBtn(p21, "start"); 00029 BtnHandler nextBtn(p22, "navigate", "next"); 00030 BtnHandler previousBtn(p23, "navigate", "previous"); 00031 00032 //Creating the targets with their 64 bits address 00033 //Bruno/Max Router - Brisé 00034 // gameCoordinator.targets.push_back(Target(0x0013A200, 0x4086DA0E, 0)); 00035 // gameCoordinator.targets.push_back(Target(0x0013A200, 0x4086DA0E, 1)); 00036 00037 //Routeur antenne 00038 gameCoordinator.targets.push_back(Target(0x0013A200, 0x408B419E, 0)); 00039 gameCoordinator.targets.push_back(Target(0x0013A200, 0x408B419E, 1)); // moteur brisé 00040 00041 gameCoordinator.targets.push_back(Target(0x0013A200, 0x4033198C, 0)); 00042 gameCoordinator.targets.push_back(Target(0x0013A200, 0x4033198C, 1)); 00043 00044 gameCoordinator.on_game_finish = &websocket_message_send; 00045 00046 Rfid rfid(p5, p6, p7, p28, p27); 00047 00048 // while(1) { 00049 // //Memory monitoring 00050 // toPc("Thread Twebsocket_message_receiver max stack: %i / %i", Twebsocket_message_receiver.max_stack(), Twebsocket_message_receiver.stack_size()); 00051 // toPc("Thread Twebsocket_message_sender max stack: %i / %i", Twebsocket_message_sender.max_stack(), Twebsocket_message_sender.stack_size()); 00052 // toPc("Thread gameCoordinator.Tget_next_round max stack: %i / %i", gameCoordinator.Tget_next_round.max_stack(), gameCoordinator.Tget_next_round.stack_size()); 00053 // toPc("Thread xbeeReceiver.message_handler_thread max stack: %i / %i", xbeeReceiver.message_handler_thread.max_stack(), xbeeReceiver.message_handler_thread.stack_size()); 00054 // toPc("Thread xbeeReceiver.message_reader_thread max stack: %i / %i", xbeeReceiver.message_reader_thread.max_stack(), xbeeReceiver.message_reader_thread.stack_size()); 00055 // toPc("Thread rfid.rfid_thread max stack: %i / %i", rfid.rfid_thread.max_stack(), rfid.rfid_thread.stack_size()); 00056 // Thread::wait(20000); 00057 // } 00058 Thread::wait(osWaitForever); 00059 } 00060
Generated on Tue Jul 12 2022 15:36:49 by
1.7.2