LambLisp 01 Red Fox Alpha
From AI to Actuator
Loading...
Searching...
No Matches

Functions

Sexpr_t mop3_esp32_heapinfo (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec)
Sexpr_t mop3_esp32_gcmem (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec)
Sexpr_t mop3_esp32_flash_probe (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec)
Sexpr_t mop3_esp32_efuse_mac_get_default (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec)
Sexpr_t mop3_esp32_efuse_pkg_ver (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec)
Sexpr_t mop3_esp32_efuse_read_block (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec)
Sexpr_t mop3_esp32_efuse_write_block (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec)
Sexpr_t ESP32_install_mop3 (Lamb &lamb, Sexpr_t sexpr, Sexpr_t env_exec)

Detailed Description

LambLisp ESP32 System builtins.

esp_efuse_mac_get_default() and friends MOVED OUT of esp_system.h into esp_mac.h in ESP-IDF 5. esp_mac.h DOES NOT EXIST in IDF 4.4, so this cannot be an unconditional include – hence __has_include rather than a version test, which also keeps it correct if the header ever moves again. The symptom without it is a bare "'esp_efuse_mac_get_default' was not declared in this scope" plus a did-you-mean pointing at THIS FILE'S OWN wrapper (mop3_esp32_efuse_mac_get_default), which is a convincing wrong lead: it reads as a self-reference or a typo rather than as a header that moved.

Function Documentation

◆ mop3_esp32_heapinfo()

Sexpr_t mop3_esp32_heapinfo ( Lamb & lamb,
Sexpr_t sexpr,
Sexpr_t env_exec )

Report heap free/largest-block for the three caps that matter to flash reads. Returns (internal-free internal-largest dma-free dma-largest spiram-free spiram-largest) and also logs it. Diagnostic: littlefs reads ENOMEM (esp_partition_read rc 257).

◆ mop3_esp32_gcmem()

Sexpr_t mop3_esp32_gcmem ( Lamb & lamb,
Sexpr_t sexpr,
Sexpr_t env_exec )

Diagnostic: print GC-buffer / cell-block memory placement (INTERNAL vs PSRAM) + sizes.

◆ mop3_esp32_flash_probe()

Sexpr_t mop3_esp32_flash_probe ( Lamb & lamb,
Sexpr_t sexpr,
Sexpr_t env_exec )

Reproduce a raw esp_partition_read under our own logging, to isolate the ENOMEM. (esp32-flash-probe "label" offset len where) where: 0=internal DMA buffer, 1=PSRAM buffer. Logs heap + destination region + rc; returns the esp_partition_read rc as an integer.

◆ mop3_esp32_efuse_mac_get_default()

Sexpr_t mop3_esp32_efuse_mac_get_default ( Lamb & lamb,
Sexpr_t sexpr,
Sexpr_t env_exec )

Read the default factory MAC address from eFuse; returns a 6-byte bytevector.

◆ mop3_esp32_efuse_pkg_ver()

Sexpr_t mop3_esp32_efuse_pkg_ver ( Lamb & lamb,
Sexpr_t sexpr,
Sexpr_t env_exec )

Return the chip package version from eFuse.

◆ mop3_esp32_efuse_read_block()

Sexpr_t mop3_esp32_efuse_read_block ( Lamb & lamb,
Sexpr_t sexpr,
Sexpr_t env_exec )

Read Nbits bits from an eFuse block at a bit offset; returns a bytevector or error code.

◆ mop3_esp32_efuse_write_block()

Sexpr_t mop3_esp32_efuse_write_block ( Lamb & lamb,
Sexpr_t sexpr,
Sexpr_t env_exec )

Write Nbits bits from a bytevector or integer into an eFuse block; returns esp_err_t.