Learn AAOS · Interactive
Vehicle property simulator
Reading that HVAC_FAN_DIRECTION is a bit field tells you less than watching the airflow change. Move a control and the car responds the way a real one would — and the log shows the property write that did it.
Things worth trying
- Turn the fan up with HVAC power off. The control moves, the write is logged, and nothing happens — which is exactly what a gated property does on a real vehicle, and why a dependency is worth knowing about before you ship.
- Set the gear to PARK and raise the speed. The wheels stay still. Speed is a report from the vehicle, not a command to it.
- Switch the fan direction to DEFROST_AND_FLOOR. Air goes to both places at once, because the value is
DEFROST | FLOOR— a bit field, not a choice from a list. - Drop one tyre below 180 kPa. The wheel is flagged individually. Pressure is a per-area property, so three wheels being fine tells you nothing about the fourth.
- Turn the ignition off. Almost everything stops responding — a good reminder that property availability is a runtime condition, not a fixed fact about the vehicle.
What this is and is not
It is a teaching model, not an emulator. The 31 properties here are the ones with a consequence you can see — a simulator cannot usefully show you INFO_VIN. The physics is approximate, the car is built from primitives rather than a scanned model, and the values are illustrative.
What is exact is the vocabulary: every control names a real property from VehicleProperty.aidl, uses its real enum values and units, and links to its full reference page. For a real vehicle, drive the same properties through a reference VHAL or a data broker.

