Bonjour,
Alors, je vous préviens je ne sais pas si c'est un problème de hardware ou de soft ...
J'ai un projet impliquant 60 (oui, vous avez bien lu) Adafruit ItsyBitsy M4 : https://www.adafruit.com/product/3800
Comme je suis un flemmard et que je ne veux pas uploader les codes un par un à chaque fois, j'ai acheté quatre hubs USB 16 ports. Il semble que Windows ne soit pas capable de détecter tous les ItsyBitsy si je branche 2 hubs à l'avant du PC et 2 à l'arrière...
Donc, j'ai rajouté 2 cartes d'extension USB PCIe à l'arrière du PC. Bon, Windows est capable de tous les détecter avec un contrôleur USB par hub !
Mais... Lorsque j'essaie de les "réinitialiser" en établissant une communication serial avec un baudrate de 1200 (sur ces microcontrôleurs, le bootloader est tel que ça les met dans un état où il peuvent recevoir le code) avec un petit code python :
Code:for COM in self.COMs: ser = serial.Serial(port=COM, baudrate=1200) ser.close() del ser
Cela fonctionne parfaitement pour les hubs branchés sur les contrôleurs USB intégrés au PC, mais pour ceux sur les cartes d'extension... ça ralentit, ralentit, jusqu'à ce que ça s'arrête complètement. Si je note le port COM où ça échoue et que j'essaie d'uploader un code avec l'IDE Arduino, ça foire aussi.
Encore plus bizarre :
- Le port COM défaillant est différent à chaque fois.
- Quel que soit le hub, si je le branche sur un contrôleur USB intégré, il fonctionne.
- J'ai essayé avec arduino-cli, même résultat.
- J'ai essayé avec un autre modèle de carte d'extension, pareil...
Les specs du PC :
- 2 intel xeon gold
- 192Go de RAM
- RTX4000
- windows 10
Je suspecte la présence des deux sockets de faire la merde (déjà que la moitié des ports PCI ne marchent pas)...
Ah, oui, aussi, le port COM des microcontrôleurs est variable selon s'il exécute un code ou s'il est en attente .
-----