DEKI/ENGINE 문서
deki-esp32-integration 0.19.0
Deki 패키지 레퍼런스
deki-esp32-integration

ESP32 플랫폼 HAL: ESP-IDF SDMMC를 통한 SD 카드, FATFS 파일 시스템, 시리얼 명령, 메모리 및 파일 시스템 설정.

저장소: github.com/dekiengine/deki-esp32-integration · 최신 릴리스: 0.19.0 · 엔진 0.19.0 이상 필요 · 의존: deki-wifi, deki-ble, deki-http, deki-i2s, deki-uart, deki-i2c, deki-gpio, deki-sdcard, deki-rendering

DekiEditor --packages-add deki-esp32-integration <project> 또는 패키지 관리자로 설치합니다. 엔진 자체의 컴포넌트와 C++ API는 Deki 문서에 있습니다.

에디터에는 ESP32 Integration(으)로 표시됩니다.

컴포넌트

컴포넌트 카테고리 설명
ESP32QemuDisplaySetup ESP32 HAL 보드 없이 펌웨어 빌드를 실행할 수 있도록 Espressif QEMU의 화면을 엽니다.
ESP32SerialSetup ESP32 HAL ESP32의 시리얼 포트로 에디터의 명령에 응답합니다.

기능 플래그

빌드에서 뺄 수 있는 부분입니다. define이 있는 기능은 그 define으로 켜고 끄며, 나머지는 컴포넌트와 함께 제거됩니다.

기능 define 기본값
Memory DEKI_FEATURE_ESP32_MEMORY_SETUP 켜짐
File System DEKI_FEATURE_ESP32_FILE_SYSTEM_SETUP 켜짐
Serial Commands DEKI_FEATURE_ESP32_SERIAL_SETUP 켜짐
SD Card (ESP-IDF) DEKI_FEATURE_ESP32_SD 켜짐
GPIO (ESP-IDF) DEKI_FEATURE_ESP32_GPIO 켜짐
I²C (ESP-IDF) DEKI_FEATURE_ESP32_I2C 켜짐
UART (ESP-IDF) DEKI_FEATURE_ESP32_UART 켜짐
I²S (ESP-IDF) DEKI_FEATURE_ESP32_I2S 켜짐
S3 SIMD Blit Kernels DEKI_FEATURE_ESP32_BLIT_SIMD 켜짐
WiFi STA + scan (ESP-IDF) DEKI_FEATURE_ESP32_WIFI 켜짐
BLE (NimBLE) DEKI_FEATURE_ESP32_BLE 켜짐
QEMU Display DEKI_FEATURE_ESP32_QEMU_DISPLAY 켜짐
HTTPS client (ESP-IDF) DEKI_FEATURE_ESP32_HTTP 켜짐

컴포넌트 레퍼런스

ESP32QemuDisplaySetup

보드 없이 펌웨어 빌드를 실행할 수 있도록 Espressif QEMU의 화면을 엽니다.

인스펙터 이름: ESP32 QEMU 디스플레이 설정 · 카테고리: ESP32 HAL · 유형: DekiEsp32::ESP32QemuDisplaySetup

속성 유형 기본값 제약 설명
width int32 320 1~4096 화면의 너비(픽셀)입니다.
height int32 240 1~4096 화면의 높이(픽셀)입니다.
format enum "RGB565" RGB565, ARGB8888 화면의 픽셀 포맷입니다. 게임은 이 포맷으로 렌더링합니다.

ESP32SerialSetup

ESP32의 시리얼 포트로 에디터의 명령에 응답합니다.

인스펙터 이름: ESP32 시리얼 설정 · 카테고리: ESP32 HAL · 유형: DekiEsp32::ESP32SerialSetup

속성 유형 기본값 제약 설명
baudRate int32 115200 9600~921600 시리얼 보드레이트

변경 내역

변경 내역은 영어로 되어 있습니다.

0.19.0

Changed

  • minEngine 0.19.0: built against engine 0.19.0, whose component metadata records the package each class is in. A build of this package from before does not load and is rebuilt.

Added

  • Japanese, Simplified Chinese and Korean: editor/lang/ja.json, zh.json and ko.json translate the names, tooltips and enum values this package's components show in the Inspector.
  • The package's editor text goes through the editor's translation (Tr), so it shows in the editor's language. Needs the editor release that adds Localization.h; raise minEngine to it when releasing.

0.18.2

Added

  • Frame statistics over serial: the line DEKI:STATS is answered with the frames per second and the average frame, update, render and present times over the last second, and the free internal and external memory, for the editor's device_stats.
  • Screen capture over serial: the firmware answers the line DEKI:SCREENSHOT on its console with the frame on screen (base64, with a CRC), for the editor's device_screenshot. Started at boot (DekiESP32HALInitSystem, PACKAGE_HAS_SYSTEM_INIT); a USB Serial/JTAG console is read from its FIFO, a UART one through stdin. A frame takes about a second to send; the game waits for it, and that second is not counted as frame time, so nothing timed jumps ahead.
  • DEKI:PROFILE turns on deki-rendering's render profiler and then reports where the render time went since the request before, per component type. DEKI:SCENE <guid> opens that scene, for measuring each scene without pressing through the game.

Changed

  • minEngine 0.18.2: the frame statistics read the engine's GetLastFrameTimings.
  • ESP32-S3 builds use 64-byte data cache lines, which make a frame in PSRAM quicker to draw and send. The cache stays 32 KB: 64 KB takes 32 KB more of internal RAM, which a scene with many sprites ran out of.

Fixed

  • A UART ignored its baudRate and ran at 9600. Only the key baud was read, and deki-gps and the components name it baudRate, so a GPS sending at 38400 (the T-Deck Plus's) was never understood. Both keys are read.
  • A console reply's last bytes stayed on the board until the next reply pushed them out, so device_stats said the board did not answer. The USB Serial/JTAG console sends what it holds when flushed, and a flush made while the packet before is still going out is lost; it is now made again once the console takes it.
  • A flash with no port named (MCP's deploy_build, the CLI) picks one: the only serial port there is, or, with several, the first that answers as an ESP32. It failed with "No board found" even with a board plugged in.
  • Windows: an installed esptool showed as not installed. The editor unpacks its archive straight into espressif/esptool, and the toolchain definition looked for esptool.exe a folder deeper.
  • Windows: ESP-IDF's setup and builds work on a machine with no Python of its own. The Python component was python.org's embeddable build, which has no venv, ensurepip or pip, so ESP-IDF's install.bat could not create its environment; and nothing put it on PATH, so install.bat and export.bat found only the Microsoft Store's stub and stopped with 9009. It is now the Python Software Foundation's full portable build (the python package on nuget.org, pinned by SHA-256), on PATH for install.bat (pathEntries, which needs the editor that reads them) and for export.bat in every build. An installed copy of the old one shows as not installed; install it again.
  • The build's PATH is set in one set: a second set PATH=...PATH%... on the same cmd line expands PATH% to the value before the first and dropped what it added.
  • A flash with no board connected, or with a refused port, fails with the reason ("No board found on a serial port..."). It used to stop without a result, so the build status stayed "Flashing firmware..." for good.

이전 릴리스: CHANGELOG.md


패키지의 리플렉션 데이터에서 생성했습니다(엔진 0.19.0). 속성 이름은 씬 파일에서 쓰는 키입니다. 이름을 바꿔도 별칭이 유지됩니다(호환성).