not running

Dependencies:   TextLCD MQTT

Committer:
hyan99
Date:
Tue Dec 10 22:29:09 2019 +0000
Revision:
0:3b4906b8a747
Child:
2:16b3bd337db2
error

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hyan99 0:3b4906b8a747 1 #include "Road.h"
hyan99 0:3b4906b8a747 2
hyan99 0:3b4906b8a747 3 Serial pc_road(USBTX, USBRX);
hyan99 0:3b4906b8a747 4
hyan99 0:3b4906b8a747 5 Road::Road(char* t1, char* t2) {
hyan99 0:3b4906b8a747 6 active_cars = 0x00;
hyan99 0:3b4906b8a747 7 topic_send = t1; // road publish, controller receive
hyan99 0:3b4906b8a747 8 topic_receive = t2; // road receive, controller publish
hyan99 0:3b4906b8a747 9 comm = Communication::getInstance();
hyan99 0:3b4906b8a747 10 comm->subscribe_to_topic_sync(topic_receive); // for receiving sync messages
hyan99 0:3b4906b8a747 11 n = 0;
hyan99 0:3b4906b8a747 12 }
hyan99 0:3b4906b8a747 13
hyan99 0:3b4906b8a747 14 void Road::add_car(Car* car) {
hyan99 0:3b4906b8a747 15 // this->car1 = car;
hyan99 0:3b4906b8a747 16
hyan99 0:3b4906b8a747 17 active_cars = active_cars | car->flag;
hyan99 0:3b4906b8a747 18 }
hyan99 0:3b4906b8a747 19
hyan99 0:3b4906b8a747 20 void Road::add_acc_car(AccCar* car, int id) {
hyan99 0:3b4906b8a747 21 active_cars = active_cars | car->flag;
hyan99 0:3b4906b8a747 22
hyan99 0:3b4906b8a747 23 switch(id) {
hyan99 0:3b4906b8a747 24 case 1: {
hyan99 0:3b4906b8a747 25 this->car1 = car;
hyan99 0:3b4906b8a747 26 break;
hyan99 0:3b4906b8a747 27 }
hyan99 0:3b4906b8a747 28 case 2: {
hyan99 0:3b4906b8a747 29 this->car2 = car;
hyan99 0:3b4906b8a747 30 break;
hyan99 0:3b4906b8a747 31 }
hyan99 0:3b4906b8a747 32 case 3: {
hyan99 0:3b4906b8a747 33 this->car3 = car;
hyan99 0:3b4906b8a747 34 break;
hyan99 0:3b4906b8a747 35 }
hyan99 0:3b4906b8a747 36 case 4: {
hyan99 0:3b4906b8a747 37 this->car4 = car;
hyan99 0:3b4906b8a747 38 break;
hyan99 0:3b4906b8a747 39 }
hyan99 0:3b4906b8a747 40 case 5: {
hyan99 0:3b4906b8a747 41 this->car5 = car;
hyan99 0:3b4906b8a747 42 break;
hyan99 0:3b4906b8a747 43 }
hyan99 0:3b4906b8a747 44 }
hyan99 0:3b4906b8a747 45 }
hyan99 0:3b4906b8a747 46
hyan99 0:3b4906b8a747 47 void Road::let_cars_update() {
hyan99 0:3b4906b8a747 48 go_flags.set(active_cars);
hyan99 0:3b4906b8a747 49 }
hyan99 0:3b4906b8a747 50
hyan99 0:3b4906b8a747 51 void Road::wait_for_car_update() {
hyan99 0:3b4906b8a747 52 done_flags.wait_all(active_cars);
hyan99 0:3b4906b8a747 53 n = n + 1;
hyan99 0:3b4906b8a747 54 comm->publish_road(topic_send, n);
hyan99 0:3b4906b8a747 55 Communication::sync_flags.wait_all(0x01);
hyan99 0:3b4906b8a747 56 n = Communication::sync;
hyan99 0:3b4906b8a747 57 }