Compare commits

..

35 Commits

Author SHA1 Message Date
72c2fb70c2 docs: update changelog for version 1.3.39
All checks were successful
Release Workflow / detect-provider (push) Successful in 3s
Release Workflow / github-release (push) Has been skipped
Release Workflow / gitea-release (push) Successful in 2m44s
2025-02-22 11:26:27 +01:00
f2f3f0ab9f docs: update webpages for version v1.3.39 2025-02-22 11:26:27 +01:00
c07692c218 workflow: update SPIFFS binary creation to set chip version to max supported 2025-02-22 11:26:24 +01:00
a184903b66 docs: update changelog for version 1.3.38
All checks were successful
Release Workflow / detect-provider (push) Successful in 3s
Release Workflow / github-release (push) Has been skipped
Release Workflow / gitea-release (push) Successful in 2m58s
2025-02-22 11:21:08 +01:00
af1640383d docs: update webpages for version v1.3.38 2025-02-22 11:21:08 +01:00
c00e54b145 workflow: update SPIFFS binary creation with minimal ESP32 image header 2025-02-22 11:20:41 +01:00
f6c92c686b docs: update changelog for version 1.3.37
All checks were successful
Release Workflow / detect-provider (push) Successful in 3s
Release Workflow / github-release (push) Has been skipped
Release Workflow / gitea-release (push) Successful in 2m46s
2025-02-22 11:13:40 +01:00
b8db01529b docs: update webpages for version v1.3.37 2025-02-22 11:13:40 +01:00
55db6d76ab workflow: update ESP32-WROOM image header for SPIFFS binary creation 2025-02-22 11:13:07 +01:00
a18749a1ff docs: update changelog for version 1.3.36
All checks were successful
Release Workflow / detect-provider (push) Successful in 4s
Release Workflow / github-release (push) Has been skipped
Release Workflow / gitea-release (push) Successful in 2m40s
2025-02-22 10:54:13 +01:00
1811fd9159 docs: update webpages for version v1.3.36 2025-02-22 10:54:13 +01:00
b550760427 partition: update SPIFFS binary header and offsets in workflow files 2025-02-22 10:53:50 +01:00
c5033acadc docs: update changelog for version 1.3.35
All checks were successful
Release Workflow / detect-provider (push) Successful in 3s
Release Workflow / github-release (push) Has been skipped
Release Workflow / gitea-release (push) Successful in 2m50s
2025-02-22 10:48:53 +01:00
7de4189c83 docs: update webpages for version v1.3.35 2025-02-22 10:48:53 +01:00
f43f2a15b2 partition: update SPIFFS binary header and offsets in workflow files 2025-02-22 10:48:44 +01:00
858192c6cb docs: update changelog for version 1.3.34
All checks were successful
Release Workflow / detect-provider (push) Successful in 3s
Release Workflow / github-release (push) Has been skipped
Release Workflow / gitea-release (push) Successful in 2m46s
2025-02-22 10:40:03 +01:00
e2bd39922d docs: update webpages for version v1.3.34 2025-02-22 10:40:03 +01:00
c86cc7173e partition: update SPIFFS binary creation and offsets in workflow files 2025-02-22 10:38:34 +01:00
16362e66a3 docs: update changelog for version 1.3.33
All checks were successful
Release Workflow / detect-provider (push) Successful in 5s
Release Workflow / github-release (push) Has been skipped
Release Workflow / gitea-release (push) Successful in 2m46s
2025-02-22 10:09:03 +01:00
48d9ba8f71 docs: update webpages for version v1.3.33 2025-02-22 10:09:03 +01:00
e2bea5a0c3 partition: update spiffs offset and app sizes in partition files 2025-02-22 10:08:47 +01:00
3e11f65188 partition: update spiffs offset in partition files 2025-02-22 10:06:43 +01:00
df59c42c8a partition: update app sizes and offsets in partitions.csv 2025-02-22 10:04:11 +01:00
abe1d7c930 docs: update changelog for version 1.3.32
All checks were successful
Release Workflow / detect-provider (push) Successful in 2s
Release Workflow / github-release (push) Has been skipped
Release Workflow / gitea-release (push) Successful in 2m31s
2025-02-22 09:52:44 +01:00
ca614c3cc4 docs: update webpages for version v1.3.32 2025-02-22 09:52:44 +01:00
5153374093 workflow: update magic byte for SPIFFS binary creation 2025-02-22 09:52:39 +01:00
66db4d7a85 docs: update changelog for version 1.3.31
All checks were successful
Release Workflow / detect-provider (push) Successful in 3s
Release Workflow / github-release (push) Has been skipped
Release Workflow / gitea-release (push) Successful in 2m58s
2025-02-22 09:47:27 +01:00
90e71922b1 docs: update webpages for version v1.3.31 2025-02-22 09:47:27 +01:00
e8e5c0bd3d workflow: remove unnecessary data and SPIFFS change checks from release workflows 2025-02-22 09:47:15 +01:00
7e53e1ccb0 docs: update changelog for version 1.3.30
Some checks failed
Release Workflow / detect-provider (push) Successful in 4s
Release Workflow / github-release (push) Has been skipped
Release Workflow / gitea-release (push) Failing after 2m46s
2025-02-22 09:38:14 +01:00
e49e812b13 docs: update webpages for version v1.3.30 2025-02-22 09:38:14 +01:00
b1e0fcfadf workflow: update Gitea and GitHub release workflows to create SPIFFS binary with magic byte 2025-02-22 09:37:59 +01:00
31ef3ac8df docs: update changelog for version 1.3.29
All checks were successful
Release Workflow / detect-provider (push) Successful in 3s
Release Workflow / github-release (push) Has been skipped
Release Workflow / gitea-release (push) Successful in 2m45s
2025-02-21 23:44:36 +01:00
8cf3f87c89 docs: update webpages for version v1.3.29 2025-02-21 23:44:35 +01:00
c446188311 workflow: update Gitea release workflow to create release before file uploads 2025-02-21 23:44:30 +01:00
6 changed files with 136 additions and 84 deletions

