Compare commits

..

8 Commits

12 changed files with 40 additions and 15 deletions

@ -40,7 +40,7 @@ jobs:
0x1000 .pio/build/esp32dev/bootloader.bin \
0x8000 .pio/build/esp32dev/partitions.bin \
0x10000 .pio/build/esp32dev/firmware.bin \
0x290000 .pio/build/esp32dev/spiffs.bin
0x3D0000 .pio/build/esp32dev/spiffs.bin
- name: Prepare OTA firmware
run: |

@ -1,5 +1,26 @@
# Changelog
## [1.2.59] - 2025-02-20
### Added
- update version to 1.2.59 and enhance OTA upload handling
### Changed
- update webpages for version 1.2.59
## [1.2.58] - 2025-02-20
### Added
- update version to 1.2.58 in HTML files and platformio configuration
## [1.2.57] - 2025-02-20
### Added
- update version to 1.2.57 in platformio configuration
### Fixed
- update spiffs offset and sizes in firmware and partitions configuration
## [1.2.56] - 2025-02-19
### Added
- update version to 1.2.56 and adjust firmware and partition settings

@ -12,7 +12,7 @@
<div style="display: flex; align-items: center; gap: 2rem;">
<img src="/logo.png" alt="FilaMan Logo" class="logo">
<div class="logo-text">
<h1>FilaMan<span class="version">v1.2.56</span></h1>
<h1>FilaMan<span class="version">v1.2.59</span></h1>
<h4>Filament Management Tool</h4>
</div>
</div>

@ -12,7 +12,7 @@
<div style="display: flex; align-items: center; gap: 2rem;">
<img src="/logo.png" alt="FilaMan Logo" class="logo">
<div class="logo-text">
<h1>FilaMan<span class="version">v1.2.56</span></h1>
<h1>FilaMan<span class="version">v1.2.59</span></h1>
<h4>Filament Management Tool</h4>
</div>
</div>

@ -12,7 +12,7 @@
<div style="display: flex; align-items: center; gap: 2rem;">
<img src="/logo.png" alt="FilaMan Logo" class="logo">
<div class="logo-text">
<h1>FilaMan<span class="version">v1.2.56</span></h1>
<h1>FilaMan<span class="version">v1.2.59</span></h1>
<h4>Filament Management Tool</h4>
</div>
</div>

@ -12,7 +12,7 @@
<div style="display: flex; align-items: center; gap: 2rem;">
<img src="/logo.png" alt="FilaMan Logo" class="logo">
<div class="logo-text">
<h1>FilaMan<span class="version">v1.2.56</span></h1>
<h1>FilaMan<span class="version">v1.2.59</span></h1>
<h4>Filament Management Tool</h4>
</div>
</div>

@ -12,7 +12,7 @@
<div style="display: flex; align-items: center; gap: 2rem;">
<img src="/logo.png" alt="FilaMan Logo" class="logo">
<div class="logo-text">
<h1>FilaMan<span class="version">v1.2.56</span></h1>
<h1>FilaMan<span class="version">v1.2.59</span></h1>
<h4>Filament Management Tool</h4>
</div>
</div>

@ -12,7 +12,7 @@
<div style="display: flex; align-items: center; gap: 2rem;">
<img src="/logo.png" alt="FilaMan Logo" class="logo">
<div class="logo-text">
<h1>FilaMan<span class="version">v1.2.56</span></h1>
<h1>FilaMan<span class="version">v1.2.59</span></h1>
<h4>Filament Management Tool</h4>
</div>
</div>

@ -12,7 +12,7 @@
<div style="display: flex; align-items: center; gap: 2rem;">
<img src="/logo.png" alt="FilaMan Logo" class="logo">
<div class="logo-text">
<h1>FilaMan<span class="version">v1.2.56</span></h1>
<h1>FilaMan<span class="version">v1.2.59</span></h1>
<h4>Filament Management Tool</h4>
</div>
</div>

@ -1,6 +1,6 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x140000,
app1, app, ota_1, 0x150000, 0x140000,
spiffs, data, spiffs, 0x290000, 0x170000,
app0, app, ota_0, 0x10000, 0x1E0000,
app1, app, ota_1, 0x1F0000, 0x1E0000,
spiffs, data, spiffs, 0x3D0000, 0x30000,
1 # Name Type SubType Offset Size Flags
2 nvs data nvs 0x9000 0x5000
3 otadata data ota 0xe000 0x2000
4 app0 app ota_0 0x10000 0x140000 0x1E0000
5 app1 app ota_1 0x150000 0x1F0000 0x140000 0x1E0000
6 spiffs data spiffs 0x290000 0x3D0000 0x170000 0x30000

@ -9,7 +9,7 @@
; https://docs.platformio.org/page/projectconf.html
[common]
version = "1.2.56"
version = "1.2.59"
[env:esp32dev]
platform = espressif32

@ -16,15 +16,19 @@ void handleOTAUpload(AsyncWebServerRequest *request, String filename, size_t ind
return;
}
if (!Update.begin(contentLength)) {
// Determine if this is a full image (firmware + SPIFFS) or just firmware
bool isFullImage = (contentLength > 0x3D0000); // SPIFFS starts at 0x3D0000
if (!Update.begin(contentLength, isFullImage ? U_FLASH : U_SPIFFS)) {
Serial.printf("Not enough space: %u required\n", contentLength);
request->send(400, "application/json", "{\"status\":\"error\",\"message\":\"Not enough space available\"}");
return;
}
Serial.println("Update started");
Serial.println(isFullImage ? "Full image update started" : "Firmware update started");
}
// Write chunk to flash
if (Update.write(data, len) != len) {
Update.printError(Serial);
request->send(400, "application/json", "{\"status\":\"error\",\"message\":\"Error writing update\"}");