diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 118135850e..32c949a3a8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -273,13 +273,3 @@ jobs: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested')) - - name: Install upload deps - run: | - pip install uritemplate - - name: Upload to Release - run: "[ -z \"$ADABOT_GITHUB_ACCESS_TOKEN\" ] || python3 -u upload_release_files.py" - working-directory: tools - env: - UPLOAD_URL: ${{ github.event.release.upload_url }} - ADABOT_GITHUB_ACCESS_TOKEN: ${{ secrets.BLINKA_GITHUB_ACCESS_TOKEN }} - if: github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested') diff --git a/.gitmodules b/.gitmodules index 88d46f69df..74ba714b2c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -114,3 +114,9 @@ [submodule "frozen/Adafruit_CircuitPython_Register"] path = frozen/Adafruit_CircuitPython_Register url = https://github.com/adafruit/Adafruit_CircuitPython_Register.git +[submodule "frozen/Adafruit_CircuitPython_ESP32SPI"] + path = frozen/Adafruit_CircuitPython_ESP32SPI + url = https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI +[submodule "frozen/Adafruit_CircuitPython_Requests"] + path = frozen/Adafruit_CircuitPython_Requests + url = https://github.com/adafruit/Adafruit_CircuitPython_Requests diff --git a/frozen/Adafruit_CircuitPython_ESP32SPI b/frozen/Adafruit_CircuitPython_ESP32SPI new file mode 160000 index 0000000000..f523b2316b --- /dev/null +++ b/frozen/Adafruit_CircuitPython_ESP32SPI @@ -0,0 +1 @@ +Subproject commit f523b2316bc3e25220b88c5435868c6a5880dfab diff --git a/frozen/Adafruit_CircuitPython_Requests b/frozen/Adafruit_CircuitPython_Requests new file mode 160000 index 0000000000..e8a759719e --- /dev/null +++ b/frozen/Adafruit_CircuitPython_Requests @@ -0,0 +1 @@ +Subproject commit e8a759719e94c69a01f9e07d418ca6db39114db3 diff --git a/ports/mimxrt10xx/boards/feather_m7_1011/mpconfigboard.mk b/ports/mimxrt10xx/boards/feather_m7_1011/mpconfigboard.mk index 670b48b602..fbaf5d399d 100644 --- a/ports/mimxrt10xx/boards/feather_m7_1011/mpconfigboard.mk +++ b/ports/mimxrt10xx/boards/feather_m7_1011/mpconfigboard.mk @@ -6,3 +6,7 @@ USB_MANUFACTURER = "Adafruit" CHIP_VARIANT = MIMXRT1011DAE5A CHIP_FAMILY = MIMXRT1011 FLASH = W25Q32JV + +# Include these Python libraries in the firmware +FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_ESP32SPI +FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests diff --git a/ports/mimxrt10xx/boards/feather_mimxrt1011/mpconfigboard.mk b/ports/mimxrt10xx/boards/feather_mimxrt1011/mpconfigboard.mk index 08164b140d..60eed8a80d 100644 --- a/ports/mimxrt10xx/boards/feather_mimxrt1011/mpconfigboard.mk +++ b/ports/mimxrt10xx/boards/feather_mimxrt1011/mpconfigboard.mk @@ -6,3 +6,7 @@ USB_MANUFACTURER = "arturo182" CHIP_VARIANT = MIMXRT1011DAE5A CHIP_FAMILY = MIMXRT1011 FLASH = W25Q64JV + +# Include these Python libraries in the firmware +FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_ESP32SPI +FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests diff --git a/ports/mimxrt10xx/common-hal/busio/I2C.c b/ports/mimxrt10xx/common-hal/busio/I2C.c index 2de996f9a0..0bb7dcc6c6 100644 --- a/ports/mimxrt10xx/common-hal/busio/I2C.c +++ b/ports/mimxrt10xx/common-hal/busio/I2C.c @@ -34,10 +34,8 @@ #include "fsl_lpi2c.h" -//TODO +#define I2C_CLOCK_FREQ (CLOCK_GetFreq(kCLOCK_Usb1PllClk) / 8 / (1+CLOCK_GetDiv(kCLOCK_Lpi2cDiv))) -#define I2C_CLOCK_SOURCE_DIVIDER (5U) -#define I2C_CLOCK_FREQ (CLOCK_GetFreq(kCLOCK_Usb1PllClk) / 8 / (I2C_CLOCK_SOURCE_DIVIDER + 1U)) static void config_periph_pin(const mcu_periph_obj_t *periph) { IOMUXC_SetPinMux( diff --git a/tools/build_board_info.py b/tools/build_board_info.py index 1f074dddfc..3c8f44f740 100644 --- a/tools/build_board_info.py +++ b/tools/build_board_info.py @@ -21,6 +21,10 @@ HEX = ('hex',) HEX_UF2 = ('hex', 'uf2') SPK = ('spk',) +# Example: +# https://downloads.circuitpython.org/bin/trinket_m0/en_US/adafruit-circuitpython-trinket_m0-en_US-5.0.0-rc.0.uf2 +DOWNLOAD_BASE_URL = "https://downloads.circuitpython.org/bin" + # Default extensions extension_by_port = { "nrf": UF2, @@ -33,8 +37,10 @@ extension_by_port = { # Per board overrides extension_by_board = { # samd - "arduino_mkr1300": BIN, - "arduino_zero": BIN, + "arduino_mkr1300": BIN_UF2, + "arduino_mkrzero": BIN_UF2, + "arduino_nano_33_iot": BIN_UF2, + "arduino_zero": BIN_UF2, "feather_m0_adalogger": BIN_UF2, "feather_m0_basic": BIN_UF2, "feather_m0_rfm69": BIN_UF2, @@ -275,7 +281,14 @@ def generate_download_info(): files = [] new_version["files"][language] = files for extension in board_info["extensions"]: - files.append("https://github.com/adafruit/circuitpython/releases/download/{tag}/adafruit-circuitpython-{alias}-{language}-{tag}.{extension}".format(tag=new_tag, alias=alias, language=language, extension=extension)) + files.append( + "{base_url}/{alias}/{language}/adafruit-circuitpython-{alias}-{language}-{tag}.{extension}" + .format( + base_url=DOWNLOAD_BASE_URL, + tag=new_tag, + alias=alias, + language=language, + extension=extension)) current_info[alias]["downloads"] = alias_info["download_count"] current_info[alias]["versions"].append(new_version) diff --git a/tools/upload_release_files.py b/tools/upload_release_files.py deleted file mode 100755 index 4f193a8bec..0000000000 --- a/tools/upload_release_files.py +++ /dev/null @@ -1,35 +0,0 @@ -#! /usr/bin/env python3 - -import os -import os.path -import sys -import uritemplate - -sys.path.append("adabot") -import adabot.github_requests as github - -exit_status = 0 - -for dirpath, dirnames, filenames in os.walk("../bin"): - if not filenames: - continue - for filename in filenames: - full_filename = os.path.join(dirpath, filename) - label = filename.replace("adafruit-circuitpython-", "") - url_vars = {} - url_vars["name"] = filename - url_vars["label"] = label - url = uritemplate.expand(os.environ["UPLOAD_URL"], url_vars) - headers = {"content-type": "application/octet-stream"} - print(url) - with open(full_filename, "rb") as f: - response = github.post(url, data=f, headers=headers) - if not response.ok: - if response.status_code == 422 and response.json().get("errors", [{"code":""}])[0]["code"] == "already_exists": - print("File already uploaded. Skipping.") - continue - print("Upload of {} failed with {}.".format(filename, response.status_code)) - print(response.text) - sys.exit(response.status_code) - -sys.exit(exit_status)