View File

@ -40,8 +40,10 @@ jobs:
# Copy firmware binary
cp .pio/build/esp32dev/firmware.bin .pio/build/esp32dev/upgrade_filaman_firmware_v${VERSION}.bin
# Create SPIFFS binary
cp .pio/build/esp32dev/spiffs.bin .pio/build/esp32dev/upgrade_filaman_website_v${VERSION}.bin
# Create SPIFFS binary with minimal ESP32 image header (chip version set to max supported)
echo -ne '\xE9\x01\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\xFF\xFF\x00\x00' > .pio/build/esp32dev/upgrade_filaman_website_v${VERSION}.bin
# Append the actual SPIFFS data
cat .pio/build/esp32dev/spiffs.bin >> .pio/build/esp32dev/upgrade_filaman_website_v${VERSION}.bin 2>/dev/null
# Create full binary
(cd .pio/build/esp32dev &&
@ -54,7 +56,7 @@ jobs:
0x1000 bootloader.bin \
0x8000 partitions.bin \
0x10000 firmware.bin \
0x390000 spiffs.bin)
0x3D0000 spiffs.bin)
# Verify file sizes
echo "File sizes:"
@ -120,47 +122,46 @@ jobs:
echo "Debug: API URL: ${GITEA_API_URL}"
echo "Debug: Repository: ${GITEA_OWNER}/${GITEA_REPO}"
# Prepare files for upload
FILES=""
for file in upgrade_filaman_firmware_v${VERSION}.bin upgrade_filaman_website_v${VERSION}.bin filaman_full_${VERSION}.bin; do
if [ -f "$file" ]; then
FILES="$FILES -F \"attach[]=@$file\""
echo "Debug: Found file: $file"
fi
done
# Test API connection with explicit token header
echo "Debug: Testing API connection..."
TEST_RESPONSE=$(curl -s -w "\n%{http_code}" \
-H "Authorization: token ${GITEA_TOKEN}" \
"${GITEA_API_URL}/api/v1/version")
TEST_STATUS=$(echo "$TEST_RESPONSE" | tail -n1)
if [ "$TEST_STATUS" != "200" ]; then
echo "Error: Cannot connect to Gitea API"
echo "Response: $TEST_RESPONSE"
exit 1
fi
# Create release using API
# Erstelle zuerst den Release ohne Dateien
echo "Debug: Creating release..."
RELEASE_DATA="{\"tag_name\":\"v${VERSION}\",\"name\":\"v${VERSION}\",\"body\":\"${{ steps.changelog.outputs.CHANGES }}\"}"
# Create release with explicit token header and file uploads
CURL_CMD="curl -s -w \"\n%{http_code}\" \
RELEASE_RESPONSE=$(curl -s -w "\n%{http_code}" \
-X POST \
-H \"Authorization: token ${GITEA_TOKEN}\" \
-H \"Content-Type: application/json\" \
-d '${RELEASE_DATA}' \
${FILES} \
\"${GITEA_API_URL}/api/v1/repos/${GITEA_OWNER}/${GITEA_REPO}/releases\""
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
-d "${RELEASE_DATA}" \
"${GITEA_API_URL}/api/v1/repos/${GITEA_OWNER}/${GITEA_REPO}/releases")
RESPONSE=$(eval $CURL_CMD)
RELEASE_STATUS=$(echo "$RELEASE_RESPONSE" | tail -n1)
RELEASE_BODY=$(echo "$RELEASE_RESPONSE" | head -n -1)
HTTP_STATUS=$(echo "$RESPONSE" | tail -n1)
RESPONSE_BODY=$(echo "$RESPONSE" | head -n -1)
echo "Debug: HTTP Status: $HTTP_STATUS"
if [ "$HTTP_STATUS" != "201" ]; then
if [ "$RELEASE_STATUS" != "201" ]; then
echo "Error: Failed to create release"
echo "Response: $RESPONSE_BODY"
exit 1
echo "Response: $RELEASE_BODY"
exit 1
fi
# Extrahiere die Release-ID aus der Antwort
RELEASE_ID=$(echo "$RELEASE_BODY" | grep -o '"id":[0-9]*' | cut -d':' -f2)
# Lade die Dateien einzeln hoch
for file in upgrade_filaman_firmware_v${VERSION}.bin upgrade_filaman_website_v${VERSION}.bin filaman_full_${VERSION}.bin; do
if [ -f "$file" ]; then
echo "Debug: Uploading $file..."
UPLOAD_RESPONSE=$(curl -s -w "\n%{http_code}" \
-X POST \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/octet-stream" \
--data-binary @"$file" \
"${GITEA_API_URL}/api/v1/repos/${GITEA_OWNER}/${GITEA_REPO}/releases/${RELEASE_ID}/assets?name=${file}")
UPLOAD_STATUS=$(echo "$UPLOAD_RESPONSE" | tail -n1)
if [ "$UPLOAD_STATUS" != "201" ]; then
echo "Warning: Failed to upload $file"
echo "Response: $(echo "$UPLOAD_RESPONSE" | head -n -1)"
else
echo "Successfully uploaded $file"
fi
fi
done

View File

@ -35,28 +35,6 @@ jobs:
sudo apt-get update
sudo apt-get install xxd
- name: Check for Data changes
id: check_data
run: |
git fetch --unshallow || true
CHANGED_FILES=$(git diff --name-only HEAD^..HEAD)
if echo "$CHANGED_FILES" | grep -q "^data/"; then
echo "DATA_CHANGED=true" >> $GITHUB_OUTPUT
else
echo "DATA_CHANGED=false" >> $GITHUB_OUTPUT
fi
- name: Check for SPIFFS changes
id: check_spiffs
run: |
git fetch --unshallow || true
CHANGED_FILES=$(git diff --name-only HEAD^..HEAD)
if echo "$CHANGED_FILES" | grep -q "^data/\|^html/"; then
echo "SPIFFS_CHANGED=true" >> $GITHUB_OUTPUT
else
echo "SPIFFS_CHANGED=false" >> $GITHUB_OUTPUT
fi
- name: Build Firmware
run: |
VERSION=$(grep '^version = ' platformio.ini | cut -d'"' -f2)
@ -69,8 +47,10 @@ jobs:
# Copy firmware binary
cp .pio/build/esp32dev/firmware.bin .pio/build/esp32dev/upgrade_filaman_firmware_v${VERSION}.bin
# Always create SPIFFS binary
cp .pio/build/esp32dev/spiffs.bin .pio/build/esp32dev/upgrade_filaman_website_v${VERSION}.bin
# Create SPIFFS binary with minimal ESP32 image header (chip version set to max supported)
echo -ne '\xE9\x01\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\xFF\xFF\x00\x00' > .pio/build/esp32dev/upgrade_filaman_website_v${VERSION}.bin
# Append the actual SPIFFS data
cat .pio/build/esp32dev/spiffs.bin >> .pio/build/esp32dev/upgrade_filaman_website_v${VERSION}.bin 2>/dev/null
# Create full binary (always)
(cd .pio/build/esp32dev &&
@ -83,7 +63,7 @@ jobs:
0x1000 bootloader.bin \
0x8000 partitions.bin \
0x10000 firmware.bin \
0x390000 spiffs.bin)
0x3D0000 spiffs.bin)
# Verify file sizes
echo "File sizes:"

