fix(firmware): provision.py nvs import + partition config template

Fixes #215: provision.py now correctly imports from esp_idf_nvs_partition_gen
package (the pip-installable version) before falling back to legacy import.

Fixes #216: Added sdkconfig.defaults.template with custom partition table
configuration for 8MB flash boards. Copy to sdkconfig.defaults before build:
  cp sdkconfig.defaults.template sdkconfig.defaults

Changes:
- firmware/esp32-csi-node/provision.py: Try esp_idf_nvs_partition_gen first
- scripts/provision.py: Same import fix
- firmware/esp32-csi-node/sdkconfig.defaults.template: 8MB flash config with
  2MB OTA partitions, compiler size optimization, and CSI enabled

Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
Reuven
2026-03-10 08:40:47 -04:00
parent e12749bf68
commit a28a875594
3 changed files with 52 additions and 2 deletions
+10 -1
View File
@@ -80,7 +80,16 @@ def generate_nvs_binary(csv_content, size):
bin_path = csv_path.replace(".csv", ".bin")
try:
# Try the pip-installed version first
# Try the pip-installed version first (esp_idf_nvs_partition_gen package)
try:
from esp_idf_nvs_partition_gen import nvs_partition_gen
nvs_partition_gen.generate(csv_path, bin_path, size)
with open(bin_path, "rb") as f:
return f.read()
except ImportError:
pass
# Try legacy import name (older versions)
try:
import nvs_partition_gen
nvs_partition_gen.generate(csv_path, bin_path, size)