Dependencies:   TextLCD MQTT

Committer:
kchen7
Date:
Mon Nov 11 00:50:05 2019 +0000
Revision:
1:54512aca944d
Parent:
0:ca7cb51e9fd1
Child:
4:ef8866873df5
attempt 1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mwgold 0:ca7cb51e9fd1 1 #ifndef _ROAD_H_
mwgold 0:ca7cb51e9fd1 2 #define _ROAD_H_
mwgold 0:ca7cb51e9fd1 3
mwgold 0:ca7cb51e9fd1 4 #include "mbed.h"
mwgold 0:ca7cb51e9fd1 5 #include "AccCar.h"
kchen7 1:54512aca944d 6 #include "Intersection.h"
mwgold 0:ca7cb51e9fd1 7
mwgold 0:ca7cb51e9fd1 8 #define MAX_CARS 5
mwgold 0:ca7cb51e9fd1 9
mwgold 0:ca7cb51e9fd1 10 class AccCar;
mwgold 0:ca7cb51e9fd1 11
mwgold 0:ca7cb51e9fd1 12 class Road {
mwgold 0:ca7cb51e9fd1 13 public:
mwgold 0:ca7cb51e9fd1 14 EventFlags go_flags;
mwgold 0:ca7cb51e9fd1 15 EventFlags done_flags;
mwgold 0:ca7cb51e9fd1 16 int active_cars;
mwgold 0:ca7cb51e9fd1 17
kchen7 1:54512aca944d 18 Road(Intersection* intersection, int roadId);
kchen7 1:54512aca944d 19 Intersection* intersection;
mwgold 0:ca7cb51e9fd1 20 int try_enter_car(int time);
mwgold 0:ca7cb51e9fd1 21 void let_cars_update();
mwgold 0:ca7cb51e9fd1 22 void wait_for_car_update();
kchen7 1:54512aca944d 23 void check_exit_cars();
kchen7 1:54512aca944d 24 void intendToEnter(int id);
kchen7 1:54512aca944d 25 int roadId;
mwgold 0:ca7cb51e9fd1 26
mwgold 0:ca7cb51e9fd1 27 void print_status();
mwgold 0:ca7cb51e9fd1 28
mwgold 0:ca7cb51e9fd1 29
mwgold 0:ca7cb51e9fd1 30 private:
mwgold 0:ca7cb51e9fd1 31 AccCar* last_car;
mwgold 0:ca7cb51e9fd1 32 AccCar* cars[MAX_CARS];
mwgold 0:ca7cb51e9fd1 33
mwgold 0:ca7cb51e9fd1 34 AccCar* pending_car;
mwgold 0:ca7cb51e9fd1 35 int next_release;
mwgold 0:ca7cb51e9fd1 36 int num_cars;
mwgold 0:ca7cb51e9fd1 37 };
mwgold 0:ca7cb51e9fd1 38 #endif