mirror of
https://github.com/esphome/esphome.git
synced 2025-02-15 17:38:15 +00:00
48 lines
1.2 KiB
Plaintext
48 lines
1.2 KiB
Plaintext
"""
|
|
Custom pioasm compiler script for platformio.
|
|
(c) 2022 by P.Z.
|
|
|
|
Sourced 2023/06/23 from https://gist.github.com/hexeguitar/f4533bc697c956ac1245b6843e2ef438
|
|
|
|
Modified by jesserockz 2023/06/23
|
|
"""
|
|
|
|
from os.path import join
|
|
import glob
|
|
import sys
|
|
|
|
import subprocess
|
|
|
|
# pylint: disable=E0602
|
|
Import("env") # noqa
|
|
|
|
from SCons.Script import ARGUMENTS
|
|
|
|
|
|
platform = env.PioPlatform()
|
|
PROJ_SRC = env["PROJECT_SRC_DIR"]
|
|
PIO_FILES = glob.glob(join(PROJ_SRC, "**", "*.pio"), recursive=True)
|
|
|
|
verbose = bool(int(ARGUMENTS.get("PIOVERBOSE", "0")))
|
|
|
|
|
|
if PIO_FILES:
|
|
if verbose:
|
|
print("==============================================")
|
|
print("PIO ASSEMBLY COMPILER")
|
|
try:
|
|
PIOASM_DIR = platform.get_package_dir("tool-pioasm-rp2040-earlephilhower")
|
|
except:
|
|
print("tool-pioasm-rp2040-earlephilhower not supported on your system!")
|
|
sys.exit()
|
|
|
|
PIOASM_EXE = join(PIOASM_DIR, "pioasm")
|
|
if verbose:
|
|
print("PIO files found:")
|
|
for filename in PIO_FILES:
|
|
if verbose:
|
|
print(f" {filename}")
|
|
subprocess.run([PIOASM_EXE, "-o", "c-sdk", filename, f"{filename}.h"])
|
|
if verbose:
|
|
print("==============================================")
|