Compare commits
	
		
			26 Commits
		
	
	
		
			v1.3.28
			...
			a18749a1ff
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| a18749a1ff | |||
| 1811fd9159 | |||
| b550760427 | |||
| c5033acadc | |||
| 7de4189c83 | |||
| f43f2a15b2 | |||
| 858192c6cb | |||
| e2bd39922d | |||
| c86cc7173e | |||
| 16362e66a3 | |||
| 48d9ba8f71 | |||
| e2bea5a0c3 | |||
| 3e11f65188 | |||
| df59c42c8a | |||
| abe1d7c930 | |||
| ca614c3cc4 | |||
| 5153374093 | |||
| 66db4d7a85 | |||
| 90e71922b1 | |||
| e8e5c0bd3d | |||
| 7e53e1ccb0 | |||
| e49e812b13 | |||
| b1e0fcfadf | |||
| 31ef3ac8df | |||
| 8cf3f87c89 | |||
| c446188311 | 
							
								
								
									
										80
									
								
								.github/workflows/gitea-release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										80
									
								
								.github/workflows/gitea-release.yml
									
									
									
									
										vendored
									
									
								
							| @@ -40,8 +40,11 @@ jobs: | |||||||
|         # Copy firmware binary |         # Copy firmware binary | ||||||
|         cp .pio/build/esp32dev/firmware.bin .pio/build/esp32dev/upgrade_filaman_firmware_v${VERSION}.bin |         cp .pio/build/esp32dev/firmware.bin .pio/build/esp32dev/upgrade_filaman_firmware_v${VERSION}.bin | ||||||
|          |          | ||||||
|         # Create SPIFFS binary |         # Create SPIFFS binary with ESP32 image header | ||||||
|         cp .pio/build/esp32dev/spiffs.bin .pio/build/esp32dev/upgrade_filaman_website_v${VERSION}.bin |         # Create 16-byte ESP32 image header: (magic byte 0xE9, segment count 0x01, SPI mode DIO, SPI speed 40MHz, chip revision v3.1) | ||||||
|  |         echo -ne '\xE9\x01\x00\x00\x46\x97\x00\x00\x00\x30\x00\x00\x03\x01\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 | ||||||
|          |          | ||||||
|         # Create full binary |         # Create full binary | ||||||
|         (cd .pio/build/esp32dev &&  |         (cd .pio/build/esp32dev &&  | ||||||
| @@ -54,7 +57,7 @@ jobs: | |||||||
|           0x1000 bootloader.bin \ |           0x1000 bootloader.bin \ | ||||||
|           0x8000 partitions.bin \ |           0x8000 partitions.bin \ | ||||||
|           0x10000 firmware.bin \ |           0x10000 firmware.bin \ | ||||||
|           0x390000 spiffs.bin) |           0x3D0000 spiffs.bin) | ||||||
|          |          | ||||||
|         # Verify file sizes |         # Verify file sizes | ||||||
|         echo "File sizes:" |         echo "File sizes:" | ||||||
| @@ -120,47 +123,46 @@ jobs: | |||||||
|         echo "Debug: API URL: ${GITEA_API_URL}" |         echo "Debug: API URL: ${GITEA_API_URL}" | ||||||
|         echo "Debug: Repository: ${GITEA_OWNER}/${GITEA_REPO}" |         echo "Debug: Repository: ${GITEA_OWNER}/${GITEA_REPO}" | ||||||
|          |          | ||||||
|         # Prepare files for upload |         # Erstelle zuerst den Release ohne Dateien | ||||||
|         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 |  | ||||||
|         echo "Debug: Creating release..." |         echo "Debug: Creating release..." | ||||||
|         RELEASE_DATA="{\"tag_name\":\"v${VERSION}\",\"name\":\"v${VERSION}\",\"body\":\"${{ steps.changelog.outputs.CHANGES }}\"}" |         RELEASE_DATA="{\"tag_name\":\"v${VERSION}\",\"name\":\"v${VERSION}\",\"body\":\"${{ steps.changelog.outputs.CHANGES }}\"}" | ||||||
|          |          | ||||||
|         # Create release with explicit token header and file uploads |         RELEASE_RESPONSE=$(curl -s -w "\n%{http_code}" \ | ||||||
|         CURL_CMD="curl -s -w \"\n%{http_code}\" \ |  | ||||||
|           -X POST \ |           -X POST \ | ||||||
|           -H \"Authorization: token ${GITEA_TOKEN}\" \ |           -H "Authorization: token ${GITEA_TOKEN}" \ | ||||||
|           -H \"Content-Type: application/json\" \ |           -H "Content-Type: application/json" \ | ||||||
|           -d '${RELEASE_DATA}' \ |           -d "${RELEASE_DATA}" \ | ||||||
|           ${FILES} \ |           "${GITEA_API_URL}/api/v1/repos/${GITEA_OWNER}/${GITEA_REPO}/releases") | ||||||
|           \"${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) |         if [ "$RELEASE_STATUS" != "201" ]; then | ||||||
|         RESPONSE_BODY=$(echo "$RESPONSE" | head -n -1) |  | ||||||
|  |  | ||||||
|         echo "Debug: HTTP Status: $HTTP_STATUS" |  | ||||||
|         if [ "$HTTP_STATUS" != "201" ]; then |  | ||||||
|           echo "Error: Failed to create release" |           echo "Error: Failed to create release" | ||||||
|           echo "Response: $RESPONSE_BODY" |           echo "Response: $RELEASE_BODY" | ||||||
|           exit 1 |           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 | ||||||
							
								
								
									
										31
									
								
								.github/workflows/github-release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										31
									
								
								.github/workflows/github-release.yml
									
									
									
									
										vendored
									
									
								
							| @@ -35,28 +35,6 @@ jobs: | |||||||
