# FC09 — Event Groups and multi-event synchronization This deterministic card implements two distinct protocols on one genuine FreeRTOS EventGroup: 1. a priority-3 coordinator waits for **ALL** independent readiness bits; 2. coordinator, worker A and worker B cross a three-party `xEventGroupSync()` barrier. READY (`0x01`, `0x02`) and SYNC (`0x10`, `0x20`, `0x40`) masks are disjoint. The partial mask cannot release either protocol. Every participant receives a return value containing `SYNC_ALL`, while the group value becomes zero after the barrier's automatic clear. ```sh make task1 host-test check-abi sim check-determinism ``` The test links upstream FreeRTOS V11.3.0 `event_groups.c`, uses finite timeouts, records eleven commit-last events and prints a stable digest from three clean Hazard3 processes. Interactive views: A2 structure, A4 participant topology, A5 execution flow, A6 mask/state machine, A7 runtime evidence and A8 synchronization patterns. Source basis: FreeRTOS Kernel Book, Chapter 9.