mirror of
https://github.com/Architeuthis-Flux/Jumperless.git
synced 2024-12-22 04:05:52 +01:00
39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
|
Import("env")
|
||
|
|
||
|
|
||
|
def find_jumperless_port_upload(source, target, env):
|
||
|
import serial
|
||
|
import serial.tools.list_ports
|
||
|
|
||
|
autodetected = -1
|
||
|
ports = serial.tools.list_ports.comports()
|
||
|
i = 0
|
||
|
foundports = []
|
||
|
for port, desc, hwid in ports:
|
||
|
|
||
|
print("{}: {} [{}]".format(i, port, desc))
|
||
|
|
||
|
if desc == "Jumperless":
|
||
|
autodetected = i
|
||
|
#print("Autodetected jumperless port: " + ports[autodetected][0]+ ' ' + ports[autodetected][1])
|
||
|
foundports.append(ports[autodetected][0])
|
||
|
#break
|
||
|
i = i + 1
|
||
|
|
||
|
if autodetected != -1:
|
||
|
|
||
|
|
||
|
#(env, "monitor_port", ports[selection][0])
|
||
|
# ConfigEnvOption(env, "upload_port", ports[selection][0])
|
||
|
#print(foundports[0] + ' ' + foundports[1])
|
||
|
|
||
|
sortedports = sorted(foundports,key = lambda x:x[-1])
|
||
|
print(sortedports)
|
||
|
selection = autodetected
|
||
|
# env.Replace(MONITOR_PORT=ports[selection][0])
|
||
|
env.Replace(UPLOAD_PORT=sortedports[0])
|
||
|
print("Autodetected jumperless port: " + sortedports[0])
|
||
|
|
||
|
|
||
|
|
||
|
env.AddPreAction("upload", find_jumperless_port_upload)
|