UART Rx character received (GPS, RFID)
Flag set when entire message received
Periodic Timers (compass, fuel gauge polling)
Flag set, polling done in main loop
Analyze RFID message if flag is set
If ID matches “master key”, unlock box, play buzzer, update LCD
Analyze GPS message if flag is set
If GPS matches desired waypoint, load next waypoint, update LCD
If GPS doesn’t match waypoint, just update LCD with new position
Obtain Compass data if flag is set
Calculate heading with tilt compensation, update LCD
Obtain Fuel Gauge data if flag is set
Calculate and update LCD