# Speaker MessageΒΆ

```# Definition of a msg published by speaker and received from the state machine(s)

# LOCATION TYPE

int8 RIGHT_LANE = 1
int8 LEFT_LANE = 2
int8 PARKING_LOT = 3

# ZONES
# =====
# Zones are used to determine what the car is currently allowed to do.
# E.g. in a parking area the car is allowed to cross the left side of the road to park.
int8 PARKING_ZONE = 10
int8 NO_PARKING_ZONE = 11

int8 OVERTAKING_ZONE = 12
int8 NO_OVERTAKING_ZONE = 13

int8 START_ZONE = 14  # Car is at beginning of the road
int8 DRIVING_ZONE = 15  # Car is somewhere driving
int8 END_ZONE = 16  # Car reached end of road

# Zones that are used to determine if the car stops/halts when it should.
# (e.g. before an intersection)
int8 STOP_ZONE = 17  # Car needs to stop here
int8 HALT_ZONE = 18  # Just halt
int8 NO_STOP_ZONE = 19  # The car currently does not need to stop or halt!

# SPEED ZONES

int8 SPEED_UNLIMITED_ZONE = 30
int8 SPEED_10_ZONE = 31
int8 SPEED_20_ZONE = 32
int8 SPEED_30_ZONE = 33
int8 SPEED_40_ZONE = 34
int8 SPEED_50_ZONE = 35
int8 SPEED_60_ZONE = 36
int8 SPEED_70_ZONE = 37
int8 SPEED_80_ZONE = 38
int8 SPEED_90_ZONE = 39

# EVENTS

int8 COLLISION = 40  # Car has collided with an obstacle
int8 PARKING_SPOT = 41  # Car is inside a parking spot
int8 PRIORITY_AREA = 42  # Car intersects with a priority area.
# A priority area is the area before an obstacle in a situation
# where the obstacle has the right of way (e.g. crosswalk)
int8 BLOCKED_AREA = 43  # Car is on a blocked area.

# SPEED

int8 SPEED_STOPPED = 60
int8 SPEED_HALTED = 61
int8 SPEED_0 = 62
int8 SPEED_1_10 = 63
int8 SPEED_11_20 = 64
int8 SPEED_21_30 = 65
int8 SPEED_31_40 = 66
int8 SPEED_41_50 = 67
int8 SPEED_51_60 = 68
int8 SPEED_61_70 = 69
int8 SPEED_71_80 = 70
int8 SPEED_81_90 = 71
int8 SPEED_91_ = 72

# ---- Definition ---- #

int8 type
string name  # Is only used for debugging
```