Initial scaffold: ESP32-P4 firmware + voice gateway for Tatlock endpoint
DeskLock gives the Tatlock butler a face and voice on a Waveshare ESP32-P4-WIFI6-Touch-LCD-3.4C round display in the living room. - firmware/: ESP-IDF project targeting esp32p4 with the Waveshare XC BSP - gateway/: FastAPI voice bridge (faster-whisper STT, Tatlock chat, Piper TTS) - docs/architecture.md: component design and device<->gateway WS protocol Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
project(desklock)
|
||||
@@ -0,0 +1,4 @@
|
||||
idf_component_register(
|
||||
SRCS "desklock_main.c"
|
||||
INCLUDE_DIRS "."
|
||||
)
|
||||
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* DeskLock — living-room face and voice for the Tatlock butler.
|
||||
*
|
||||
* Boot sequence (planned):
|
||||
* 1. BSP init: display + LVGL, touch, audio codec (ES8311/ES7210)
|
||||
* 2. Wi-Fi up via ESP32-C6 (ESP-Hosted over SDIO)
|
||||
* 3. WebSocket connection to the DeskLock gateway
|
||||
* 4. Face state machine: idle / listening / thinking / speaking
|
||||
*/
|
||||
|
||||
#include "esp_log.h"
|
||||
#include "bsp/esp-bsp.h"
|
||||
|
||||
static const char *TAG = "desklock";
|
||||
|
||||
void app_main(void)
|
||||
{
|
||||
ESP_LOGI(TAG, "DeskLock starting");
|
||||
|
||||
bsp_display_start();
|
||||
bsp_display_backlight_on();
|
||||
|
||||
/* TODO(bring-up): render placeholder face via LVGL
|
||||
* TODO(bring-up): Wi-Fi via ESP-Hosted (C6)
|
||||
* TODO(voice): mic capture (ES7210) -> WebSocket upstream
|
||||
* TODO(voice): gateway PCM downstream -> ES8311 playback
|
||||
*/
|
||||
|
||||
ESP_LOGI(TAG, "DeskLock up (display only)");
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
dependencies:
|
||||
idf: ">=5.4"
|
||||
waveshare/esp32_p4_wifi6_touch_lcd_xc: "^3.0.1"
|
||||
@@ -0,0 +1,14 @@
|
||||
# Target: Waveshare ESP32-P4-WIFI6-Touch-LCD-3.4C
|
||||
CONFIG_IDF_TARGET="esp32p4"
|
||||
|
||||
# 32 MB NOR flash
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_32MB=y
|
||||
CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y
|
||||
|
||||
# 32 MB in-package PSRAM (hex mode) — LVGL frame buffers live here
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_MODE_HEX=y
|
||||
CONFIG_SPIRAM_SPEED_200M=y
|
||||
|
||||
CONFIG_COMPILER_OPTIMIZATION_PERF=y
|
||||
CONFIG_FREERTOS_HZ=1000
|
||||
Reference in New Issue
Block a user