Lab_interaccio/2023/smartcitizen-kit-21/sam/uploadSAM.py

51 lines
1.7 KiB
Python
Raw Normal View History

2025-02-25 21:29:42 +01:00
Import("env")
import serial, time, os, subprocess
# def create_UF2(source, target, env):
# # create UF2 file
# createUF2 = subprocess.Popen(["uf2conv.py", "-o", ".pioenvs/sck2/firmware.uf2", ".pioenvs/sck2/firmware.bin"])
# createUF2.wait()
# print "Created UF2 firmware file"
# env.AddPostAction("$BUILD_DIR/firmware.bin", create_UF2)
#
# Upload actions
#
# def after_upload(source, target, env):
# time.sleep(1)
# print "Setting default config..."
# myPort = serial.Serial("/dev/" + env.get("UPLOAD_PORT"))
# myPort.write("\r\nconfig -defaults\r\n")
print("Current build targets", map(str, BUILD_TARGETS))
# env.AddPreAction("upload", before_upload)
# env.AddPostAction("upload", after_upload)
#
# Custom actions when building program/firmware
#
def before_build():
if not os.path.isdir(".platformio/packages/framework-arduino-samd/variants/sck2"):
checkout = subprocess.Popen(["git", "checkout", ".platformio/packages/framework-arduino-samd/variants/sck2"])
checkout.wait()
checkout = subprocess.Popen(["git", "checkout", ".platformio/packages/framework-arduino-samd/libraries/I2S/src/utility/SAMD21_I2SDevice.h"])
checkout.wait()
before_build()
# env.AddPreAction("buildprog", before_build)
# env.AddPostAction("buildprog", callback...)
# #
# # Custom actions for specific files/objects
# #
# env.AddPreAction("$BUILD_DIR/firmware.elf", before_build)
# env.AddPostAction("$BUILD_DIR/firmware.hex", callback...)
# # custom action before building SPIFFS image. For example, compress HTML, etc.
# env.AddPreAction("$BUILD_DIR/spiffs.bin", callback...)
# # custom action for project's main.cpp
# env.AddPostAction("$BUILD_DIR/src/main.cpp.o", callback...)