X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/7f28171d985c44f5b0a686db54edb80bb7921410..c17ce9555550b8d7a3d052a2382c5077a3fd7e14:/test/scripts/upload_feather_huzzah_circuitpython_put.sh diff --git a/test/scripts/upload_feather_huzzah_circuitpython_put.sh b/test/scripts/upload_feather_huzzah_circuitpython_put.sh index 51134c5..3f6f74c 100755 --- a/test/scripts/upload_feather_huzzah_circuitpython_put.sh +++ b/test/scripts/upload_feather_huzzah_circuitpython_put.sh @@ -1,54 +1,54 @@ #!/bin/sh +# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries +# +# SPDX-License-Identifier: MIT PORT=/dev/ttyUSB0 -# create only relevant directories on the board +export MPYCROSS=`realpath ../../../circuitpython_2.2.3/mpy-cross/mpy-cross` + +# switch to test sources +cd ../src +# create test source directories on board find testing -type d | \ - grep -v -E "(^./.git|^./.idea|^./.vscode|__pycache__)" | \ - grep -v -E '^testing/implementation/micropython*' | \ + grep -v -E "(^./.git.*|^./.idea|^./.vscode|__pycache__)" | \ xargs -n1 -I {} sh -c "echo Creating directory {} ...; ampy --port ${PORT} mkdir --exists-okay {}" - -# put top-level .py modules in place -for NAME in agnostic +# compile source .py files to .mpy +find . -type f -name '*.py' | \ + xargs -n1 -I {} sh -c "echo compiling {} ...; ${MPYCROSS} {}" +# upload bytecode .mpy files +find . -type f -name '*.mpy' | \ + xargs -n1 -I {} sh -c "echo uploading {} ...; ampy --port ${PORT} put {} {}" + +#switch to test libraries +cd ../libraries/ + +# Compile adafruit libraries to bytecode and upload +for SUBMODULE in `find . -mindepth 1 -maxdepth 1 -type d ` do - echo "Copying ${NAME}.py ..." - ampy --port ${PORT} put ${NAME}.py ${NAME}.py + cd ${SUBMODULE} + # create adafruit library directories on board + find . -mindepth 1 -type d | \ + grep -v -E "(^./.git.*|__pycache__|^./doc.*|^./example.*)" | \ + xargs -n1 -I {} sh -c "echo Creating directory {} ...; ampy --port ${PORT} mkdir --exists-okay {}" + # compile adafruit library .py files to .mpy + find . -type f -name '*.py' | \ + grep -v -E "(^./conf.py|^./docs/conf.py|^./setup.py|^./example.*)" | \ + xargs -n1 -I {} sh -c "echo compiling {} ...; ${MPYCROSS} {}" + # upload adafruit library .mpy files + find . -type f -name '*.mpy' | \ + xargs -n1 -I {} sh -c "echo uploading {} ...; ampy --port ${PORT} put {} {}" + cd ../ done -# put top-level .mpy modules in place -for NAME in unittest -do - echo "Copying ${NAME}.mpy ..." - ampy --port ${PORT} put ${NAME}.mpy ${NAME}.mpy -done - -# recursively sync module folders excluding packages -# already provided by circuitpython, and excluding -# testing packages targeting micropython -for NAME in testing -do - find ${NAME} -name '*.py'| \ - grep -v -E '^testing/implementation/micropython*' | \ - grep -v -E '^testing/adafruit_blinka.py' | \ - xargs -n1 -I {} sh -c "echo Copying {} ...; ampy --port ${PORT} put {} {}" -done - -cd ../../ - - - -# I2C dependencies -echo "Copying module adafruit_bus_device..." -cd Adafruit_CircuitPython_BusDevice # change into different repo -ampy --port ${PORT} mkdir --exists-okay adafruit_bus_device -ampy --port ${PORT} put adafruit_bus_device/__init__.py adafruit_bus_device/__init__.py -ampy --port ${PORT} put adafruit_bus_device/i2c_device.py adafruit_bus_device/i2c_device.py -cd ../ - -# Compile BME280 to bytecode -./circuitpython_2.2.3/mpy-cross/mpy-cross Adafruit_CircuitPython_BME280/adafruit_bme280.py - -# BME280 dependencies -echo "Copying module adafruit_bme..." -cd Adafruit_CircuitPython_BME280 # change into different repo -ampy --port ${PORT} put adafruit_bme280.mpy adafruit_bme280.mpy -cd ../ +# switch to adafruit_blinka source +cd ../../src + +# create adafruit_blinka agnostic package for cross-platform logic +ampy --port $PORT mkdir --exists-okay adafruit_blinka +ampy --port $PORT mkdir --exists-okay adafruit_blinka/agnostic +# upload agnostic.mpy for platform detection +$MPYCROSS adafruit_blinka/agnostic/__init__.py +ampy --port $PORT put adafruit_blinka/agnostic/__init__.mpy adafruit_blinka/agnostic/__init__.mpy +# upload time.mpy for time logic +$MPYCROSS adafruit_blinka/agnostic/time.py +ampy --port $PORT put adafruit_blinka/agnostic/time.mpy adafruit_blinka/agnostic/time.mpy