View File

@ -1,5 +1,73 @@
# Changelog
## [1.3.39] - 2025-02-22
### Changed
- update webpages for version v1.3.39
- workflow: update SPIFFS binary creation to set chip version to max supported
## [1.3.38] - 2025-02-22
### Changed
- update webpages for version v1.3.38
- workflow: update SPIFFS binary creation with minimal ESP32 image header
## [1.3.37] - 2025-02-22
### Changed
- update webpages for version v1.3.37
- workflow: update ESP32-WROOM image header for SPIFFS binary creation
## [1.3.36] - 2025-02-22
### Changed
- update webpages for version v1.3.36
- partition: update SPIFFS binary header and offsets in workflow files
## [1.3.35] - 2025-02-22
### Changed
- update webpages for version v1.3.35
- partition: update SPIFFS binary header and offsets in workflow files
## [1.3.34] - 2025-02-22
### Changed
- update webpages for version v1.3.34
- partition: update SPIFFS binary creation and offsets in workflow files
## [1.3.33] - 2025-02-22
### Changed
- update webpages for version v1.3.33
- partition: update spiffs offset and app sizes in partition files
- partition: update spiffs offset in partition files
- partition: update app sizes and offsets in partitions.csv
## [1.3.32] - 2025-02-22
### Changed
- update webpages for version v1.3.32
- workflow: update magic byte for SPIFFS binary creation
## [1.3.31] - 2025-02-22
### Changed
- update webpages for version v1.3.31
- workflow: remove unnecessary data and SPIFFS change checks from release workflows
## [1.3.30] - 2025-02-22
### Changed
- update webpages for version v1.3.30
- workflow: update Gitea and GitHub release workflows to create SPIFFS binary with magic byte
## [1.3.29] - 2025-02-21
### Changed
- update webpages for version v1.3.29
- workflow: update Gitea release workflow to create release before file uploads
## [1.3.28] - 2025-02-21
### Changed
- update webpages for version v1.3.28

