Max

Firmware Mx Architecture

ESP32-S3 V3/V4, FreeRTOS, NVS, OTA rollback.

Firmware Mx Architecture (v2026-08-02T101544Z-ab2bbdebf5) 2026-08-01 | ESP32-S3 V3/V4, FreeRTOS, NVS, OTA rollback. 1 - Initialization Adafruit_I2CDevice::begin() Adafruit_I2CDevice.cpp:50 Wire.begin() _begun flag Adafruit_I2CDevice.h I2C bus initia… 2 - Register Access Adafruit_BusIO_Register::write() Adafruit_BusIO_Register.cpp:170 _i2cdevice->write() Register data _buffer[4] _cached Data written t… 3 - Generic Device Communication Adafruit_GenericDevice::writeRegister() Adafruit_GenericDevice.cpp _writereg_func() Generic device busio_genericdevice_writereg_t Data written t… 1. Initialize I2C bus 2. Write data to register 3. Communicate with generic device I2C initialization payload Wire.begin(); _begun = true; Register write payload _i2cdevice->write(buffer, len, true, addrbuffer, _addrwidth); _cached = value; The source does not show the full implementation of address detection in Adafruit_I2CDevice::begin(). Generic device communication relies on function pointers for read/write operations. Legend actor = initiates work · process = code path · store = state on disk · bus = durable queue · dashed = separate process cyan = request flow · pink = state read/write · dashed green = pull / return path · red = refusal

Provenance

This drawing is generated, not drawn. It is rebuilt from the source files below, so when they change the picture changes — a diagram here cannot quietly describe a system that no longer works this way.

Owner
Max
Slug
firmware-mx-architecture
Rendered
2026-08-02T101544Z
From commit
ab2bbdebf5
Watches
1 path
  • firmware/mx