mirror of
https://github.com/bdring/Grbl_Esp32.git
synced 2025-09-05 12:02:50 +02:00
The new Spindle Class is a much better solution to the problem that add-on's were intended to address.
30 lines
1.0 KiB
Python
Executable File
30 lines
1.0 KiB
Python
Executable File
# This script is imported by build-machine.py and build-all.py
|
|
# It performs a platformio build with a given machine file.
|
|
# The verbose argument controls whether the full output is
|
|
# displayed, or filtered to show only summary information.
|
|
# extraArgs can be used to perform uploading after compilation.
|
|
|
|
from __future__ import print_function
|
|
import subprocess, os
|
|
|
|
env = dict(os.environ)
|
|
|
|
def buildMachine(baseName, verbose=True, extraArgs=None):
|
|
cmd = ['platformio','run']
|
|
if extraArgs:
|
|
cmd.append(extraArgs)
|
|
displayName = baseName
|
|
flags = '-DMACHINE_FILENAME=' + baseName
|
|
print('Building machine ' + displayName)
|
|
env['PLATFORMIO_BUILD_FLAGS'] = flags
|
|
if verbose:
|
|
app = subprocess.Popen(cmd, env=env)
|
|
else:
|
|
app = subprocess.Popen(cmd, env=env, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, bufsize=1)
|
|
for line in app.stdout:
|
|
if "Took" in line or 'Uploading' in line or "error" in line.lower():
|
|
print(line, end='')
|
|
app.wait()
|
|
print()
|
|
return app.returncode
|