feat: imporove scroll display #2
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | |
| on: | |
| push: | |
| tags: | |
| - "v[0-9]+.[0-9]+.[0-9]+" | |
| - "v[0-9]+.[0-9]+.[0-9]+-*" | |
| workflow_dispatch: | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| build: | |
| name: Build Firmware | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Rust (ESP32-S3) | |
| uses: esp-rs/xtensa-toolchain@v1.6 | |
| with: | |
| default: true | |
| version: "1.89.0" | |
| buildtargets: esp32s3 | |
| ldproxy: false | |
| - name: Install cargo-espflash | |
| run: | | |
| wget -q 'https://github.com/esp-rs/espflash/releases/download/v4.0.1/cargo-espflash-x86_64-unknown-linux-musl.zip' | |
| unzip -q cargo-espflash-x86_64-unknown-linux-musl.zip | |
| mv cargo-espflash ~/.cargo/bin/ | |
| chmod +x ~/.cargo/bin/cargo-espflash | |
| - name: Enable caching | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Build release binary | |
| run: | | |
| cargo espflash save-image --chip esp32s3 --release rfid-reader.bin | |
| - name: Build merged binary (ready to flash) | |
| run: | | |
| cargo espflash save-image --merge --chip esp32s3 --flash-size 16mb --release rfid-reader-full.bin | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: firmware | |
| path: | | |
| rfid-reader.bin | |
| rfid-reader-full.bin | |
| - name: Create Release | |
| if: startsWith(github.ref, 'refs/tags/') | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| files: | | |
| rfid-reader.bin | |
| rfid-reader-full.bin | |
| body: | | |
| ## ST25TB RFID Reader Firmware | |
| ### Files | |
| - `rfid-reader.bin` - Application binary only | |
| - `rfid-reader-full.bin` - Full merged binary (includes bootloader, ready to flash at 0x0) | |
| ### Flashing | |
| ```bash | |
| # Using espflash (recommended) | |
| espflash flash --port /dev/ttyUSB0 rfid-reader-full.bin | |
| # Or using esptool.py | |
| esptool.py --chip esp32s3 --port /dev/ttyUSB0 write_flash 0x0 rfid-reader-full.bin | |
| ``` | |
| draft: false | |
| prerelease: false | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| ci: | |
| name: CI Check | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'push' && !startsWith(github.ref, 'refs/tags/') | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Rust (ESP32-S3) | |
| uses: esp-rs/xtensa-toolchain@v1.6 | |
| with: | |
| default: true | |
| version: "1.89.0" | |
| buildtargets: esp32s3 | |
| ldproxy: false | |
| - name: Enable caching | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Check | |
| run: cargo check --release | |
| - name: Build | |
| run: cargo build --release |