1234567891011121314151617181920212223242526272829303132333435 |
- #
- # jgaurora_a5s_a1_with_bootloader.py
- # Customizations for env:jgaurora_a5s_a1
- #
- import pioutil
- if pioutil.is_pio_build():
-
- # Append ${PROGNAME}.bin firmware after bootloader and save it as 'jgaurora_firmware.bin'
- def addboot(source, target, env):
- from pathlib import Path
-
- fw_path = Path(target[0].path)
- fwb_path = fw_path.parent / 'firmware_with_bootloader.bin'
- with fwb_path.open("wb") as fwb_file:
- bl_path = Path("buildroot/share/PlatformIO/scripts/jgaurora_bootloader.bin")
- bl_file = bl_path.open("rb")
- while True:
- b = bl_file.read(1)
- if b == b'': break
- else: fwb_file.write(b)
-
- with fw_path.open("rb") as fw_file:
- while True:
- b = fw_file.read(1)
- if b == b'': break
- else: fwb_file.write(b)
-
- fws_path = Path(target[0].dir.path, 'firmware_for_sd_upload.bin')
- if fws_path.exists():
- fws_path.unlink()
-
- fw_path.rename(fws_path)
-
- import marlin
- marlin.add_post_action(addboot);
|