diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4d4f5b9d..0a1eaa78 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,4 +1,4 @@ -name: OpenDTU-onBattery Build +name: OpenDTU-OnBattery Build on: push: @@ -8,7 +8,7 @@ on: branches: - master - development - tags-ignore: + tags-ignore: - 'v**' pull_request: paths-ignore: @@ -120,6 +120,7 @@ jobs: name: opendtu-onbattery-${{ matrix.environment }} path: | .pio/build/${{ matrix.environment }}/opendtu-onbattery-${{ matrix.environment }}.bin + !.pio/build/generic_esp32_4mb_no_ota/opendtu-onbattery-generic_esp32_4mb_no_ota.bin .pio/build/${{ matrix.environment }}/opendtu-onbattery-${{ matrix.environment }}.factory.bin release: @@ -130,14 +131,14 @@ jobs: steps: - name: Checkout uses: actions/checkout@v3 - + - name: Get tags run: git fetch --force --tags origin - name: Get openDTU core release run: | echo "OPEN_DTU_CORE_RELEASE=$(git for-each-ref --sort=creatordate --format '%(refname) %(creatordate)' refs/tags | grep 'refs/tags/v' | tail -1 | sed 's#.*/##' | sed 's/ .*//')" >> $GITHUB_ENV - + - name: Create openDTU-core-release-Badge uses: schneegans/dynamic-badges-action@v1.6.0 with: diff --git a/partitions_custom_4mb.csv b/partitions_custom_4mb.csv index d18ab18f..41537eb8 100644 --- a/partitions_custom_4mb.csv +++ b/partitions_custom_4mb.csv @@ -1,6 +1,5 @@ # Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xe000, 0x2000, -app0, app, ota_0, 0x10000, 0x1E0000, -app1, app, ota_1, 0x1F0000, 0x1E0000, +app0, app, ota_0, 0x10000, 0x3C0000, spiffs, data, spiffs, 0x3D0000, 0x30000, \ No newline at end of file diff --git a/partitions_custom_8mb.csv b/partitions_custom_8mb.csv new file mode 100644 index 00000000..88b79e59 --- /dev/null +++ b/partitions_custom_8mb.csv @@ -0,0 +1,6 @@ +# Name, Type, SubType, Offset, Size, Flags +nvs, data, nvs, 0x9000, 0x5000, +otadata, data, ota, 0xe000, 0x2000, +app0, app, ota_0, 0x10000, 0x3C0000, +spiffs, data, spiffs, 0x3D0000, 0x30000, +app1, app, ota_1, 0x400000, 0x3C0000, diff --git a/platformio.ini b/platformio.ini index a49490d8..73e5d23c 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,17 +9,14 @@ ; https://docs.platformio.org/page/projectconf.html [platformio] -default_envs = generic_esp32 +default_envs = generic_esp32s3_usb extra_configs = platformio_override.ini [env] ; Make sure to NOT add any spaces in the custom_ci_action property ; (also the position in the file is important) -; disabling generic and generic_esp32 until we decided on how to handle -; the overflowing sketch partition for all ESP32 with 4MB flash. -; custom_ci_action = generic,generic_esp32,generic_esp32s3,generic_esp32s3_usb -custom_ci_action = generic_esp32s3,generic_esp32s3_usb +custom_ci_action = generic_esp32_4mb_no_ota,generic_esp32_8mb,generic_esp32s3,generic_esp32s3_usb framework = arduino platform = espressif32@6.7.0 @@ -57,7 +54,7 @@ extra_scripts = pre:pio-scripts/patch_apply.py post:pio-scripts/create_factory_bin.py -board_build.partitions = partitions_custom_4mb.csv +board_build.partitions = partitions_custom_8mb.csv board_build.filesystem = littlefs board_build.embed_files = webapp_dist/index.html.gz @@ -78,7 +75,13 @@ upload_protocol = esptool ; upload_port = COM4 -[env:generic_esp32] +[env:generic_esp32_4mb_no_ota] +board = esp32dev +build_flags = ${env.build_flags} +board_build.partitions = partitions_custom_4mb.csv + + +[env:generic_esp32_8mb] board = esp32dev build_flags = ${env.build_flags} @@ -95,12 +98,14 @@ build_flags = ${env.build_flags} [env:generic_esp32c3] board = esp32-c3-devkitc-02 +board_build.partitions = partitions_custom_4mb.csv custom_patches = ${env.custom_patches} build_flags = ${env.build_flags} [env:generic_esp32c3_usb] board = esp32-c3-devkitc-02 +board_build.partitions = partitions_custom_4mb.csv custom_patches = ${env.custom_patches} build_flags = ${env.build_flags} -DARDUINO_USB_MODE=1 @@ -120,17 +125,6 @@ build_flags = ${env.build_flags} -DARDUINO_USB_CDC_ON_BOOT=1 -[env:generic] -board = esp32dev -build_flags = ${env.build_flags} - -DHOYMILES_PIN_MISO=19 - -DHOYMILES_PIN_MOSI=23 - -DHOYMILES_PIN_SCLK=18 - -DHOYMILES_PIN_IRQ=16 - -DHOYMILES_PIN_CE=4 - -DHOYMILES_PIN_CS=5 - - [env:olimex_esp32_poe] ; https://www.olimex.com/Products/IoT/ESP32/ESP32-POE/open-source-hardware board = esp32-poe @@ -147,6 +141,7 @@ build_flags = ${env.build_flags} [env:olimex_esp32_evb] ; https://www.olimex.com/Products/IoT/ESP32/ESP32-EVB/open-source-hardware board = esp32-evb +board_build.partitions = partitions_custom_4mb.csv build_flags = ${env.build_flags} -DHOYMILES_PIN_MISO=15 -DHOYMILES_PIN_MOSI=2 @@ -159,16 +154,17 @@ build_flags = ${env.build_flags} [env:d1_mini_esp32] board = wemos_d1_mini32 -build_flags = - ${env.build_flags} - -DHOYMILES_PIN_MISO=19 - -DHOYMILES_PIN_MOSI=23 - -DHOYMILES_PIN_SCLK=18 - -DHOYMILES_PIN_IRQ=16 - -DHOYMILES_PIN_CE=17 - -DHOYMILES_PIN_CS=5 - -DVICTRON_PIN_TX=21 - -DVICTRON_PIN_RX=22 +board_build.partitions = partitions_custom_4mb.csv +build_flags = + ${env.build_flags} + -DHOYMILES_PIN_MISO=19 + -DHOYMILES_PIN_MOSI=23 + -DHOYMILES_PIN_SCLK=18 + -DHOYMILES_PIN_IRQ=16 + -DHOYMILES_PIN_CE=17 + -DHOYMILES_PIN_CS=5 + -DVICTRON_PIN_TX=21 + -DVICTRON_PIN_RX=22 -DPYLONTECH_PIN_RX=27 -DPYLONTECH_PIN_TX=14 -DHUAWEI_PIN_MISO=12 @@ -181,6 +177,7 @@ build_flags = [env:wt32_eth01] ; http://www.wireless-tag.com/portfolio/wt32-eth01/ board = wt32-eth01 +board_build.partitions = partitions_custom_4mb.csv build_flags = ${env.build_flags} -DHOYMILES_PIN_MISO=4 -DHOYMILES_PIN_MOSI=2 @@ -207,6 +204,7 @@ build_flags = ${env.build_flags} ; https://www.makershop.de/plattformen/esp8266/wemos-lolin32/ ; https://www.az-delivery.de/products/esp32-lolin-lolin32 board = lolin32_lite +board_build.partitions = partitions_custom_4mb.csv build_flags = ${env.build_flags} -DHOYMILES_PIN_MISO=19 -DHOYMILES_PIN_MOSI=23 @@ -217,6 +215,7 @@ build_flags = ${env.build_flags} [env:lolin_s2_mini] board = lolin_s2_mini +board_build.partitions = partitions_custom_4mb.csv build_flags = ${env.build_flags} -DHOYMILES_PIN_MISO=13 -DHOYMILES_PIN_MOSI=11