noopkat / avrgirl-arduino

:girl: :pager: A NodeJS library for flashing compiled sketch files to Arduino microcontroller boards.
MIT License
506 stars 129 forks source link

feature: filter by vendor id #161

Open noopkat opened 6 years ago

noopkat commented 6 years ago

Issue Template

Description

We ran into a product id collision recently. This means that some boards might be mistaken for others as a result. Given that we already store vendor id's for every board, we should start using them when 'sniffing' ports to autolocate plugged in boards.

Expected behaviour

All boards should be able to have unique 'footprints' based on product id

Actual behaviour

Boards so not actually have to have unique product ids, so some collisions can occur and did occur.

Operating system and version

All

Avrgirl Arduino version

2.2.10

Arduino Board being used

Uno, which had a collision with a Adafruit Feather Huzzah 8266 board.

Step by step guide to reproducing the issue

Have both Uno and Adafruit Feather Huzzah 8266 boards plugged in with the same product id, and a collision may occur where the autolocator chooses the first result it finds which could be the Adafruit Feather Huzzah 8266 (wrong choice).

nandub commented 5 years ago

@noopkat I just noticed this issue. About this "Given that we already store vendor id's for every board" on the description I think you meant to say productId. Currently avrgirl-arduino uses productId only, but we should be able to fix that by implementing #162, which is a WIP, we also need code to lookup by vendorId since I'm not familiar with the code I'm not sure where to start to add that.