not sure you can do this today but would be really nice if I could specify more than one COM port so it compiles and uploads to more than 1 device … currently I need to do it one at a time and even worse it does a full re-compile when I just need to change the COM port
For multiple devices, it might be simpler to use global and local scope env blocks so you can have an env for each port (note that you need to be running at least PIO v4.0 for this option):
i.e.
[env]
platform = atmelavr
framework = arduino
board = uno
[env:COM1]
upload_port = COM1
[env:COM2]
upload_port = COM2
Or if you want to be more explicit or need more control, use the extends
parameter (note that you need the just released PIO v4.1 for this option):
[env:uno]
platform = atmelavr
framework = arduino
board = uno
[env:micro]
platform = atmelavr
framework = arduino
board = micro
[env:uno-COM1]
extends=env:uno
upload_port = COM1
[env:micro-COM2]
extends=env:micro
upload_port = COM2
Alternately, advanced scripting is the other option - you can see from this issue comment how someone approached multiple simultaneous OTA uploading using the advanced scripting functionality of PIO.
1 Like