View File

@ -167,12 +167,12 @@
}
// Validate file name pattern
if (updateType === 'firmware' && !file.name.startsWith('filaman_')) {
alert('Please select a valid firmware file (filaman_*.bin)');
if (updateType === 'firmware' && !file.name.startsWith('upgrade_filaman_firmware_')) {
alert('Please select a valid firmware file (upgrade_filaman_firmware_*.bin)');
return;
}
if (updateType === 'webpage' && !file.name.startsWith('webpage_')) {
alert('Please select a valid webpage file (webpage_*.bin)');
if (updateType === 'webpage' && !file.name.startsWith('upgrade_filaman_website_')) {
alert('Please select a valid webpage file (upgrade_filaman_website_*.bin)');
return;
}
@ -202,6 +202,16 @@
let response = this.responseText;
try {
const jsonResponse = JSON.parse(response);
// Handle progress updates
if (jsonResponse.progress !== undefined) {
const percent = jsonResponse.progress;
progress.style.width = percent + '%';
progress.textContent = Math.round(percent) + '%';
return;
}
// Handle success/error messages
response = jsonResponse.message;
if (jsonResponse.restart) {
@ -218,12 +228,9 @@
}, 1000);
}
} catch (e) {
if (!isNaN(response)) {
const percent = parseInt(response);
progress.style.width = percent + '%';
progress.textContent = percent + '%';
return;
}
console.error('JSON parse error:', e);
status.textContent = 'Update failed: Invalid response from server';
status.classList.add('error');
}
status.textContent = response;

View File

@ -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, 0x180000,
app1, app, ota_1, 0x190000, 0x180000,
spiffs, data, spiffs, 0x310000, 0xE0000,
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 0x180000 0x1E0000
5 app1 app ota_1 0x190000 0x1F0000 0x180000 0x1E0000
6 spiffs data spiffs 0x310000 0x3D0000 0xE0000 0x30000

View File

@ -9,7 +9,7 @@
; https://docs.platformio.org/page/projectconf.html
[common]
version = "1.3.28"
version = "1.3.39"
#test
@ -54,12 +54,8 @@ build_flags =
-DCONFIG_ARDUHAL_LOG_COLORS=1
-DOTA_DEBUG=1
-DCONFIG_OPTIMIZATION_LEVEL_DEBUG=1
-DCONFIG_ESP32_PANIC_PRINT_REBOOT
-DBOOT_APP_PARTITION_OTA_0=1
-DCONFIG_LOG_DEFAULT_LEVEL=3
-DCONFIG_LWIP_TCP_MSL=60000
-DCONFIG_LWIP_TCP_WND_DEFAULT=8192
-DCONFIG_LWIP_TCP_SND_BUF_DEFAULT=4096
-DCONFIG_LWIP_TCP_RCV_BUF_DEFAULT=4096
-DCONFIG_LWIP_MAX_ACTIVE_TCP=16