Matthew Goldsmith / Mbed OS cis441projMS1a

Dependencies:   TextLCD

Revision:
0:ca7cb51e9fd1
Child:
1:54512aca944d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Road.h	Sun Nov 10 23:02:16 2019 +0000
@@ -0,0 +1,35 @@
+#ifndef _ROAD_H_
+#define _ROAD_H_
+
+#include "mbed.h"
+#include "AccCar.h"
+
+#define MAX_CARS 5
+
+class AccCar;
+
+class Road {
+public:
+    EventFlags go_flags;
+    EventFlags done_flags;
+    int active_cars;
+    int intersection_car;
+    
+    Road();
+    int try_enter_car(int time);
+    void let_cars_update();
+    void wait_for_car_update();
+    int check_exit_cars(int cars[]);
+    
+    void print_status();
+    
+    
+private:
+    AccCar* last_car;
+    AccCar* cars[MAX_CARS];
+    
+    AccCar* pending_car;
+    int next_release;
+    int num_cars;
+};
+#endif
\ No newline at end of file