2022年7月11日月曜日

3Dプリンタ vscodeがArduinoのUSB COMを自動判別できないトラブル(Platformio、HWID)

3Dプリンタを作ろう!

Marlinのビルドをするvscodeが不調になりました.もしかしたら不調なのはPlatformIOなのかもしれません.2か月ぶりぐらいでvscodeを起動したらupdateされて、warningがパラパラと出るようになりました.とりわけCOM経由でArduinoを焼けなくなったので困っています.

こんなエラーです.
TimeoutError: Could not automatically find serial port for the `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560)` board based on the declared HWIDs=[['0x2341', '0x0042']]
Arduino基板に載っているUSB COMを見つけられないトラブルです.
VID/PID=2341/0042で探しても居ないんですけどと言ってるみたいよ.

ArduinoのUSB COMをwindowsから見るとこうなっています.番号が違う.こりゃだめ.

['0x2341', '0x0042']は何処で宣言しているのか?
そこを修正して1A86/7523にしてしまえばいい.

vscodeで「2341」を検索すると2ファイルが引っ掛かりました.
 archim.json
 UHS_USB_IDs.h
archim.jsonをこのようにいじってみましたがダメでした.
 "hwids": [
 [
  "0x1A86", 
  "0x7523"
 ],

逆に「1A86]「7523」で検索すると、存在はするのでこっちにリンクしてくれれば無問題なのですが、リンクしてないみたいです.Linuxのudevに関係するファイルのようですので、windowsには無関係なのでしょう.
# QinHeng Electronics HL-340 USB-Serial adapter
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523"

詰みました.

ここの情報を見て、とりあえずの解決策は見つかりました.
ファイル:platformio.init
 [env:mega2560]
 platform = atmelavr
 extends = common_avr8
 board = megaatmega2560
 lib_deps = olikraus/U8glib@^1.19.1
 upload_port = COM7 ←これ追加
しかしCOM番号決め打ちなので使いずらいです.

PlatformioにHWIDという機能が追加されたのが原因のようです.
Platformioをdowngradeすればよいでしょうが、やり方しらねー

かしこ


【おしらせ】
当ブログで書き散らかした3DPの投稿をまとめたノウハウ集を作りました.ダウンロード販売しています.¥660です.
pdfをダウンロードしていただけます.全36ページ.

3DP印刷部品のstlファイルを無料ダウンロードできます.
Marlinのvscode project folder詰め合わせも無料ダウンロードできます.

まずは無料立ち読み版をご覧になってはいかがでしょうか.(pdf)

よろしくでーす.

0 件のコメント:

コメントを投稿