43dc1478b1
The BOX-3 touch gamebook had several blocking bugs that made the voiced+foley story packs unusable. This fixes them end to end. - Stack overflow on story start: gb_play_task kept a 2 KB buffer on its 4 KB stack and rebooted the board. Buffers are now static (the task is a singleton) and the stack is 6 KB. - No sound at all: the ES8311 codec was never initialised — main.c wrote raw I2S to a muted DAC. Output (and the mic) now go through the BSP esp_codec_dev (bsp_audio_codec_speaker/microphone_init, esp_codec_dev_write/read). The power amplifier (GPIO46) is also forced on and volume set to 100, as the es8311 pa_pin handling did not drive it in practice. - First passage silent: gb_play re-mounted the SD that the gamebook had already mounted; the failed second bsp_sdcard_mount tore down the VFS so the first fopen failed. Now we open the file first and only mount if that fails. A short silence lead-in also primes the codec/PA ramp. - No accents: the gamebook used ASCII-only lv_font_montserrat_14/24. Added custom Montserrat fonts (font_fr_14/24, Latin-1 + œŒŸ « » ’ …, uncompressed so they render without LV_USE_FONT_COMPRESSED). - Mic/voice streaming gated behind CONFIG_BOX3_VOICE_STREAMING (default off): as a gamebook the BOX-3 needs no mic, and the constant codec reads + bridge reconnects interfered with playback and flooded the log. plip_virtual + cmd_exec handle types switched from i2s_chan_handle_t to esp_codec_dev_handle_t accordingly.
85 lines
2.8 KiB
Plaintext
85 lines
2.8 KiB
Plaintext
menu "Zacus BOX-3 Voice Configuration"
|
|
|
|
config BOX3_VOICE_STREAMING
|
|
bool "Enable microphone + voice-bridge streaming"
|
|
default n
|
|
help
|
|
Start the mic capture task and the WebSocket voice-bridge client.
|
|
Off by default: as a touch gamebook the BOX-3 needs no microphone,
|
|
and the continuous codec reads + bridge reconnect attempts interfere
|
|
with speaker playback (the first narration clip came out silent) and
|
|
flood the log. Enable only when using the BOX-3 as a voice device.
|
|
|
|
config ZACUS_WIFI_SSID
|
|
string "WiFi SSID"
|
|
default "zacus-net"
|
|
help
|
|
WiFi network name for connecting to the voice bridge.
|
|
|
|
config ZACUS_WIFI_PASSWORD
|
|
string "WiFi Password"
|
|
default ""
|
|
help
|
|
WiFi password. Leave empty for open networks.
|
|
|
|
config ZACUS_WIFI_CHANNEL
|
|
int "WiFi channel hint (0 = auto)"
|
|
default 0
|
|
range 0 13
|
|
help
|
|
Bias the STA scan to start on this channel (1-13). Set this to the
|
|
master's WiFi channel so ESP-NOW peers land co-channel — required
|
|
for the scenario relay on multi-AP / mesh networks where the same
|
|
SSID is broadcast on several channels. 0 = auto (scan all).
|
|
|
|
config ZACUS_VOICE_BRIDGE_URL
|
|
string "Voice Bridge WebSocket URL"
|
|
default "ws://192.168.0.119:8200/voice/ws"
|
|
help
|
|
WebSocket endpoint for the mascarade voice bridge.
|
|
The bridge routes voice commands to the hints engine.
|
|
|
|
config ZACUS_MASTER_URL
|
|
string "Zacus Master Base URL"
|
|
default "http://10.2.5.42"
|
|
help
|
|
Base URL of the Zacus master ESP32. The virtual PLIP annex
|
|
reports hook transitions to <url>/voice/hook. Prefer a plain
|
|
IP (mDNS .local names need the mdns component).
|
|
|
|
config ZACUS_VOICE_TOKEN
|
|
string "Voice Bridge Auth Token"
|
|
default ""
|
|
help
|
|
Authentication token for the voice bridge.
|
|
If set, appended as ?token=<value> query parameter.
|
|
|
|
config ZACUS_WAKE_WORD
|
|
string "Wake Word"
|
|
default "hi esp"
|
|
help
|
|
Wake word for ESP-SR WakeNet activation.
|
|
Supported: "hi esp", "alexa", "hey siri" (WakeNet9).
|
|
|
|
config ZACUS_SPEAKER_VOLUME
|
|
int "Default Speaker Volume (0-100)"
|
|
default 70
|
|
range 0 100
|
|
help
|
|
Default speaker volume at boot.
|
|
|
|
config ZACUS_MIC_GAIN
|
|
int "Microphone Gain (0-100)"
|
|
default 80
|
|
range 0 100
|
|
help
|
|
Microphone input gain for speech recognition.
|
|
|
|
config ZACUS_ENABLE_DISPLAY
|
|
bool "Enable LCD Display"
|
|
default y
|
|
help
|
|
Enable the ILI9341 display for status feedback.
|
|
|
|
endmenu
|