From 3545cc752138bfd8c4aee151e7d3807203e028b2 Mon Sep 17 00:00:00 2001 From: vidplace7 Date: Sat, 5 Oct 2024 12:15:58 -0400 Subject: [PATCH] Use the custom action --- .../workflows/actions/setup-base/action.yml | 51 --- .github/workflows/build.yml | 88 ++++ .github/workflows/build_esp32_s3.yml | 76 ---- .github/workflows/main_matrix.yml | 411 ------------------ .github/workflows/nightly.yml | 29 -- variants/t-energy-s3_e22/platformio.ini | 16 - variants/t-energy-s3_e22/variant.h | 46 -- 7 files changed, 88 insertions(+), 629 deletions(-) delete mode 100644 .github/workflows/actions/setup-base/action.yml create mode 100644 .github/workflows/build.yml delete mode 100644 .github/workflows/build_esp32_s3.yml delete mode 100644 .github/workflows/main_matrix.yml delete mode 100644 .github/workflows/nightly.yml delete mode 100644 variants/t-energy-s3_e22/platformio.ini delete mode 100644 variants/t-energy-s3_e22/variant.h diff --git a/.github/workflows/actions/setup-base/action.yml b/.github/workflows/actions/setup-base/action.yml deleted file mode 100644 index d5d9ffe..0000000 --- a/.github/workflows/actions/setup-base/action.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: "Setup Build Base Composite Action" -description: "Base build actions for Meshtastic Platform IO steps" - -runs: - using: "composite" - steps: - - name: Checkout meshtastic firmware - uses: actions/checkout@v4 - with: - repository: meshtastic/firmware - ref: master - submodules: recursive - - name: Checkout this repo to .custom - uses: actions/checkout@v4 - with: - path: .custom - - name: Move contents of .custom to root - run: rsync -av --exclude .git/ .custom/ . && rm -rf .custom - - run: ls -lah - - - name: Install dependencies - shell: bash - run: | - sudo apt-get -y update --fix-missing - sudo apt-get install -y cppcheck libbluetooth-dev libgpiod-dev libyaml-cpp-dev - - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: 3.x - - # - name: Cache python libs - # uses: actions/cache@v4 - # id: cache-pip # needed in if test - # with: - # path: ~/.cache/pip - # key: ${{ runner.os }}-pip - - - name: Upgrade python tools - shell: bash - run: | - python -m pip install --upgrade pip - pip install -U --no-build-isolation --no-cache-dir "setuptools<72" - pip install -U platformio adafruit-nrfutil --no-build-isolation - pip install -U poetry --no-build-isolation - pip install -U meshtastic --pre --no-build-isolation - - - name: Upgrade platformio - shell: bash - run: | - pio upgrade diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..593b4a7 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,88 @@ +name: CI +on: + # # Triggers the workflow on push but only for the master branch + push: + branches: [main, testing] + paths-ignore: + - "**.md" + - version.properties + + # Note: This is different from "pull_request". Need to specify ref when doing checkouts. + pull_request_target: + branches: [master, testing] + paths-ignore: + - "**.md" + #- "**.yml" + + workflow_dispatch: + +jobs: + build: + strategy: + fail-fast: false + matrix: + include: + - arch: esp32s3 + board: t-energy-s3_e22 + remove-debug-flags: >- + ./arch/esp32/esp32.ini + ./arch/esp32/esp32s2.ini + ./arch/esp32/esp32s3.ini + ./arch/esp32/esp32c3.ini + build-script-path: build-esp32.sh + ota-firmware-source: firmware-s3.bin + ota-firmware-target: release/bleota-s3.bin + artifact-paths: | + release/*.bin + release/*.elf + include-web-ui: true + + - arch: nrf52840 + board: xiao_ble + build-script-path: build-nrf52.sh + artifact-paths: | + release/*.hex + release/*.uf2 + release/*.elf + release/*.zip + + runs-on: ubuntu-latest + steps: + - name: Checkout meshtastic firmware + uses: actions/checkout@v4 + with: + repository: meshtastic/firmware + ref: master + submodules: recursive + + - id: checkout + uses: actions/checkout@v4 + name: Checkout this repo (custom changes) + with: + path: .custom + + - uses: actions/cache@v4 + with: + path: | + /pio_cache + key: pio-${{ matrix.arch }} + + - id: build + uses: vidplace7/build-meshtastic@main + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + arch: ${{ matrix.arch }} + board: ${{ matrix.board }} + build-script-path: ${{ matrix.build-script-path }} + remove-debug-flags: ${{ matrix.remove-debug-flags }} + ota-firmware-source: ${{ matrix.ota-firmware-source }} + ota-firmware-target: ${{ matrix.ota-firmware-target }} + include-web-ui: ${{ matrix.include-web-ui }} + + - name: Store binaries as an artifact + uses: actions/upload-artifact@v4 + with: + name: firmware-${{ matrix.arch }}-${{ matrix.board }}-${{ steps.build.outputs.version }} + overwrite: true + path: | + ${{ matrix.artifact-paths }} diff --git a/.github/workflows/build_esp32_s3.yml b/.github/workflows/build_esp32_s3.yml deleted file mode 100644 index d0cb4bd..0000000 --- a/.github/workflows/build_esp32_s3.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: Build ESP32-S3 - -on: - workflow_call: - inputs: - board: - required: true - type: string - -jobs: - build-esp32-s3: - runs-on: ubuntu-latest - steps: - - name: Checkout meshtastic firmware - uses: actions/checkout@v4 - with: - repository: meshtastic/firmware - ref: master - submodules: recursive - - name: Checkout this repo to .custom - uses: actions/checkout@v4 - with: - path: .custom - - name: Move contents of .custom to root - run: rsync -av --exclude .git/ .custom/ . && rm -rf .custom - - run: ls -lah - - - name: Build base - id: base - uses: ./.github/actions/setup-base - - run: ls -lah - - - name: Pull web ui - uses: dsaltares/fetch-gh-release-asset@master - with: - repo: meshtastic/web - file: build.tar - target: build.tar - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Unpack web ui - run: | - tar -xf build.tar -C data/static - rm build.tar - - name: Remove debug flags for release - if: ${{ github.event_name == 'workflow_dispatch' }} - run: | - sed -i '/DDEBUG_HEAP/d' ./arch/esp32/esp32.ini - sed -i '/DDEBUG_HEAP/d' ./arch/esp32/esp32s2.ini - sed -i '/DDEBUG_HEAP/d' ./arch/esp32/esp32s3.ini - sed -i '/DDEBUG_HEAP/d' ./arch/esp32/esp32c3.ini - - - name: Build ESP32 - run: bin/build-esp32.sh ${{ inputs.board }} - - - name: Pull OTA Firmware - uses: dsaltares/fetch-gh-release-asset@master - with: - repo: meshtastic/firmware-ota - file: firmware-s3.bin - target: release/bleota-s3.bin - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Get release version string - shell: bash - run: echo "version=$(./bin/buildinfo.py long)" >> $GITHUB_OUTPUT - id: version - - - name: Store binaries as an artifact - uses: actions/upload-artifact@v4 - with: - name: firmware-${{ inputs.board }}-${{ steps.version.outputs.version }}.zip - overwrite: true - path: | - release/*.bin - release/*.elf diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml deleted file mode 100644 index 608ade2..0000000 --- a/.github/workflows/main_matrix.yml +++ /dev/null @@ -1,411 +0,0 @@ -name: CI -on: - # # Triggers the workflow on push but only for the master branch - push: - branches: [main, testing] - paths-ignore: - - "**.md" - - version.properties - - # Note: This is different from "pull_request". Need to specify ref when doing checkouts. - pull_request_target: - branches: [main, testing] - paths-ignore: - - "**.md" - #- "**.yml" - - workflow_dispatch: - -jobs: - setup: - strategy: - fail-fast: false - matrix: - arch: - # - esp32 - - esp32s3 - # - esp32c3 - # - nrf52840 - # - rp2040 - # - stm32 - - check - runs-on: ubuntu-latest - steps: - - name: Checkout meshtastic firmware - uses: actions/checkout@v4 - with: - repository: meshtastic/firmware - ref: master - submodules: recursive - - name: Checkout this repo to .custom - uses: actions/checkout@v4 - with: - path: .custom - - name: Move contents of .custom to root - run: rsync -av --exclude .git/ .custom/ . && rm -rf .custom - - # - id: jsonStep - # run: | - # TARGETS=$(./bin/generate_ci_matrix.py ${{matrix.arch}}) - # echo "$TARGETS" - # echo "${{matrix.arch}}=$(jq -cn --argjson environments "$TARGETS" '{board: $environments}')" >> $GITHUB_OUTPUT - - # outputs: - # esp32: ${{ steps.jsonStep.outputs.esp32 }} - # esp32s3: ${{ steps.jsonStep.outputs.esp32s3 }} - # esp32c3: ${{ steps.jsonStep.outputs.esp32c3 }} - # nrf52840: ${{ steps.jsonStep.outputs.nrf52840 }} - # rp2040: ${{ steps.jsonStep.outputs.rp2040 }} - # stm32: ${{ steps.jsonStep.outputs.stm32 }} - # check: ${{ steps.jsonStep.outputs.check }} - - # Manually set the matrix for now - outputs: - esp32s3: "{board: ['t-energy-s3_e22']}" - check: "{board: ['t-energy-s3_e22']}" - - check: - needs: setup - strategy: - fail-fast: false - matrix: ${{ fromJson(needs.setup.outputs.check) }} - - runs-on: ubuntu-latest - steps: - - name: Checkout meshtastic firmware - uses: actions/checkout@v4 - with: - repository: meshtastic/firmware - ref: master - submodules: recursive - - name: Checkout this repo to .custom - uses: actions/checkout@v4 - with: - path: .custom - - name: Move contents of .custom to root - run: rsync -av --exclude .git/ .custom/ . && rm -rf .custom - - - name: Build base - id: base - uses: ./.github/actions/setup-base - - run: ls -lah - - name: Check ${{ matrix.board }} - run: bin/check-all.sh ${{ matrix.board }} - - # build-esp32: - # needs: setup - # strategy: - # fail-fast: false - # matrix: ${{ fromJson(needs.setup.outputs.esp32) }} - # uses: ./.github/workflows/build_esp32.yml - # with: - # board: ${{ matrix.board }} - - build-esp32-s3: - needs: setup - strategy: - fail-fast: false - matrix: ${{ fromJson(needs.setup.outputs.esp32s3) }} - uses: ./.github/workflows/build_esp32_s3.yml - with: - board: ${{ matrix.board }} - - # build-esp32-c3: - # needs: setup - # strategy: - # fail-fast: false - # matrix: ${{ fromJson(needs.setup.outputs.esp32c3) }} - # uses: ./.github/workflows/build_esp32_c3.yml - # with: - # board: ${{ matrix.board }} - - # build-nrf52: - # needs: setup - # strategy: - # fail-fast: false - # matrix: ${{ fromJson(needs.setup.outputs.nrf52840) }} - # uses: ./.github/workflows/build_nrf52.yml - # with: - # board: ${{ matrix.board }} - - # build-rpi2040: - # needs: setup - # strategy: - # fail-fast: false - # matrix: ${{ fromJson(needs.setup.outputs.rp2040) }} - # uses: ./.github/workflows/build_rpi2040.yml - # with: - # board: ${{ matrix.board }} - - # build-stm32: - # needs: setup - # strategy: - # fail-fast: false - # matrix: ${{ fromJson(needs.setup.outputs.stm32) }} - # uses: ./.github/workflows/build_stm32.yml - # with: - # board: ${{ matrix.board }} - - # package-raspbian: - # uses: ./.github/workflows/package_raspbian.yml - - # package-raspbian-armv7l: - # uses: ./.github/workflows/package_raspbian_armv7l.yml - - # package-native: - # uses: ./.github/workflows/package_amd64.yml - - after-checks: - runs-on: ubuntu-latest - needs: [check] - steps: - - name: Checkout meshtastic firmware - uses: actions/checkout@v4 - with: - repository: meshtastic/firmware - ref: master - submodules: recursive - - name: Checkout this repo to .custom - uses: actions/checkout@v4 - with: - path: .custom - - name: Move contents of .custom to root - run: rsync -av --exclude .git/ .custom/ . && rm -rf .custom - - - gather-artifacts: - permissions: - contents: write - pull-requests: write - runs-on: ubuntu-latest - needs: - # - build-esp32 - - build-esp32-s3 - # - build-esp32-c3 - # - build-nrf52 - # - build-rpi2040 - # - build-stm32 - # - package-raspbian - # - package-raspbian-armv7l - # - package-native - steps: - - name: Checkout meshtastic firmware - uses: actions/checkout@v4 - with: - repository: meshtastic/firmware - ref: master - submodules: recursive - - name: Checkout this repo to .custom - uses: actions/checkout@v4 - with: - path: .custom - - name: Move contents of .custom to root - run: rsync -av --exclude .git/ .custom/ . && rm -rf .custom - - - uses: actions/download-artifact@v4 - with: - path: ./ - merge-multiple: true - - - name: Display structure of downloaded files - run: ls -R - - - name: Get release version string - run: echo "version=$(./bin/buildinfo.py long)" >> $GITHUB_OUTPUT - id: version - - - name: Move files up - run: mv -b -t ./ ./release/meshtasticd_linux_* ./bin/config-dist.yaml ./bin/device-*.sh ./bin/device-*.bat - - - name: Repackage in single firmware zip - uses: actions/upload-artifact@v4 - with: - name: firmware-${{ steps.version.outputs.version }} - overwrite: true - path: | - ./firmware-*.bin - ./firmware-*.uf2 - ./firmware-*.hex - ./firmware-*-ota.zip - ./device-*.sh - ./device-*.bat - ./meshtasticd_linux_* - ./config-dist.yaml - ./littlefs-*.bin - ./bleota*bin - ./Meshtastic_nRF52_factory_erase*.uf2 - retention-days: 90 - - - uses: actions/download-artifact@v4 - with: - name: firmware-${{ steps.version.outputs.version }} - merge-multiple: true - path: ./output - - # For diagnostics - - name: Show artifacts - run: ls -lR - - - name: Device scripts permissions - run: | - chmod +x ./output/device-install.sh - chmod +x ./output/device-update.sh - - - name: Zip firmware - run: zip -j -9 -r ./firmware-${{ steps.version.outputs.version }}.zip ./output - - - name: Repackage in single elfs zip - uses: actions/upload-artifact@v4 - with: - name: debug-elfs-${{ steps.version.outputs.version }}.zip - overwrite: true - path: ./*.elf - retention-days: 30 - - - name: Create request artifacts - continue-on-error: true # FIXME: Why are we getting 502, but things still work? - if: ${{ github.event_name == 'pull_request_target' || github.event_name == 'pull_request' }} - uses: gavv/pull-request-artifacts@v2.1.0 - with: - commit: ${{ (github.event.pull_request_target || github.event.pull_request).head.sha }} - repo-token: ${{ secrets.GITHUB_TOKEN }} - artifacts-token: ${{ secrets.ARTIFACTS_TOKEN }} - artifacts-repo: meshtastic/artifacts - artifacts-branch: device - artifacts: ./firmware-${{ steps.version.outputs.version }}.zip - - release-artifacts: - runs-on: ubuntu-latest - if: ${{ github.event_name == 'workflow_dispatch' }} - needs: [gather-artifacts, after-checks] - steps: - - name: Checkout meshtastic firmware - uses: actions/checkout@v4 - with: - repository: meshtastic/firmware - ref: master - submodules: recursive - - name: Checkout this repo to .custom - uses: actions/checkout@v4 - with: - path: .custom - - name: Move contents of .custom to root - run: rsync -av --exclude .git/ .custom/ . && rm -rf .custom - - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: 3.x - - - name: Get release version string - run: echo "version=$(./bin/buildinfo.py long)" >> $GITHUB_OUTPUT - id: version - - - uses: actions/download-artifact@v4 - with: - name: firmware-${{ steps.version.outputs.version }} - merge-multiple: true - path: ./output - - # - uses: actions/download-artifact@v4 - # with: - # pattern: meshtasticd_${{ steps.version.outputs.version }}_*.deb - # merge-multiple: true - # path: ./output - - - name: Display structure of downloaded files - run: ls -R - - - name: Device scripts permissions - run: | - chmod +x ./output/device-install.sh - chmod +x ./output/device-update.sh - - - name: Zip firmware - run: zip -j -9 -r ./firmware-${{ steps.version.outputs.version }}.zip ./output -x meshtasticd_* - - - uses: actions/download-artifact@v4 - with: - name: debug-elfs-${{ steps.version.outputs.version }}.zip - merge-multiple: true - path: ./elfs - - - name: Zip Elfs - run: zip -j -9 -r ./debug-elfs-${{ steps.version.outputs.version }}.zip ./elfs - - # For diagnostics - - name: Show artifacts - run: ls -lR - - # - name: Create release - # uses: actions/create-release@v1 - # id: create_release - # with: - # draft: true - # prerelease: true - # release_name: Meshtastic Firmware ${{ steps.version.outputs.version }} Alpha - # tag_name: v${{ steps.version.outputs.version }} - # body: | - # Autogenerated by github action, developer should edit as required before publishing... - # env: - # GITHUB_TOKEN: ${{ github.token }} - - # - name: Add bins to release - # uses: actions/upload-release-asset@v1 - # env: - # GITHUB_TOKEN: ${{ github.token }} - # with: - # upload_url: ${{ steps.create_release.outputs.upload_url }} - # asset_path: ./firmware-${{ steps.version.outputs.version }}.zip - # asset_name: firmware-${{ steps.version.outputs.version }}.zip - # asset_content_type: application/zip - - # - name: Add debug elfs to release - # uses: actions/upload-release-asset@v1 - # env: - # GITHUB_TOKEN: ${{ github.token }} - # with: - # upload_url: ${{ steps.create_release.outputs.upload_url }} - # asset_path: ./debug-elfs-${{ steps.version.outputs.version }}.zip - # asset_name: debug-elfs-${{ steps.version.outputs.version }}.zip - # asset_content_type: application/zip - - # - name: Add raspbian aarch64 .deb - # uses: actions/upload-release-asset@v1 - # env: - # GITHUB_TOKEN: ${{ github.token }} - # with: - # upload_url: ${{ steps.create_release.outputs.upload_url }} - # asset_path: ./output/meshtasticd_${{ steps.version.outputs.version }}_arm64.deb - # asset_name: meshtasticd_${{ steps.version.outputs.version }}_arm64.deb - # asset_content_type: application/vnd.debian.binary-package - - # - name: Add raspbian armv7l .deb - # uses: actions/upload-release-asset@v1 - # env: - # GITHUB_TOKEN: ${{ github.token }} - # with: - # upload_url: ${{ steps.create_release.outputs.upload_url }} - # asset_path: ./output/meshtasticd_${{ steps.version.outputs.version }}_armhf.deb - # asset_name: meshtasticd_${{ steps.version.outputs.version }}_armhf.deb - # asset_content_type: application/vnd.debian.binary-package - - # - name: Add raspbian amd64 .deb - # uses: actions/upload-release-asset@v1 - # env: - # GITHUB_TOKEN: ${{ github.token }} - # with: - # upload_url: ${{ steps.create_release.outputs.upload_url }} - # asset_path: ./output/meshtasticd_${{ steps.version.outputs.version }}_amd64.deb - # asset_name: meshtasticd_${{ steps.version.outputs.version }}_amd64.deb - # asset_content_type: application/vnd.debian.binary-package - - # - name: Bump version.properties - # run: >- - # bin/bump_version.py - - # - name: Create version.properties pull request - # uses: peter-evans/create-pull-request@v6 - # with: - # add-paths: | - # version.properties diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml deleted file mode 100644 index 0628f97..0000000 --- a/.github/workflows/nightly.yml +++ /dev/null @@ -1,29 +0,0 @@ -# name: Nightly -# on: -# schedule: -# - cron: 0 8 * * 1-5 -# workflow_dispatch: {} - -# jobs: -# trunk_check: -# name: Trunk Check Upload -# runs-on: ubuntu-latest - -# steps: -# - name: Checkout meshtastic firmware -# uses: actions/checkout@v4 -# with: -# repository: meshtastic/firmware -# ref: master -# submodules: recursive -# - name: Checkout this repo to .custom -# uses: actions/checkout@v4 -# with: -# path: .custom -# - name: Move contents of .custom to root -# run: rsync -av --exclude .git/ .custom/ . && rm -rf .custom - -# # - name: Trunk Check -# # uses: trunk-io/trunk-action@782e83f803ca6e369f035d64c6ba2768174ba61b -# # with: -# # trunk-token: ${{ secrets.TRUNK_TOKEN }} diff --git a/variants/t-energy-s3_e22/platformio.ini b/variants/t-energy-s3_e22/platformio.ini deleted file mode 100644 index 4d16493..0000000 --- a/variants/t-energy-s3_e22/platformio.ini +++ /dev/null @@ -1,16 +0,0 @@ -; NanoVHF T-Energy-S3 + E22(0)-xxxM - DIY -[env:t-energy-s3_e22] -extends = esp32s3_base -board = esp32-s3-devkitc-1 -board_upload.flash_size = 16MB ;Specify the FLASH capacity as 16MB -board_build.arduino.memory_type = qio_opi ;Enable internal PSRAM -build_unflags = - ${esp32s3_base.build_unflags} - -D ARDUINO_USB_MODE=1 -build_flags = - ${esp32s3_base.build_flags} - -D EBYTE_ESP32_S3 - -D BOARD_HAS_PSRAM - -D ARDUINO_USB_MODE=0 - -D ARDUINO_USB_CDC_ON_BOOT=1 - -I variants/t-energy-s3_e22 diff --git a/variants/t-energy-s3_e22/variant.h b/variants/t-energy-s3_e22/variant.h deleted file mode 100644 index de9b1d1..0000000 --- a/variants/t-energy-s3_e22/variant.h +++ /dev/null @@ -1,46 +0,0 @@ -// NanoVHF T-Energy-S3 + E22(0)-xxxM - DIY -// https://github.com/NanoVHF/Meshtastic-DIY/tree/main/PCB/ESP-32-devkit_EBYTE-E22/Mesh-v1.06-TTGO-T18 - -// Battery -#define BATTERY_PIN 3 -#define ADC_MULTIPLIER 2.0 -#define ADC_CHANNEL ADC1_GPIO3_CHANNEL - -// Button on NanoVHF PCB -#define BUTTON_PIN 39 - -// I2C via connectors on NanoVHF PCB -#define I2C_SCL 2 -#define I2C_SDA 42 - -// Screen (disabled) -#define HAS_SCREEN 0 // Assume no screen present by default to prevent crash... - -// GPS via T-Energy-S3 onboard connector -#define HAS_GPS 1 -#define GPS_TX_PIN 43 -#define GPS_RX_PIN 44 - -// LoRa -#define USE_SX1262 // E22-900M30S, E22-900M22S, and E22-900MM22S (not E220!) use SX1262 -#define USE_SX1268 // E22-400M30S, E22-400M33S, E22-400M22S, and E22-400MM22S use SX1268 - -#define SX126X_MAX_POWER 22 // SX126xInterface.cpp defaults to 22 if not defined, but here we define it for good practice -#define SX126X_DIO3_TCXO_VOLTAGE 1.8 // E22 series TCXO reference voltage is 1.8V - -#define SX126X_CS 5 // EBYTE module's NSS pin // FIXME: rename to SX126X_SS -#define SX126X_SCK 6 // EBYTE module's SCK pin -#define SX126X_MOSI 13 // EBYTE module's MOSI pin -#define SX126X_MISO 4 // EBYTE module's MISO pin -#define SX126X_RESET 1 // EBYTE module's NRST pin -#define SX126X_BUSY 48 // EBYTE module's BUSY pin -#define SX126X_DIO1 47 // EBYTE module's DIO1 pin - -#define SX126X_TXEN 10 // Schematic connects EBYTE module's TXEN pin to MCU -#define SX126X_RXEN 12 // Schematic connects EBYTE module's RXEN pin to MCU - -#define LORA_CS SX126X_CS // Compatibility with variant file configuration structure -#define LORA_SCK SX126X_SCK // Compatibility with variant file configuration structure -#define LORA_MOSI SX126X_MOSI // Compatibility with variant file configuration structure -#define LORA_MISO SX126X_MISO // Compatibility with variant file configuration structure -#define LORA_DIO1 SX126X_DIO1 // Compatibility with variant file configuration structure