Dependencies:   TextLCD MQTT

Committer:
mwgold
Date:
Sun Nov 10 23:02:16 2019 +0000
Revision:
0:ca7cb51e9fd1
Child:
1:54512aca944d
initial

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"
mwgold 0:ca7cb51e9fd1 6
mwgold 0:ca7cb51e9fd1 7 #define MAX_CARS 5
mwgold 0:ca7cb51e9fd1 8
mwgold 0:ca7cb51e9fd1 9 class AccCar;
mwgold 0:ca7cb51e9fd1 10
mwgold 0:ca7cb51e9fd1 11 class Road {
mwgold 0:ca7cb51e9fd1 12 public:
mwgold 0:ca7cb51e9fd1 13 EventFlags go_flags;
mwgold 0:ca7cb51e9fd1 14 EventFlags done_flags;
mwgold 0:ca7cb51e9fd1 15 int active_cars;
mwgold 0:ca7cb51e9fd1 16 int intersection_car;
mwgold 0:ca7cb51e9fd1 17
mwgold 0:ca7cb51e9fd1 18 Road();
mwgold 0:ca7cb51e9fd1 19 int try_enter_car(int time);
mwgold 0:ca7cb51e9fd1 20 void let_cars_update();
mwgold 0:ca7cb51e9fd1 21 void wait_for_car_update();
mwgold 0:ca7cb51e9fd1 22 int check_exit_cars(int cars[]);
mwgold 0:ca7cb51e9fd1 23
mwgold 0:ca7cb51e9fd1 24 void print_status();
mwgold 0:ca7cb51e9fd1 25
mwgold 0:ca7cb51e9fd1 26
mwgold 0:ca7cb51e9fd1 27 private:
mwgold 0:ca7cb51e9fd1 28 AccCar* last_car;
mwgold 0:ca7cb51e9fd1 29 AccCar* cars[MAX_CARS];
mwgold 0:ca7cb51e9fd1 30
mwgold 0:ca7cb51e9fd1 31 AccCar* pending_car;
mwgold 0:ca7cb51e9fd1 32 int next_release;
mwgold 0:ca7cb51e9fd1 33 int num_cars;
mwgold 0:ca7cb51e9fd1 34 };
mwgold 0:ca7cb51e9fd1 35 #endif