not running

Dependencies:   TextLCD MQTT

Committer:
hyan99
Date:
Wed Dec 11 20:20:12 2019 +0000
Revision:
2:16b3bd337db2
Parent:
0:3b4906b8a747
testing

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 2:16b3bd337db2 5 Road::Road(Communication* c) {
hyan99 0:3b4906b8a747 6 active_cars = 0x00;
hyan99 2:16b3bd337db2 7 comm = c;
hyan99 2:16b3bd337db2 8 n = 1;
hyan99 0:3b4906b8a747 9 }
hyan99 0:3b4906b8a747 10
hyan99 0:3b4906b8a747 11 void Road::add_car(Car* car) {
hyan99 0:3b4906b8a747 12 // this->car1 = car;
hyan99 0:3b4906b8a747 13
hyan99 0:3b4906b8a747 14 active_cars = active_cars | car->flag;
hyan99 0:3b4906b8a747 15 }
hyan99 0:3b4906b8a747 16
hyan99 0:3b4906b8a747 17 void Road::add_acc_car(AccCar* car, int id) {
hyan99 0:3b4906b8a747 18 active_cars = active_cars | car->flag;
hyan99 0:3b4906b8a747 19
hyan99 0:3b4906b8a747 20 switch(id) {
hyan99 0:3b4906b8a747 21 case 1: {
hyan99 0:3b4906b8a747 22 this->car1 = car;
hyan99 0:3b4906b8a747 23 break;
hyan99 0:3b4906b8a747 24 }
hyan99 0:3b4906b8a747 25 case 2: {
hyan99 0:3b4906b8a747 26 this->car2 = car;
hyan99 0:3b4906b8a747 27 break;
hyan99 0:3b4906b8a747 28 }
hyan99 0:3b4906b8a747 29 case 3: {
hyan99 0:3b4906b8a747 30 this->car3 = car;
hyan99 0:3b4906b8a747 31 break;
hyan99 0:3b4906b8a747 32 }
hyan99 0:3b4906b8a747 33 case 4: {
hyan99 0:3b4906b8a747 34 this->car4 = car;
hyan99 0:3b4906b8a747 35 break;
hyan99 0:3b4906b8a747 36 }
hyan99 0:3b4906b8a747 37 case 5: {
hyan99 0:3b4906b8a747 38 this->car5 = car;
hyan99 0:3b4906b8a747 39 break;
hyan99 0:3b4906b8a747 40 }
hyan99 0:3b4906b8a747 41 }
hyan99 0:3b4906b8a747 42 }
hyan99 0:3b4906b8a747 43
hyan99 0:3b4906b8a747 44 void Road::let_cars_update() {
hyan99 0:3b4906b8a747 45 go_flags.set(active_cars);
hyan99 0:3b4906b8a747 46 }
hyan99 0:3b4906b8a747 47
hyan99 0:3b4906b8a747 48 void Road::wait_for_car_update() {
hyan99 0:3b4906b8a747 49 done_flags.wait_all(active_cars);
hyan99 2:16b3bd337db2 50 comm->publish_road(n);
hyan99 0:3b4906b8a747 51 Communication::sync_flags.wait_all(0x01);
hyan99 0:3b4906b8a747 52 n = Communication::sync;
hyan99 2:16b3bd337db2 53 pc_road.printf("Update number %d\r\n", n);
hyan99 0:3b4906b8a747 54 }