This repository contains the code that will run on the ESP32 to support communication and facilitate the provision of services to NuttX and Meadow.Core.
Services are provided to the STM32 through the SPI interface connected to the STM32 and the ESP32 chips.
# Install ESP-IDF 5.3+ (via VS Code extension or manually)
./build.sh --build # Build release version
./build.sh --develop # Build with debug symbols
./build.sh --help # See all optionsSee Building the System for detailed instructions.
# From the root of the repository, once: settings the tests read from the device.
cp test/main/unittest.config.json.template test/fsimage/unittest.config.json
./mkfsimage.sh --flash # Write the test settings to the board
cd test
./build.sh --build --flash --monitor
# Select test from interactive menuSee Testing Guide for detailed information.
The system uses a message-based architecture with FreeRTOS tasking:
- WiFi: Connectivity and POSIX socket API
- Bluetooth: BLE service and characteristic management
- System: File storage, NVS configuration, threading
- Messaging: SPI protocol and message dispatch
See Project Structure for detailed component information.
- Building the System - Comprehensive build instructions and options
- Testing Guide - Unit test setup and execution
- Project Structure - Component organization and architecture
- Message Format - Message structure and protocol
- Communication Process Overview - STM32-ESP32 communication
- SPI Protocol Overview - Low-level SPI protocol details
- Event Processing - Interrupt and event handling
- Development Tools - Tool setup and installation
- Diagnostics - Debugging and diagnostic output
- Hints and Tips - Development tricks and patterns
- Configuration Values - Non-volatile storage (NVS)
- Mapping Values - Enum mapping between systems