|         sudo apt-get update |         sudo apt-get update | ||||||
|         sudo apt-get install xxd |         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 |     - name: Build Firmware | ||||||
|       run: | |       run: | | ||||||
|         VERSION=$(grep '^version = ' platformio.ini | cut -d'"' -f2) |         VERSION=$(grep '^version = ' platformio.ini | cut -d'"' -f2) | ||||||
| @@ -69,8 +47,11 @@ jobs: | |||||||
|         # Copy firmware binary |         # Copy firmware binary | ||||||
|         cp .pio/build/esp32dev/firmware.bin .pio/build/esp32dev/upgrade_filaman_firmware_v${VERSION}.bin |         cp .pio/build/esp32dev/firmware.bin .pio/build/esp32dev/upgrade_filaman_firmware_v${VERSION}.bin | ||||||
|          |          | ||||||
|         # Always create SPIFFS binary |         # Create SPIFFS binary with ESP32 image header | ||||||
|         cp .pio/build/esp32dev/spiffs.bin .pio/build/esp32dev/upgrade_filaman_website_v${VERSION}.bin |         # Create 16-byte ESP32 image header: (magic byte 0xE9, segment count 0x01, SPI mode DIO, SPI speed 40MHz, chip revision v3.1) | ||||||
|  |         echo -ne '\xE9\x01\x00\x00\x46\x97\x00\x00\x00\x30\x00\x00\x03\x01\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 | ||||||
|          |          | ||||||
|         # Create full binary (always) |         # Create full binary (always) | ||||||
|         (cd .pio/build/esp32dev &&  |         (cd .pio/build/esp32dev &&  | ||||||
| @@ -83,7 +64,7 @@ jobs: | |||||||
|           0x1000 bootloader.bin \ |           0x1000 bootloader.bin \ | ||||||
|           0x8000 partitions.bin \ |           0x8000 partitions.bin \ | ||||||
|           0x10000 firmware.bin \ |           0x10000 firmware.bin \ | ||||||
|           0x390000 spiffs.bin) |           0x3D0000 spiffs.bin) | ||||||
|          |          | ||||||
|         # Verify file sizes |         # Verify file sizes | ||||||
|         echo "File sizes:" |         echo "File sizes:" | ||||||
|   | |||||||
							
								
								
									
										50
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -1,5 +1,55 @@ | |||||||
| # Changelog | # Changelog | ||||||
|  |  | ||||||
|  | ## [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 | ## [1.3.28] - 2025-02-21 | ||||||
| ### Changed | ### Changed | ||||||
| - update webpages for version v1.3.28 | - update webpages for version v1.3.28 | ||||||
|   | |||||||
| @@ -167,12 +167,12 @@ | |||||||
|             } |             } | ||||||
|  |  | ||||||
|             // Validate file name pattern |             // Validate file name pattern | ||||||
|             if (updateType === 'firmware' && !file.name.startsWith('filaman_')) { |             if (updateType === 'firmware' && !file.name.startsWith('upgrade_filaman_firmware_')) { | ||||||
|                 alert('Please select a valid firmware file (filaman_*.bin)'); |                 alert('Please select a valid firmware file (upgrade_filaman_firmware_*.bin)'); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|             if (updateType === 'webpage' && !file.name.startsWith('webpage_')) { |             if (updateType === 'webpage' && !file.name.startsWith('upgrade_filaman_website_')) { | ||||||
|                 alert('Please select a valid webpage file (webpage_*.bin)'); |                 alert('Please select a valid webpage file (upgrade_filaman_website_*.bin)'); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|              |              | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| # Name,   Type, SubType,    Offset,   Size,     Flags | # Name,   Type, SubType,    Offset,   Size,     Flags | ||||||
| nvs,      data, nvs,       0x9000,   0x5000, | nvs,      data, nvs,       0x9000,   0x5000, | ||||||
| otadata,  data, ota,       0xe000,   0x2000, | otadata,  data, ota,       0xe000,   0x2000, | ||||||
| app0,     app,  ota_0,     0x10000,  0x180000, | app0,     app,  ota_0,     0x10000,  0x1E0000, | ||||||
| app1,     app,  ota_1,     0x190000, 0x180000, | app1,     app,  ota_1,     0x1F0000, 0x1E0000, | ||||||
| spiffs,   data, spiffs,    0x310000, 0xE0000, | spiffs,   data, spiffs,    0x3D0000, 0x30000, | ||||||
| 
 | 
| @@ -9,7 +9,7 @@ | |||||||
| ; https://docs.platformio.org/page/projectconf.html | ; https://docs.platformio.org/page/projectconf.html | ||||||
|  |  | ||||||
| [common] | [common] | ||||||
| version = "1.3.28" | version = "1.3.36" | ||||||
|  |  | ||||||
| #test | #test | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user