Context
With #955 fixed (project-relative partitions CSV resolution, PR #958), NightDriverStrip demo's config/partitions_custom_noota.csv is now correctly found and passed to gen_esp32part.py. But the generator that ships with the resolved framework (esp32-core-3.3.9) rejects the CSV content:
WARN gen_esp32part.py failed: Partition nvs invalid: 'nvs' partition of type 1 and subtype 2 of this size (0x2000) must be flagged as 'readonly' (the size of read/write NVS has to be at least 0x3000)
NightDriverStrip's CSV declares nvs, data, nvs, 0x00b000, 0x002000 (8 KB). A newer esp-idf rule requires read/write NVS to be ≥ 0x3000 (12 KB). The workload's CSV predates that rule.
Consequences: partitions.bin is not produced, so the ESP32 fast-path fingerprint still can't persist for this project (blocks the whole-build short-circuit that would take #951's 2.1 s no-op rebuild down to ~0.5 s).
Open question — framework version parity
NightDriverStrip pins platformio/espressif32 @ ^6.12.0. fbuild resolved esp32-core-3.3.9. Worth confirming whether PlatformIO's espressif32@6.12.0 resolves the same arduino-esp32 core / gen_esp32part.py version — if PlatformIO builds this CSV fine, fbuild may be resolving a newer core than the pin implies (an A/B parity divergence), which is the real fbuild-side bug. If PlatformIO's 6.12.0 also rejects it, this is purely a stale workload CSV and belongs upstream in NightDriverStrip.
Acceptance criteria
Decisions
Part of #942. Follow-up to #955 / PR #958.
Context
With #955 fixed (project-relative partitions CSV resolution, PR #958), NightDriverStrip demo's
config/partitions_custom_noota.csvis now correctly found and passed togen_esp32part.py. But the generator that ships with the resolved framework (esp32-core-3.3.9) rejects the CSV content:NightDriverStrip's CSV declares
nvs, data, nvs, 0x00b000, 0x002000(8 KB). A newer esp-idf rule requires read/write NVS to be ≥ 0x3000 (12 KB). The workload's CSV predates that rule.Consequences:
partitions.binis not produced, so the ESP32 fast-path fingerprint still can't persist for this project (blocks the whole-build short-circuit that would take #951's 2.1 s no-op rebuild down to ~0.5 s).Open question — framework version parity
NightDriverStrip pins
platformio/espressif32 @ ^6.12.0. fbuild resolvedesp32-core-3.3.9. Worth confirming whether PlatformIO'sespressif32@6.12.0resolves the same arduino-esp32 core /gen_esp32part.pyversion — if PlatformIO builds this CSV fine, fbuild may be resolving a newer core than the pin implies (an A/B parity divergence), which is the real fbuild-side bug. If PlatformIO's 6.12.0 also rejects it, this is purely a stale workload CSV and belongs upstream in NightDriverStrip.Acceptance criteria
espressif32@6.12.0resolves under PlatformIO vs fbuild.Decisions
Part of #942. Follow-up to #955 / PR #958.