platform-atmelavr icon indicating copy to clipboard operation
platform-atmelavr copied to clipboard

upload_protocol inconsistency in behaviour depending on board

Open pfeerick opened this issue 5 years ago • 1 comments

Depending on what board you use, it seems platformio's logic expects upload_port to be set, and be a port it can access (on linux, at least).

i.e. With the following, the uno env will insist on upload_port being set, but the attiny85 env won't. If upload_port = custom is set for the uno, it will fail with ** [upload] could not open port custom: [Errno 2] No such file or directory: 'custom' but the attiny85 env will ignore it completely.

[env:uno]
platform = atmelavr
board = uno
framework = arduino
upload_protocol = stk500v2
upload_flags = -Pusb
;upload_port = custom

[env:attiny85]
platform = atmelavr
board = attiny85
framework = arduino
upload_protocol = stk500v2
upload_flags = -Pusb

pfeerick avatar Nov 12 '19 01:11 pfeerick

I knew that attiny84 works fine, while attiny2313 had the problem, so I checked what the difference:

diff -u ~/.platformio/platforms/atmelavr/boards/{attiny84,attiny2313}.json

This showed a bunch of changes, but one was most promising: + "require_upload_port": true

And indeed, I've added this to my platformio.ini and things now work:

board_upload.require_upload_port = False

Agree that board definition could be fixed, but this workaround is pretty simple

theamk avatar Jan 06 '23 03:01 theamk