diff --git a/.github/workflows/githubci.yml b/.github/workflows/githubci.yml index ebeb216..73e5e8c 100644 --- a/.github/workflows/githubci.yml +++ b/.github/workflows/githubci.yml @@ -1,20 +1,55 @@ name: Build on: - push: pull_request: + push: + repository_dispatch: release: - types: [published] + types: + - created jobs: build: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + board: + # Adafruit Boards + - 'circuitplayground_nrf52840' + - 'clue_nrf52840' + - 'feather_nrf52832' + - 'feather_nrf52840_express' + - 'feather_nrf52840_sense' + - 'itsybitsy_nrf52840_express' + - 'metro_nrf52840_express' + # Alphabetical order + - 'ADM_B_NRF52840_1' + - 'ae_bl652_bo' + - 'aramcon_badge_2019' + - 'arcade_feather_nrf52840_express' + - 'arduino_nano_33_ble' + - 'bast_ble' + - 'bluemicro_nrf52840' + - 'electronut_labs_papyr' + - 'ikigaisense_vita' + - 'mdk_nrf52840_dongle' + - 'nice_nano' + - 'nrf52840_m2' + - 'ohs2020_badge' + - 'particle_argon' + - 'particle_boron' + - 'particle_xenon' + - 'pca10056' + - 'pca10059' + - 'pca10100' + - 'pitaya_go' + - 'raytac_mdbt50q_rx' + - 'waveshare_nrf52840_eval' + steps: - name: Setup Python uses: actions/setup-python@v2 - with: - # 3.9 has issue with intelhex https://github.com/python-intelhex/intelhex/issues/45 - python-version: '3.8' - name: Setup Node.js uses: actions/setup-node@v1 @@ -34,7 +69,7 @@ jobs: echo `echo $HOME/opt/xPacks/@xpack-dev-tools/arm-none-eabi-gcc/*/.content/bin` >> $GITHUB_PATH - name: Build - run: python3 tools/build_all.py + run: make BOARD=${{ matrix.board }} - name: Upload Release Asset if: github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested') diff --git a/src/usb/uf2/ghostfat.c b/src/usb/uf2/ghostfat.c index 0f50acb..21cd264 100644 --- a/src/usb/uf2/ghostfat.c +++ b/src/usb/uf2/ghostfat.c @@ -391,8 +391,8 @@ int write_block (uint32_t block_no, uint8_t *data, WriteState *state) switch ( bl->familyID ) { - case CFG_UF2_BOARD_APP_ID: // board-specific app ... may not be usable on other nrf52 boards - case CFG_UF2_FAMILY_APP_ID: // legacy, or where app uses bootloader configuration to discover pins + case CFG_UF2_BOARD_APP_ID: // board-specific app + case CFG_UF2_FAMILY_APP_ID: // family app /* Upgrading Application * * SoftDevice is considered as part of application and can be (or not) included in uf2. @@ -430,9 +430,7 @@ int write_block (uint32_t block_no, uint8_t *data, WriteState *state) /* Upgrading Bootloader * * - For simplicity, the Bootloader Start Address is fixed for now. - * * - Since SoftDevice is not part of Bootloader, it MUST NOT be included as part of uf2 file. - * * - To prevent corruption/disconnection while transferring we don't directly write over Bootloader. * Instead it is written to highest possible address in Application region. Once everything is received * and verified, it is safely activated using MBR COPY BL command. @@ -516,7 +514,7 @@ int write_block (uint32_t block_no, uint8_t *data, WriteState *state) } else { - PRINTF("DOES NOT mismatches our VID/PID\r\n"); + PRINTF("DOES NOT match our VID/PID\r\n"); state->aborted = true; return -1; }