🌟 Calling All Tech Enthusiasts! Join the CO2 Gadget Testing Adventure 🌟
@@ -170,7 +170,6 @@ NOTE: DHT22 is supported but is not recommended
Full details on CanAirIO sensorlib [here](https://github.com/kike-canaries/canairio_sensorlib/)
-
# Building from Repository
## Using PlatformIO (Recommended)
From 6996ba92067b2dc0d2e7d3ed50f66e9db79e0da3 Mon Sep 17 00:00:00 2001
From: Mario Mariete <11509521+melkati@users.noreply.github.com>
Date: Sun, 2 Jun 2024 12:58:32 +0200
Subject: [PATCH 10/15] Update README.md
---
README.md | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index fa4bf57e..30a5f7dc 100644
--- a/README.md
+++ b/README.md
@@ -108,7 +108,6 @@ These are the GPIOs used by each predefined board:
| TDISPLAY_S3 | TFT 320x170 | 18/17 | 43/44 | 14/0 | 03 | 01 | 04 | 16 | 2
| esp32dev_OLED SSH1106 | SSH1106 128×64 | 17/16 | 21/22 | 15/0 | 32 | 33 | 34 | 26 | 2
| esp32dev | No display | 17/16 | 21/22 | 15/0 | 32 | 33 | 34 | 26 | 2
-| esp32dev-sandwich | No display | 17/16 | 22/21 | 15/0 | 32 | 33 | 34 | 26 | 2
| esp32dev-ST7789_240x320 | ST7789_240x320 | 17/16 | 21/22 | 19/0 | 32 | 33 | 34 | 26 | 2
- Flavour: Name of the firmware variant.
@@ -170,6 +169,15 @@ NOTE: DHT22 is supported but is not recommended
Full details on CanAirIO sensorlib [here](https://github.com/kike-canaries/canairio_sensorlib/)
+# Installing
+
+Installing the CO2 Gadget advanced firmware on the board with the ESP32is super easy. You don't have to download or install anything on your PC.
+
+Just click the button corresponding to the version you want to install, select the port where your board is connected and click "Connect". It's as simple as that, the uploading into the ESP32 will be done in a few seconds without any further complication with only a few clicks...
+
+Visit the [CO2 Gadget page](https://emariete.com/en/meter-co2-gadget/) to install from the comfort of your internet browser.
+
+
# Building from Repository
## Using PlatformIO (Recommended)
@@ -198,10 +206,10 @@ Save the changes made to the `platformio.ini` file.
For ease of use, PlatformIO is recommended over the Arduino IDE. After installing PlatformIO and its command line tools on your system (compatible with Windows, MacOS, and Linux), connect your compatible board via USB and execute the following command:
```bash
-pio run -e TTGO_TDISPLAY_SANDWICH --target upload
+pio run -e TTGO_TDISPLAY --target upload
```
-Ensure to replace "TTGO_TDISPLAY_SANDWICH" with the desired flavor of CO2 Gadget to be compiled and uploaded. You can find these flavors defined in the `platformio.ini` file or define your own.
+Ensure to replace "TTGO_TDISPLAY" with the desired flavor of CO2 Gadget to be compiled and uploaded. You can find these flavors defined in the `platformio.ini` file or define your own.
If using the PlatformIO GUI, follow these steps to compile and upload CO2-Gadget onto your board: press the "Alien head" icon, navigate to Project tasks, select your desired flavor, and choose Upload and Monitor.
From 487b0d5cf1a5df8eb433e97b77a3c5512115b039 Mon Sep 17 00:00:00 2001
From: Mario Mariete <11509521+melkati@users.noreply.github.com>
Date: Sun, 2 Jun 2024 13:13:23 +0200
Subject: [PATCH 11/15] chore: Update CO2_GADGET_REV to "084-development" in
platformio.ini
---
platformio.ini | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/platformio.ini b/platformio.ini
index de31705f..bf0af6dc 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -10,7 +10,7 @@ extra_configs = platformio_extra_configs.ini
[version]
build_flags =
-D CO2_GADGET_VERSION="\"0.12."\"
- -D CO2_GADGET_REV="\"083-development"\"
+ -D CO2_GADGET_REV="\"084-development"\"
;****************************************************************************************
;*** You can disable features by commenting the line with a semicolon at the beginning
@@ -21,11 +21,10 @@ build_flags =
-DSUPPORT_BLE
-DSUPPORT_BUZZER
; -DSUPPORT_ESPNOW
- ; -DSUPPORT_MDNS
+ -DSUPPORT_MDNS
-DSUPPORT_MQTT
-DSUPPORT_MQTT_DISCOVERY
-DSUPPORT_OTA
- -DSUPPORT_CAPTIVE_PORTAL
;****************************************************************************************
;*** This will be deprecated. It's here only for backward compatibility.
@@ -161,7 +160,6 @@ build_flags =
;****************************************************************************************
;*** Environment specific data. You can override the common data for each environment
;****************************************************************************************
-
[env:esp32dev]
platform = https://github.com/platformio/platform-espressif32.git
board = esp32dev
From 65d30f859a628fc6c54ee7777fc5e9e2052dc701 Mon Sep 17 00:00:00 2001
From: Mario Mariete <11509521+melkati@users.noreply.github.com>
Date: Sun, 2 Jun 2024 13:21:34 +0200
Subject: [PATCH 12/15] Prepare for release
---
platformio.ini | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/platformio.ini b/platformio.ini
index bf0af6dc..e5499523 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -9,8 +9,8 @@ extra_configs = platformio_extra_configs.ini
[version]
build_flags =
- -D CO2_GADGET_VERSION="\"0.12."\"
- -D CO2_GADGET_REV="\"084-development"\"
+ -D CO2_GADGET_VERSION="\"0.14."\"
+ -D CO2_GADGET_REV="\"0"\"
;****************************************************************************************
;*** You can disable features by commenting the line with a semicolon at the beginning
From 636615933ec64ec1f40b2533617c51b65c561ba8 Mon Sep 17 00:00:00 2001
From: Mario Mariete <11509521+melkati@users.noreply.github.com>
Date: Sun, 2 Jun 2024 13:30:41 +0200
Subject: [PATCH 13/15] Update GitHub Action for release
---
.github/workflows/release3.yml | 374 ++++++++++++++++-----------------
1 file changed, 179 insertions(+), 195 deletions(-)
diff --git a/.github/workflows/release3.yml b/.github/workflows/release3.yml
index 3ae761df..e480d978 100644
--- a/.github/workflows/release3.yml
+++ b/.github/workflows/release3.yml
@@ -1,11 +1,11 @@
-name: Release V2.5
+name: Release V2.93
# # # # # # # # # # #
# To create new release, just push a new tag with the format v* (v1.0, v2.0, v2.1, v2.2, etc)
-#
+#
# In a terminal in platformIO do, for example:
-# git tag -a v0.10.005 -m "For general release v0.10.005"
-# git push origin v0.10.005
+# git tag -a v1.0.1 -m "Release v1.0.1"
+# git push origin v1.0.1
# # # # # # # # # # #
on:
@@ -15,196 +15,180 @@ on:
workflow_dispatch:
jobs:
+ build_release:
+ name: Create Release
+
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ environment:
+ - esp32dev
+ - esp32dev_OLED
+ - TTGO_TDISPLAY
+ - TTGO_TDISPLAY_SANDWICH
+ - TDISPLAY_S3
+ - esp32dev_ST7789_240x320
+ - ttgo-t5-EINKBOARDGDEM0213B74
+ - ttgo-t5-EINKBOARDDEPG0213BN
+ - ttgo-t5-EINKBOARDGDEW0213M21
+ - ttgo-t7-EINKBOARDGDEM029T94
+ - ttgo-t7-WEACT_GDEH0154D67
+ - ttgo-t7-WEACT_DEPG0213BN
+ - ttgo-t7-WEACT_GxEPD2_290_BS
+
+ env:
+ CHIP_FAMILY: ${{ matrix.environment == 'TDISPLAY_S3' && 'ESP32-S3' || 'ESP32' }}
+
+ timeout-minutes: 30
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v2
+
+ - name: Show environments
+ run: |
+ echo
+
+ - name: Determine chipFamily
+ id: determine_chip_family
+ run: |
+ case "${{ matrix.environment }}" in
+ "esp32dev")
+ CHIP_FAMILY="ESP32";;
+ "TDISPLAY_S3")
+ CHIP_FAMILY="ESP32-S3";;
+ # Add more cases for other environments as needed
+ *)
+ CHIP_FAMILY="UNKNOWN";;
+ esac
+ echo "::set-output name=chipFamily::${CHIP_FAMILY}"
+
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v1
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install -U platformio
+ platformio update
+
+ - name: Get the version
+ id: get_version
+ run: echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/}
+
+ - name: Show version
+ run: echo ${{ steps.get_version.outputs.VERSION }}
+
+ - name: Get current date
+ id: date
+ run: |
+ echo "::set-output name=date::$(date +'%d-%m-%Y')"
+ echo "::set-output name=time::$(date +'%H:%M:%S')"
+
+ - name: Create manifest file
+ id: createmanifest
+ run: |
+
+ # Define offset values based on env.CHIP_FAMILY
+ if [[ "${{ env.CHIP_FAMILY }}" == "ESP32-S3" ]]; then
+ bootloader_offset=0
+ partitions_offset=32768
+ firmware_offset=65536
+ spiffs_offset=3604480
+ else
+ # Default values for ESP32 or other environments
+ bootloader_offset=4096
+ partitions_offset=32768
+ firmware_offset=65536
+ spiffs_offset=3604480
+ fi
+
+ # Create manifest
+ echo "{" > ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " \"name\": \"${{ github.event.repository.name }}-${{ matrix.environment }}\"," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " \"flavour\": \"${{ matrix.environment }}\"," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " \"version\": \"${{ steps.get_version.outputs.VERSION }}\"," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " \"compilation_date\": \"${{ steps.date.outputs.date }}\"," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " \"compilation_time\": \"${{ steps.date.outputs.time }}\"," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " \"new_install_prompt_erase\": true," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " \"new_install_improv_wait_time\": 20," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " \"builds\": [" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " {" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " \"chipFamily\": \"${{ env.CHIP_FAMILY }}\"," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " \"improv\": true," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " \"parts\": [" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " { \"path\": \"${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-bootloader.bin\", \"offset\": $bootloader_offset }," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " { \"path\": \"${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-partitions.bin\", \"offset\": $partitions_offset }," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " { \"path\": \"${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-firmware.bin\", \"offset\": $firmware_offset }," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " { \"path\": \"${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-spiffs.bin\", \"offset\": $spiffs_offset }" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " ]" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " }" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo " ]" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo "}" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo "::set-output name=manifest::$(cat ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json)"
+
+ - name: Read manifest files
+ run: |
+ echo "Manifest:"
+ echo ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+ echo "Manifest file contents readed with cat:"
+ cat ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+
+ - name: Copy manifest files
+ if: startsWith(github.ref, 'refs/tags/')
+ run: |
+ mkdir ./firmware
+ cp ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json ./firmware/${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
+
+ - name: Build firmware file
+ run: |
+ pio run -e ${{ matrix.environment }}
+
+ - name: Copy firmware files
+ if: startsWith(github.ref, 'refs/tags/')
+ run: |
+ cp .pio/build/${{ matrix.environment }}/bootloader.bin ./firmware/${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-bootloader.bin
+ cp .pio/build/${{ matrix.environment }}/partitions.bin ./firmware/${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-partitions.bin
+ cp .pio/build/${{ matrix.environment }}/firmware.bin ./firmware/${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-firmware.bin
+
+ - name: Build spiffs file
+ run: |
+ pio run -e ${{ matrix.environment }} -t buildfs
+
+ - name: Copy spiffs files
+ if: startsWith(github.ref, 'refs/tags/')
+ run: |
+ ls -la ./firmware
+ cp .pio/build/${{ matrix.environment }}/spiffs.bin ./firmware/${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-spiffs.bin
+
+ - name: Create Release
+ id: create_release
+ uses: softprops/action-gh-release@v1
+ if: startsWith(github.ref, 'refs/tags/')
+ with:
+ name: ${{ github.event.repository.name }}-${{ steps.get_version.outputs.VERSION }}
+ files: |
+ ./firmware/*.bin
+ ./firmware/*.json
+ draft: false
+ generate_release_notes: true
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- # get_default_envs:
- # name: Gather Environments
- # runs-on: ubuntu-latest
- # steps:
- # - uses: actions/checkout@v2
- # - uses: actions/setup-python@v2
- # - name: Install PlatformIO
- # run: |
- # pip install -U platformio
- # platformio update
- # - name: Dump github context
- # run: echo "$GITHUB_CONTEXT"
- # shell: bash
- # env:
- # GITHUB_CONTEXT: ${{ toJson(github) }}
- # - name: Get default environments
- # id: envs
- # run: |
- # echo "::set-output name=environments::$(pio project config --json-output | jq -cr '.[0][1][0][1]')"
- # echo ${{ steps.envs.outputs.environments }}
- # outputs:
- # environments: ${{ steps.envs.outputs.environments }}
-
- build:
- name: Create Release
-
- runs-on: ubuntu-latest
- # needs: get_default_envs
-
- strategy:
- matrix:
- # environment: ${{ fromJSON(needs.get_default_envs.outputs.environments) }}
- environment: [esp32dev, esp32dev_OLED, TTGO_TDISPLAY, TTGO_TDISPLAY_SANDWICH, TDISPLAY_S3, esp32dev_ST7789_240x320]
-
+ - name: 📂 Sync files - FTP-Deploy-Action
+ uses: SamKirkland/FTP-Deploy-Action@2.0.0
env:
- CHIP_FAMILY: ${{ matrix.environment == 'TDISPLAY_S3' && 'ESP32-S3' || 'ESP32' }}
-
- timeout-minutes: 30 # time out after 30 minutes (default is 360 minutes)
-
- steps:
-
- - name: Checkout code
- uses: actions/checkout@v2
-
- - name: Show enviroments
- run: |
- echo
-
- - name: Determine chipFamily
- id: determine_chip_family
- run: |
- case "${{ matrix.environment }}" in
- "esp32dev")
- CHIP_FAMILY="ESP32";;
- "TDISPLAY_S3")
- CHIP_FAMILY="ESP32-S3";;
- # Add more cases for other environments as needed
- *)
- CHIP_FAMILY="UNKNOWN";;
- esac
- echo "::set-output name=chipFamily::${CHIP_FAMILY}"
-
- - name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v1
- with:
- python-version: ${{ matrix.python-version }}
-
- - name: Install dependencies
- run: |
- python -m pip install --upgrade pip
- pip install -U platformio
- platformio update
-
- - name: Get the version
- id: get_version
- run: echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/}
-
- - name: Show version
- run: echo ${{ steps.get_version.outputs.VERSION }}
-
- - name: Get current date
- id: date
- run: |
- echo "::set-output name=date::$(date +'%d-%m-%Y')"
- echo "::set-output name=time::$(date +'%H:%M:%S')"
-
- - name: Create manifest file
- id: createmanifest
- run: |
-
- # Define offset values based on env.CHIP_FAMILY
- if [[ "${{ env.CHIP_FAMILY }}" == "ESP32-S3" ]]; then
- bootloader_offset=0
- partitions_offset=32768
- app0_offset=57344
- firmware_offset=65536
- spiffs_offset=13172736
- else
- # Default values for ESP32 or other environments
- bootloader_offset=4096
- partitions_offset=32768
- app0_offset=57344
- firmware_offset=65536
- spiffs_offset=3997696
- fi
-
- # Create manifest
- echo "{" > ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " \"name\": \"${{ github.event.repository.name }}-${{ matrix.environment }}\"," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " \"flavour\": \"${{ matrix.environment }}\"," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " \"version\": \"${{ steps.get_version.outputs.VERSION }}\"," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " \"compilation_date\": \"${{ steps.date.outputs.date }}\"," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " \"compilation_time\": \"${{ steps.date.outputs.time }}\"," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " \"new_install_prompt_erase\": true," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " \"new_install_improv_wait_time\": 20," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " \"builds\": [" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " {" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " \"chipFamily\": \"${{ env.CHIP_FAMILY }}\"," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " \"improv\": true," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " \"parts\": [" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " { \"path\": \"${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-bootloader.bin\", \"offset\": $bootloader_offset }," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " { \"path\": \"${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-partitions.bin\", \"offset\": $partitions_offset }," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " { \"path\": \"${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-firmware.bin\", \"offset\": $firmware_offset }," >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " { \"path\": \"${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-spiffs.bin\", \"offset\": $spiffs_offset }" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " ]" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " }" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo " ]" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo "}" >> ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo "::set-output name=manifest::$(cat ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json)"
-
- - name: Read manifest files
- run: |
- echo "Manifest:"
- echo ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
- echo "Manifest file contents readed with cat:"
- cat ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
-
- - name: Copy manifest files
- if: startsWith(github.ref, 'refs/tags/')
- run: |
- mkdir ./firmware
- cp ${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json ./firmware/${{ github.event.repository.name }}-${{ matrix.environment }}.manifest.json
-
- - name: Build firmware file
- run: |
- pio run -e ${{ matrix.environment }}
-
- - name: Copy firmware files
- if: startsWith(github.ref, 'refs/tags/')
- run: |
- cp .pio/build/${{ matrix.environment }}/bootloader.bin ./firmware/${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-bootloader.bin
- cp .pio/build/${{ matrix.environment }}/partitions.bin ./firmware/${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-partitions.bin
- cp .pio/build/${{ matrix.environment }}/firmware.bin ./firmware/${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-firmware.bin
-
- - name: Build spiffs file
- run: |
- pio run -e ${{ matrix.environment }} -t buildfs
-
- - name: Copy spiffs files
- if: startsWith(github.ref, 'refs/tags/')
- run: |
- ls -la ./firmware
- cp .pio/build/${{ matrix.environment }}/spiffs.bin ./firmware/${{ github.event.repository.name }}-${{ matrix.environment }}-${{ steps.get_version.outputs.VERSION }}-spiffs.bin
-
- - name: Create Release
- id: create_release
- uses: softprops/action-gh-release@v1
- if: startsWith(github.ref, 'refs/tags/')
- with:
- name: ${{ github.event.repository.name }}-${{ steps.get_version.outputs.VERSION }}
- files: |
- ./firmware/*.bin
- ./firmware/*.json
- draft: false
- # prerelease: true
- generate_release_notes: true
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_ACTION_TOKEN }}
- - name: 📂 Sync files - FTP-Deploy-Action
- uses: SamKirkland/FTP-Deploy-Action@2.0.0
- env:
- FTP_SERVER: ${{ secrets.FTP_SERVER }}
- FTP_USERNAME: ${{ secrets.FTP_USER }}
- FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
- LOCAL_DIR: ./firmware/
- REMOTE_DIR: /${{ github.event.repository.name }}/
- METHOD: ftp
- PORT: 21
- ARGS: --verbose
- - name: Clean eMariete.com Cache
- # run: curl https://emariete.com/clean_cache_wp_rocket.php
- run: curl https://emariete.com/clean_cache_litespeed.php
+ FTP_SERVER: ${{ secrets.FTP_SERVER }}
+ FTP_USERNAME: ${{ secrets.FTP_USER }}
+ FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
+ LOCAL_DIR: ./firmware/
+ REMOTE_DIR: /${{ github.event.repository.name }}/
+ METHOD: ftp
+ PORT: 21
+ ARGS: --verbose
+
+ - name: Clean eMariete.com Cache
+ run: curl https://emariete.com/clean_cache_litespeed.php
From be6a94039088588c310bfd9aaf567eb68e864e6d Mon Sep 17 00:00:00 2001
From: Mario Mariete <11509521+melkati@users.noreply.github.com>
Date: Sun, 2 Jun 2024 15:19:11 +0200
Subject: [PATCH 14/15] Improve preferences.h logging
---
CO2_Gadget_Preferences.h | 11 +++++++++++
platformio.ini | 2 +-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/CO2_Gadget_Preferences.h b/CO2_Gadget_Preferences.h
index 250da990..ab11d269 100644
--- a/CO2_Gadget_Preferences.h
+++ b/CO2_Gadget_Preferences.h
@@ -709,6 +709,7 @@ bool handleSavePreferencesFromJSON(String jsonPreferences) {
preferences.begin("CO2-Gadget", false);
customCalibrationValue = JsonDocument["customCalValue"];
if (tempOffset != float(JsonDocument["tempOffset"])) {
+ Serial.println("-->[PREF] Temp Offset changed from " + String(tempOffset) + " to " + String(JsonDocument["tempOffset"].as()));
tempOffset = float(JsonDocument["tempOffset"]);
sensors.setTempOffset(tempOffset);
}
@@ -733,6 +734,7 @@ bool handleSavePreferencesFromJSON(String jsonPreferences) {
batteryDischargedMillivolts = JsonDocument["batDischgd"];
batteryFullyChargedMillivolts = JsonDocument["batChargd"];
if (vRef != JsonDocument["vRef"]) { // If battery reference changed, apply it
+ Serial.println("-->[PREF] vRef changed from " + String(vRef) + " to " + String(JsonDocument["vRef"].as()));
vRef = JsonDocument["vRef"];
battery.begin(vRef, voltageDividerRatio, &asigmoidal);
readBatteryVoltage();
@@ -763,6 +765,7 @@ bool handleSavePreferencesFromJSON(String jsonPreferences) {
debugSensors = JsonDocument["debugSensors"];
#if defined(SUPPORT_TFT) || defined(SUPPORT_OLED) || defined(SUPPORT_EINK)
if (displayReverse != JsonDocument["displayReverse"]) {
+ Serial.println("-->[PREF] Display Reverse changed from " + String(displayReverse) + " to " + String(JsonDocument["displayReverse"].as()));
displayReverse = JsonDocument["displayReverse"];
setDisplayReverse(displayReverse);
reverseButtons(displayReverse);
@@ -790,31 +793,37 @@ bool handleSavePreferencesFromJSON(String jsonPreferences) {
}
if (displayShowTemperature != JsonDocument["showTemp"]) {
+ Serial.println("-->[PREF] Display Temperature changed from " + String(displayShowTemperature) + " to " + String(JsonDocument["showTemp"].as()));
displayShowTemperature = JsonDocument["showTemp"];
shouldRedrawDisplay = true;
}
if (displayShowHumidity != JsonDocument["showHumidity"]) {
+ Serial.println("-->[PREF] Display Humidity changed from " + String(displayShowHumidity) + " to " + String(JsonDocument["showHumidity"].as()));
displayShowHumidity = JsonDocument["showHumidity"];
shouldRedrawDisplay = true;
}
if (displayShowBattery != JsonDocument["showBattery"]) {
+ Serial.println("-->[PREF] Display Battery changed from " + String(displayShowBattery) + " to " + String(JsonDocument["showBattery"].as()));
displayShowBattery = JsonDocument["showBattery"];
shouldRedrawDisplay = true;
}
if (displayShowBatteryVoltage != JsonDocument["showBattVolt"]) {
+ Serial.println("-->[PREF] Display Battery Voltage changed from " + String(displayShowBatteryVoltage) + " to " + String(JsonDocument["showBattVolt"].as()));
displayShowBatteryVoltage = JsonDocument["showBattVolt"];
shouldRedrawDisplay = true;
}
if (displayShowCO2 != JsonDocument["showCO2"]) {
+ Serial.println("-->[PREF] Display CO2 changed from " + String(displayShowCO2) + " to " + String(JsonDocument["showCO2"].as()));
displayShowCO2 = JsonDocument["showCO2"];
shouldRedrawDisplay = true;
}
if (displayShowPM25 != JsonDocument["showPM25"]) {
+ Serial.println("-->[PREF] Display PM2.5 changed from " + String(displayShowPM25) + " to " + String(JsonDocument["showPM25"].as()));
displayShowPM25 = JsonDocument["showPM25"];
shouldRedrawDisplay = true;
}
@@ -854,11 +863,13 @@ bool handleSavePreferencesFromJSON(String jsonPreferences) {
// If JsonDocument["wifiPass"] is present and different from the current one, update the wifiPass variable
if (JsonDocument.containsKey("wifiPass") && wifiPass != JsonDocument["wifiPass"].as().c_str()) {
+ Serial.println("-->[PREF] WiFi Password changed. Updating WiFi Password in preferences");
wifiPass = JsonDocument["wifiPass"].as().c_str();
wifiChanged = true;
}
// If JsonDocument["mqttPass"] is present and different from the current one, update the mqttPass variable
if (JsonDocument.containsKey("mqttPass") && mqttPass != JsonDocument["mqttPass"].as().c_str()) {
+ Serial.println("-->[PREF] MQTT Password changed. Updating MQTT Password in preferences");
mqttPass = JsonDocument["mqttPass"].as().c_str();
wifiChanged = true;
}
diff --git a/platformio.ini b/platformio.ini
index e5499523..352cd1c3 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -10,7 +10,7 @@ extra_configs = platformio_extra_configs.ini
[version]
build_flags =
-D CO2_GADGET_VERSION="\"0.14."\"
- -D CO2_GADGET_REV="\"0"\"
+ -D CO2_GADGET_REV="\"000"\"
;****************************************************************************************
;*** You can disable features by commenting the line with a semicolon at the beginning
From e8de5dea9de74aacc0785a22a2dd32e86903629a Mon Sep 17 00:00:00 2001
From: Mario Mariete <11509521+melkati@users.noreply.github.com>
Date: Mon, 3 Jun 2024 07:15:49 +0200
Subject: [PATCH 15/15] chore: Update font color in style.css to increase
contrast for value and units in dark mode
---
data/style.css | 4 ++--
data/style.css.gz | Bin 2412 -> 2413 bytes
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/data/style.css b/data/style.css
index 639e1b50..bf88c2c1 100644
--- a/data/style.css
+++ b/data/style.css
@@ -360,14 +360,14 @@ button:hover {
}
.value {
- fill: #666;
+ fill: var(--font-color);
font-family: sans-serif;
font-size: 0.7em;
text-anchor: middle;
}
.unit {
- fill: #666;
+ fill: var(--font-color);
font-family: sans-serif;
font-size: 0.3em;
text-anchor: middle;
diff --git a/data/style.css.gz b/data/style.css.gz
index c8b3db1f035eaba64a211a0750031fa13da0db55..7686d9fdc08584f9783d64e286e878439da57497 100644
GIT binary patch
delta 2407
zcmV-t37Gcm673QPABzYGmrz}i2O)pFV=?h98WR(ZCVnw~C{VU41JZ(5CH!|!TcFUw
zoPIMm_l~uP({rAl_Z!lps2bZ&i@dVqA}eTkZ@1eWY&$yk-_taO?-i*s+%N5S7-Iyh
zBrfvdJEOI@Y%QVeR0T9wYS7S&N^Iy8_A+M!-Pgpib{M^aGM4
z;mYS_U1>XU91lB6*(sD!T~$Rsv%QT`8aM-mRC$grK+bm0F9jX#1krD!+wx)`3m#=r
z)+OIi>h!A$WOcnokyT_&9|V8Fus-)jf}{GV=mn&%AFMrRxAp=K?Bi8W)`6sMj|&)Q
z1;d@HJrkU08wL4=@?dR%*&-lp$&g#Jz&GK=aI;jf`
zbU1bUcTp7Yoqayj)2rEd@nPfl12hS)$*@HDh
zIkOq2Bt00H@Ey^I%5{HMhw&=s)vuosJ(4_h+LOCJdFzwEK5ZLCtgO&{$8*4J9m|D}
zLkC+_00!sKgAG<>B(WwuBvH?$L`g#OWB*Q2{s0-Io{ap$p@+}y$r~-Wo5ulP^CxR!
zX**f+_}WG~T9Xh~X6R>_X86Z}|FIK7aa@ri4?&XpoF8sUQk{Q7*KzJI;Aln*O^MLa
z5O605%*KQjyz--u17oUgZFTqszM9}4Tr%fS7K{j?Db7$uzGI;wu*xf(S5q~=)~q7w
z&wevxC5pj7adnGven1&H<~FJDnT0WIV>&`$(8z@g5qH}oX`x0KXM*E`A|Xm%|BDvE#dP7y(1ZG2{7#IQOh6fQI|LNng36#WLp9FL|ihxU5_i*UVc{2laT
zT+R-zjO5>#o#C`vkG@lKJZTV`Ahr4n0EqMi!7p?vw>qAKUP8!w%PFS&Tz$D9-j{D2
z;+irLn@g;2!rKDv33Dp(tnuv-5?H1MJ%=nt8Gh(O^`w7OcG#Gt0gys`o;nW5GaEkU
z{i4gmJ&oXWD}|1VEI9}>5I}Yi_L0LCkz+6oVQGPiA`~U0W+J|fe1uyN5N`Ec>8%d^
z&5<0g2Mj$c;%{S18%aMH-FkS^$`DJyVrY382{YBL+IuC%DW*7&F?$8jH-8M$Q~ht|
z)OQ`TV(x!|6o@TF`ZgsvOBk*ic}nPB6QrjS1%m|-aSoOyA*0Rk5$B0+R;F=W&M|F<
zBAhjI7pqASTu_Nq$T_Hr>ZjeRLZM?Guf^)IG`qnbxItcsJu2aK(#u$WQ3tcq9zqPoP&?AzbOpuhe)WTt_9Oa^r>7i&
zgQ$Ns?nUB7sn7Zzl?*!d#>rEVYx*1MwtafW2|*T%DM)LfJh2|0(GOdi`OX27RWqym
zk&@)V|JYCgz)FQ}SuC>9O{oRHLS_!IEM_!qH~0h=E+ZVmJXh9q_(?-z?z|S2QPc{P|3y
z&JgWR=(&v3ql85ml>+0&xi7x;m1Q8VzMGIlPz#bQlSMtNXz>k;AT%AJth%j^qrZQ-
z=^3cErzGCyreEMmJO;Pvkju$g_7Np5j$lm8a%E_=i@LI)TD?UyVeQjz_-9Jd88fRV
zY@GW|$1_0;K%k&LZ$+I}M+a=evpNyGclgk3p8~B;%6;9S-Ny0by-9nj&%~hh<2}Yf
zyZMf?x&y>)xyP-%YT-xby?Kn!UGaaM$0rEmXObitbTD;Js(jK`KZq22M#@qtST|JfLDTZh7)V=+_w;)
zlpJm;srabjTqI!Am{tUuAe&|qj)D?6Tv}pXitN(1_rw^g7gw0I^52yFfW&`V6=fKJ
zNAYwc9#oSho_N-HXv4;u|5>bl#6hDbz}TB@r)T=5K<^ivnQkG_#tO;_Q>ek;P{qqOOo&pi#W?j
z$p{l6N~No-lK7mA;{@i75{7?-1+Ew(!)ufrarFsP1`tdG>6NAQpGR*-qWb4P&jj5B
zx!rW5P%#c~rX{P|_>~bi${or_aHa%vg>+4HQDsW>JO8+D+ROI_hWZ)o-@qT
z
zT`kf1nQC;+!d%_i`vVh005Iuq6+{3
delta 2406
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
Y$v3-ZS1ZYy)s(mX1~~_rT3jLk0O1y@ |