Files
le-mystere-professeur-zacus/game/scenarios/default_unlock_win_etape2.yaml
T
Clément SAILLANT cdbbed3fd0 Add QR Unlock App implementation and schema
- Implemented QrUnlockApp class with methods for lifecycle management (begin, start, update, stop, handleEvent) and snapshot retrieval.
- Created header file for QrUnlockApp with necessary method declarations and private members.
- Added Yamale schema for scenario template to define prompt input and optional firmware snapshot.
2026-02-25 17:21:24 +01:00

367 lines
8.7 KiB
YAML

id: DEFAULT
version: 2
initial_step: SCENE_U_SON_PROTO
app_bindings:
- id: APP_AUDIO
app: AUDIO_PACK
- id: APP_SCREEN
app: SCREEN_SCENE
- id: APP_GATE
app: MP3_GATE
- id: APP_WIFI
app: WIFI_STACK
- id: APP_ESPNOW
app: ESPNOW_STACK
- id: APP_QR_UNLOCK
app: QR_UNLOCK_APP
steps:
- step_id: SCENE_U_SON_PROTO
screen_scene_id: SCENE_U_SON_PROTO
audio_pack_id: PACK_BOOT_RADIO
actions:
- ACTION_TRACE_STEP
- ACTION_HW_LED_ALERT
apps:
- APP_AUDIO
- APP_SCREEN
- APP_GATE
- APP_WIFI
- APP_ESPNOW
mp3_gate_open: false
transitions:
- trigger: on_event
event_type: audio_done
event_name: AUDIO_DONE
target_step_id: SCENE_U_SON_PROTO
after_ms: 0
priority: 80
- trigger: on_event
event_type: button
event_name: ANY
target_step_id: SCENE_LA_DETECTOR
after_ms: 0
priority: 120
- trigger: on_event
event_type: serial
event_name: FORCE_ETAPE2
target_step_id: SCENE_LA_DETECTOR
after_ms: 0
priority: 140
- step_id: SCENE_LA_DETECTOR
screen_scene_id: SCENE_LA_DETECTOR
audio_pack_id: ""
actions:
- ACTION_TRACE_STEP
- ACTION_QUEUE_SONAR
apps:
- APP_SCREEN
- APP_GATE
- APP_WIFI
- APP_ESPNOW
mp3_gate_open: false
transitions:
- trigger: on_event
event_type: timer
event_name: ETAPE2_DUE
target_step_id: SCENE_U_SON_PROTO
after_ms: 0
priority: 100
- trigger: on_event
event_type: serial
event_name: BTN_NEXT
target_step_id: RTC_ESP_ETAPE1
after_ms: 0
priority: 110
- trigger: on_event
event_type: unlock
event_name: UNLOCK
target_step_id: RTC_ESP_ETAPE1
after_ms: 0
priority: 115
- trigger: on_event
event_type: action
event_name: ACTION_FORCE_ETAPE2
target_step_id: RTC_ESP_ETAPE1
after_ms: 0
priority: 120
- trigger: on_event
event_type: serial
event_name: FORCE_WIN_ETAPE1
target_step_id: RTC_ESP_ETAPE1
after_ms: 0
priority: 130
- step_id: RTC_ESP_ETAPE1
screen_scene_id: SCENE_WIN_ETAPE1
audio_pack_id: PACK_CONFIRM_WIN_ETAPE1
actions:
- ACTION_TRACE_STEP
- ACTION_HW_LED_ALERT
- ACTION_ESP_NOW_SEND_ETAPE1
- ACTION_QUEUE_SONAR
apps:
- APP_AUDIO
- APP_SCREEN
- APP_GATE
- APP_WIFI
- APP_ESPNOW
mp3_gate_open: false
transitions:
- trigger: on_event
event_type: espnow
event_name: ACK_WIN1
target_step_id: WIN_ETAPE1
after_ms: 0
priority: 130
- trigger: on_event
event_type: serial
event_name: FORCE_DONE
target_step_id: WIN_ETAPE1
after_ms: 0
priority: 120
- step_id: WIN_ETAPE1
screen_scene_id: SCENE_WIN_ETAPE1
audio_pack_id: PACK_WIN
actions:
- ACTION_TRACE_STEP
- ACTION_HW_LED_ALERT
apps:
- APP_AUDIO
- APP_SCREEN
- APP_GATE
- APP_WIFI
- APP_ESPNOW
mp3_gate_open: false
transitions:
- trigger: on_event
event_type: serial
event_name: BTN_NEXT
target_step_id: STEP_WARNING
after_ms: 0
priority: 110
- trigger: on_event
event_type: serial
event_name: FORCE_DONE
target_step_id: STEP_WARNING
after_ms: 0
priority: 120
- trigger: on_event
event_type: espnow
event_name: ACK_WARNING
target_step_id: STEP_WARNING
after_ms: 0
priority: 130
- step_id: STEP_WARNING
screen_scene_id: SCENE_WARNING
audio_pack_id: PACK_BOOT_RADIO
actions:
- ACTION_TRACE_STEP
- ACTION_HW_LED_ALERT
apps:
- APP_AUDIO
- APP_SCREEN
- APP_GATE
- APP_WIFI
- APP_ESPNOW
mp3_gate_open: false
transitions:
- trigger: on_event
event_type: audio_done
event_name: AUDIO_DONE
target_step_id: STEP_WARNING
after_ms: 0
priority: 80
- trigger: on_event
event_type: button
event_name: ANY
target_step_id: SCENE_LEFOU_DETECTOR
after_ms: 0
priority: 120
- trigger: on_event
event_type: serial
event_name: FORCE_ETAPE2
target_step_id: SCENE_LEFOU_DETECTOR
after_ms: 0
priority: 140
- step_id: SCENE_LEFOU_DETECTOR
screen_scene_id: SCENE_LEFOU_DETECTOR
audio_pack_id: ""
actions:
- ACTION_TRACE_STEP
- ACTION_QUEUE_SONAR
apps:
- APP_SCREEN
- APP_GATE
- APP_WIFI
- APP_ESPNOW
mp3_gate_open: false
transitions:
- trigger: on_event
event_type: timer
event_name: ETAPE2_DUE
target_step_id: STEP_WARNING
after_ms: 0
priority: 100
- trigger: on_event
event_type: serial
event_name: BTN_NEXT
target_step_id: RTC_ESP_ETAPE2
after_ms: 0
priority: 110
- trigger: on_event
event_type: unlock
event_name: UNLOCK
target_step_id: RTC_ESP_ETAPE2
after_ms: 0
priority: 115
- trigger: on_event
event_type: action
event_name: ACTION_FORCE_ETAPE2
target_step_id: RTC_ESP_ETAPE2
after_ms: 0
priority: 120
- trigger: on_event
event_type: serial
event_name: FORCE_WIN_ETAPE2
target_step_id: RTC_ESP_ETAPE2
after_ms: 0
priority: 130
- step_id: RTC_ESP_ETAPE2
screen_scene_id: SCENE_WIN_ETAPE2
audio_pack_id: PACK_CONFIRM_WIN_ETAPE2
actions:
- ACTION_TRACE_STEP
- ACTION_HW_LED_ALERT
- ACTION_ESP_NOW_SEND_ETAPE2
- ACTION_QUEUE_SONAR
apps:
- APP_AUDIO
- APP_SCREEN
- APP_GATE
- APP_WIFI
- APP_ESPNOW
mp3_gate_open: false
transitions:
- trigger: on_event
event_type: espnow
event_name: ACK_WIN2
target_step_id: SCENE_QR_DETECTOR
after_ms: 0
priority: 130
- trigger: on_event
event_type: serial
event_name: FORCE_DONE
target_step_id: SCENE_QR_DETECTOR
after_ms: 0
priority: 120
- step_id: SCENE_QR_DETECTOR
screen_scene_id: SCENE_QR_DETECTOR
audio_pack_id: ""
actions:
- ACTION_TRACE_STEP
- ACTION_QR_CODE_SCANNER_START
apps:
- APP_SCREEN
- APP_GATE
- APP_WIFI
- APP_ESPNOW
- APP_QR_UNLOCK
mp3_gate_open: false
transitions:
- trigger: on_event
event_type: serial
event_name: QR_OK
target_step_id: SCENE_FINAL_WIN
after_ms: 0
priority: 140
- trigger: on_event
event_type: unlock
event_name: UNLOCK_QR
target_step_id: SCENE_FINAL_WIN
after_ms: 0
priority: 150
- trigger: on_event
event_type: serial
event_name: BTN_NEXT
target_step_id: SCENE_FINAL_WIN
after_ms: 0
priority: 110
- trigger: on_event
event_type: action
event_name: ACTION_FORCE_ETAPE2
target_step_id: SCENE_FINAL_WIN
after_ms: 0
priority: 120
- trigger: on_event
event_type: serial
event_name: FORCE_WIN_ETAPE2
target_step_id: SCENE_FINAL_WIN
after_ms: 0
priority: 130
- step_id: SCENE_FINAL_WIN
screen_scene_id: SCENE_FINAL_WIN
audio_pack_id: ""
actions:
- ACTION_TRACE_STEP
- ACTION_WINNER
apps:
- APP_SCREEN
- APP_GATE
- APP_WIFI
- APP_ESPNOW
mp3_gate_open: false
transitions:
- trigger: on_event
event_type: timer
event_name: WIN_DUE
target_step_id: STEP_MEDIA_MANAGER
after_ms: 0
priority: 140
- trigger: on_event
event_type: serial
event_name: BTN_NEXT
target_step_id: STEP_MEDIA_MANAGER
after_ms: 0
priority: 110
- trigger: on_event
event_type: unlock
event_name: UNLOCK
target_step_id: STEP_MEDIA_MANAGER
after_ms: 0
priority: 120
- trigger: on_event
event_type: action
event_name: FORCE_WIN_ETAPE2
target_step_id: STEP_MEDIA_MANAGER
after_ms: 0
priority: 130
- trigger: on_event
event_type: serial
event_name: FORCE_WIN_ETAPE2
target_step_id: STEP_MEDIA_MANAGER
after_ms: 0
priority: 125
- step_id: STEP_MEDIA_MANAGER
screen_scene_id: SCENE_MEDIA_MANAGER
audio_pack_id: ""
actions:
- ACTION_TRACE_STEP
- ACTION_SET_BOOT_MEDIA_MANAGER
apps:
- APP_SCREEN
- APP_GATE
- APP_WIFI
- APP_ESPNOW
mp3_gate_open: true
transitions: []