Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Road.h@8:c40e805eecba, 2019-12-12 (annotated)
- Committer:
- mwgold
- Date:
- Thu Dec 12 21:51:10 2019 +0000
- Revision:
- 8:c40e805eecba
- Parent:
- 4:ef8866873df5
- Child:
- 9:f5981ced0b47
publishes correctly
Who changed what in which revision?
| User | Revision | Line number | New 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 | 4:ef8866873df5 | 10 | class Road; |
| 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 | 4:ef8866873df5 | 17 | int intersection_car; |
| mwgold | 4:ef8866873df5 | 18 | static Road* road_in_use(Road* new_road); |
| mwgold | 4:ef8866873df5 | 19 | static int ready(int new_ready); |
| mwgold | 0:ca7cb51e9fd1 | 20 | |
| mwgold | 4:ef8866873df5 | 21 | Road(); |
| mwgold | 0:ca7cb51e9fd1 | 22 | int try_enter_car(int time); |
| mwgold | 0:ca7cb51e9fd1 | 23 | void let_cars_update(); |
| mwgold | 0:ca7cb51e9fd1 | 24 | void wait_for_car_update(); |
| mwgold | 4:ef8866873df5 | 25 | int check_exit_cars(int cars[]); |
| mwgold | 4:ef8866873df5 | 26 | void update_car_speed(int id, int speed); |
| mwgold | 0:ca7cb51e9fd1 | 27 | |
| mwgold | 0:ca7cb51e9fd1 | 28 | void print_status(); |
| mwgold | 8:c40e805eecba | 29 | void publish_car_info(); |
| mwgold | 0:ca7cb51e9fd1 | 30 | |
| mwgold | 0:ca7cb51e9fd1 | 31 | |
| mwgold | 0:ca7cb51e9fd1 | 32 | private: |
| mwgold | 0:ca7cb51e9fd1 | 33 | AccCar* last_car; |
| mwgold | 0:ca7cb51e9fd1 | 34 | AccCar* cars[MAX_CARS]; |
| mwgold | 0:ca7cb51e9fd1 | 35 | |
| mwgold | 0:ca7cb51e9fd1 | 36 | AccCar* pending_car; |
| mwgold | 0:ca7cb51e9fd1 | 37 | int next_release; |
| mwgold | 0:ca7cb51e9fd1 | 38 | int num_cars; |
| mwgold | 0:ca7cb51e9fd1 | 39 | }; |
| mwgold | 0:ca7cb51e9fd1 | 40 | #endif |
