From dad887236def86497be5abc6810b4d282c0800ed Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Wed, 7 Dec 2022 14:27:56 +0100 Subject: [PATCH] Tasmota changes --- .github/workflows/build_esptool.yml | 84 +++++++++++++++---- .github/workflows/issue_comment.yml | 20 ----- .github/workflows/new_issues.yml | 20 ----- .github/workflows/new_prs.yml | 25 ------ .github/workflows/release_esptool_pypi.yml | 40 --------- .github/workflows/test_esptool.yml | 4 +- esptool/targets/esp32.py | 5 +- .../stub_flasher/stub_flasher_32s3.json | 4 +- .../stub_flasher/stub_flasher_32s3beta2.json | 4 +- flasher_stub/stub_commands.c | 2 +- package.json | 15 ++++ 11 files changed, 94 insertions(+), 129 deletions(-) delete mode 100644 .github/workflows/issue_comment.yml delete mode 100644 .github/workflows/new_issues.yml delete mode 100644 .github/workflows/new_prs.yml delete mode 100644 .github/workflows/release_esptool_pypi.yml create mode 100644 package.json diff --git a/.github/workflows/build_esptool.yml b/.github/workflows/build_esptool.yml index bb09de9e1..194484d0f 100644 --- a/.github/workflows/build_esptool.yml +++ b/.github/workflows/build_esptool.yml @@ -1,6 +1,10 @@ name: Build esptool -on: [push, pull_request] +on: + workflow_dispatch: + push: + paths-ignore: + - '.github/**' # Ignore changes towards the .github directory jobs: build-esptool-binaries: @@ -8,9 +12,9 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [macos-latest, ubuntu-latest, windows-latest] + os: [macos-10.15, ubuntu-latest, windows-latest] include: - - os: macos-latest + - os: macos-10.15 TARGET: macos SEPARATOR: ':' - os: ubuntu-latest @@ -35,23 +39,30 @@ jobs: python -m pip install --upgrade pip pip install pyinstaller pip install --user -e . + - name: Build stub + if: matrix.os == 'ubuntu-latest' + run: | + export TOOLCHAIN_DIR=$HOME/toolchain + export ESP8266_BINDIR=$TOOLCHAIN_DIR/xtensa-lx106-elf/bin + export ESP32_BINDIR=$TOOLCHAIN_DIR/xtensa-esp32-elf/bin + export ESP32S2_BINDIR=$TOOLCHAIN_DIR/xtensa-esp32s2-elf/bin + export ESP32S3_BINDIR=$TOOLCHAIN_DIR/xtensa-esp32s3-elf/bin + export ESP32C3_BINDIR=$TOOLCHAIN_DIR/riscv32-esp-elf/bin + export PATH=$PATH:$ESP8266_BINDIR:$ESP32_BINDIR:$ESP32S2_BINDIR:$ESP32S3_BINDIR:$ESP32C3_BINDIR + ./test/ci/setup_ci_build_env.sh + make -C flasher_stub V=1 + - name: Archive stubs artifact + if: matrix.os == 'ubuntu-latest' + uses: actions/upload-artifact@master + with: + name: stubs + path: /home/runner/work/esptool/esptool/flasher_stub/build - name: Build with PyInstaller run: | pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=build_tools/espressif.ico --add-data=".${{ env.STUBS_DIR }}*.json${{ matrix.SEPARATOR }}${{ env.STUBS_DIR }}" esptool.py pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=build_tools/espressif.ico espefuse.py pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=build_tools/espressif.ico espsecure.py pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=build_tools/espressif.ico esp_rfc2217_server.py - - name: Sign binaries - if: matrix.os == 'windows-latest' && github.event_name != 'pull_request' - env: - CERTIFICATE: ${{ secrets.CERTIFICATE }} - CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }} - shell: pwsh - run: | - ./build_tools/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/esptool.exe - ./build_tools/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/espefuse.exe - ./build_tools/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/espsecure.exe - ./build_tools/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/esp_rfc2217_server.exe - name: Test binaries shell: bash run: | @@ -61,13 +72,56 @@ jobs: ./${{ env.DISTPATH }}/esp_rfc2217_server${{ matrix.EXTEN }} -h - name: Add license and readme shell: bash - run: mv LICENSE README.md ./${{ env.DISTPATH }} + run: cp LICENSE README.md ./${{ env.DISTPATH }} - name: Archive artifact uses: actions/upload-artifact@master with: name: ${{ env.DISTPATH }} path: ${{ env.DISTPATH }} + push_stubs: + name: Commit changed files + needs: build-esptool-binaries + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@master + with: + fetch-depth: 0 + - name: Download builded stubs + uses: actions/download-artifact@master + with: + name: stubs + path: ./mv_stubs + - name: Display structure of downloaded files + run: | + ls -R + - name: Move stubs in folder + run: | + rm ./esptool/targets/stub_flasher/* + cp -R ./mv_stubs/*.json ./esptool/targets/stub_flasher + ls -R ./esptool/targets/stub_flasher + - name: Init git + run: | + git config --local user.name "Github BUILD" + git config user.email github-actions@github.com + git add ./esptool/targets/stub_flasher/* + git diff --cached >> diff + echo $diff + echo "dif=$diff" >> $GITHUB_ENV + echo ${{ env.dif }} + - name: Check for changes in stub files + if: contains(${{ env.dif }}, 'json') == true + run: git commit --allow-empty -m "stubs updated" + - name: Get branch + uses: jason2866/branch-name@master + - run: echo "brnch=${BRANCH_NAME}" >> $GITHUB_ENV + - name: Push to current branch + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: ${{ env.brnch }} + create_release: name: Create GitHub release if: startsWith(github.ref, 'refs/tags/') diff --git a/.github/workflows/issue_comment.yml b/.github/workflows/issue_comment.yml deleted file mode 100644 index 5a42897b4..000000000 --- a/.github/workflows/issue_comment.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Sync issue comments to JIRA - -# This workflow will be triggered when new issue comment is created (including PR comments) -on: issue_comment - -jobs: - sync_issue_comments_to_jira: - name: Sync Issue Comments to Jira - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@master - - name: Sync issue comments to JIRA - uses: espressif/github-actions/sync_issues_to_jira@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - JIRA_PASS: ${{ secrets.JIRA_PASS }} - JIRA_PROJECT: ESPTOOL - JIRA_COMPONENT: GitHub - JIRA_URL: ${{ secrets.JIRA_URL }} - JIRA_USER: ${{ secrets.JIRA_USER }} diff --git a/.github/workflows/new_issues.yml b/.github/workflows/new_issues.yml deleted file mode 100644 index f79bdcae6..000000000 --- a/.github/workflows/new_issues.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Sync issues to Jira - -# This workflow will be triggered when a new issue is opened -on: issues - -jobs: - sync_issues_to_jira: - name: Sync issues to Jira - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@master - - name: Sync GitHub issues to Jira project - uses: espressif/github-actions/sync_issues_to_jira@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - JIRA_PASS: ${{ secrets.JIRA_PASS }} - JIRA_PROJECT: ESPTOOL - JIRA_COMPONENT: GitHub - JIRA_URL: ${{ secrets.JIRA_URL }} - JIRA_USER: ${{ secrets.JIRA_USER }} diff --git a/.github/workflows/new_prs.yml b/.github/workflows/new_prs.yml deleted file mode 100644 index 05a56b2f5..000000000 --- a/.github/workflows/new_prs.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Sync remaining PRs to Jira - -# This workflow will be triggered every hour, to sync remaining PRs (i.e. PRs with zero comment) to Jira project -# Note that, PRs can also get synced when new PR comment is created -on: - schedule: - - cron: "0 * * * *" - -jobs: - sync_prs_to_jira: - name: Sync PRs to Jira - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@master - - name: Sync PRs to Jira project - uses: espressif/github-actions/sync_issues_to_jira@master - with: - cron_job: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - JIRA_PASS: ${{ secrets.JIRA_PASS }} - JIRA_PROJECT: ESPTOOL - JIRA_COMPONENT: GitHub - JIRA_URL: ${{ secrets.JIRA_URL }} - JIRA_USER: ${{ secrets.JIRA_USER }} diff --git a/.github/workflows/release_esptool_pypi.yml b/.github/workflows/release_esptool_pypi.yml deleted file mode 100644 index cd0c01bb0..000000000 --- a/.github/workflows/release_esptool_pypi.yml +++ /dev/null @@ -1,40 +0,0 @@ -# This workflow will upload an esptool Python package when a release is created - -name: PyPI release - -on: - release: - types: [released] - -jobs: - build_and_upload: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@master - - name: Set up Python 3.7 - uses: actions/setup-python@master - with: - python-version: '3.7' - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install setuptools twine - - name: Build and upload esptool ${{ github.event.release.tag_name }} - env: - TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} - run: | - PUBLISHED_VERSION=$(curl https://pypi.org/pypi/esptool/json 2>/dev/null | jq -r '.info.version') - CURRENT_VERSION=$(python setup.py --version 2>/dev/null) - - if [ "$PUBLISHED_VERSION" == "$CURRENT_VERSION" ]; then - echo "Version ${PUBLISHED_VERSION} already published, skipping..." - exit 1 - else - echo "Packaging and publishing new esptool version: ${CURRENT_VERSION}" - python setup.py sdist - tar -ztvf dist/* - twine upload dist/* - fi diff --git a/.github/workflows/test_esptool.yml b/.github/workflows/test_esptool.yml index 429542e79..ef0378719 100644 --- a/.github/workflows/test_esptool.yml +++ b/.github/workflows/test_esptool.yml @@ -35,8 +35,8 @@ jobs: espefuse.py --help espsecure.py --help - - name: Build stub (Python 3.7 only) - if: matrix.python-version == 3.7 + - name: Build stub (Python 3.8 only) + if: matrix.python-version == 3.8 run: | export TOOLCHAIN_DIR=$HOME/toolchain diff --git a/esptool/targets/esp32.py b/esptool/targets/esp32.py index d6c019918..87f399d22 100644 --- a/esptool/targets/esp32.py +++ b/esptool/targets/esp32.py @@ -212,8 +212,9 @@ def get_chip_description(self): chip_name = { 0: "ESP32-S0WDQ6" if single_core else "ESP32-D0WDQ6", - 1: "ESP32-S0WD" if single_core else "ESP32-D0WD", - 2: "ESP32-D2WD", + 1: "ESP32-S0WDQ5" if single_core else "ESP32-D0WDQ5", + 2: "ESP32-S2WDQ5" if single_core else "ESP32-D2WDQ5", + 3: "ESP32-S0WD-OEM" if single_core else "ESP32-D0WD-OEM", 4: "ESP32-U4WDH", 5: "ESP32-PICO-V3" if rev3 else "ESP32-PICO-D4", 6: "ESP32-PICO-V3-02", diff --git a/esptool/targets/stub_flasher/stub_flasher_32s3.json b/esptool/targets/stub_flasher/stub_flasher_32s3.json index ddd431076..53c8fde41 100644 --- a/esptool/targets/stub_flasher/stub_flasher_32s3.json +++ b/esptool/targets/stub_flasher/stub_flasher_32s3.json @@ -1,6 +1,6 @@ { - "entry": 1077381660, - "text": "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", + "entry": 1077381668, + "text": "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", "text_start": 1077379072, "data": "ZCvKP46NN0B4jjdARpM3QAOPN0CajjdAA483QGKPN0AukDdAoZA3QEmQN0AZjTdAxI83QCCQN0CFjzdAxJA3QK6PN0DEkDdAZo43QMWON0ADjzdAYo83QH6ON0BajTdAhJE3QP+SN0A2jDdAJZM3QDaMN0A2jDdANow3QDaMN0A2jDdANow3QDaMN0A2jDdAHpE3QDaMN0AZkjdA/5I3QA==", "data_start": 1070279676 diff --git a/esptool/targets/stub_flasher/stub_flasher_32s3beta2.json b/esptool/targets/stub_flasher/stub_flasher_32s3beta2.json index 878f2e6ff..c863366d1 100644 --- a/esptool/targets/stub_flasher/stub_flasher_32s3beta2.json +++ b/esptool/targets/stub_flasher/stub_flasher_32s3beta2.json @@ -1,6 +1,6 @@ { - "entry": 1077381660, - "text": "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", + "entry": 1077381668, + "text": "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", "text_start": 1077379072, "data": "ZCvKP46NN0B4jjdARpM3QAOPN0CajjdAA483QGKPN0AukDdAoZA3QEmQN0AZjTdAxI83QCCQN0CFjzdAxJA3QK6PN0DEkDdAZo43QMWON0ADjzdAYo83QH6ON0BajTdAhJE3QP+SN0A2jDdAJZM3QDaMN0A2jDdANow3QDaMN0A2jDdANow3QDaMN0A2jDdAHpE3QDaMN0AZkjdA/5I3QA==", "data_start": 1070279676 diff --git a/flasher_stub/stub_commands.c b/flasher_stub/stub_commands.c index 3cfa2f920..78dccd0d9 100644 --- a/flasher_stub/stub_commands.c +++ b/flasher_stub/stub_commands.c @@ -119,7 +119,7 @@ void handle_flash_read(uint32_t addr, uint32_t len, uint32_t block_size, uint32_t n = len - num_sent; if (n > block_size) n = block_size; #if defined(ESP32S3) - if (addr + len > 0x00ffffff) + if (addr + len-1 > 0x00ffffff) res = SPIRead4B(1, SPI_FLASH_FASTRD_MODE, addr, buf, n); else res = SPIRead(addr, (uint32_t *)buf, n); diff --git a/package.json b/package.json new file mode 100644 index 000000000..b905f4c9b --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "tool-esptoolpy", + "version": "1.40401", + "description": "Espressif ESP8266 and ESP32 serial bootloader utility", + "keywords": [ + "tools", + "uploader", + "espressif" + ], + "license": "GPL-2.0-or-later", + "repository": { + "type": "git", + "url": "https://github.com/tasmota/esptool" + } +}