mocoファームウェアに書き換えて
PCに接続すると、デバイスマネージャーの[サウンド、ビデオ・・・]カテゴリに[MocoLUFA]と表示される。
この表示名を変更するには、ファームウェアの再コンパイルが必要。
用意するもの------------------------
ソース
LUFA-100807.zip
mocolufa-master.zip
ツール
Git-2.12.0-64-bit.exe
WinAVR-20100110-install.exe
mingw-w64-install.exe(202002使用せず)
mingw-get-setup.exe(202002使用せず)
インストール-----------------------
Git
・Select Components [NEXT]
・Select Start Menu Folder [NEXT]
・Adjisting your PATH enviroment [USE Git from Git Bash only] に変更
・Configuring the line ending conversions
[Checkout as-is, commit Unix-style line endingsに変更
・Configuring the terminal to use with GitBash [NEXT]
・Configureing extra options
[Enable Git Credential Manager]をチェックはずす
WinAVR
・Choose Components[Install Files]のみ
msys-1.0.dllを、WinAVRの utils\bin に置く
※置かないと makeしたときに avr-gccが 0xc0000142エラーを吐く
ソースファイルフォルダの位置関係------------------------------------
hoge +----[LUFA-100807]
|
+----[moco(hoge)]-[mocolufa-master(ここにmocoのソース]
のようにおく
windowsのエクスプローラで、[mocolufa-master]フォルダを右クリック
[Git bush here]で、コマンドプロンプト(MINGW64)がひらく
そのGit bushコマンドプロンプトウィンドウで
export PATH=/c/WinAVR-20100110/utils/bin:/c/WinAVR-20100110/avr/bin:/c/WinAVR-20100110/bin
(ツールへのパスを通す。これは、WinAVRがインストールされたパス)
※このウィンドウは、下のmakeで使うので開いたままにしておく。
ソースの変更----------------------------------------
[mocolufa-master]にある Descriptors.cの450行目あたり
----------------------------------------------------------------------------------
USB_Descriptor_String_t PROGMEM ProductStringMIDI =
{
.Header = {.Size = USB_STRING_LEN(14), .Type = DTYPE_String},
.UnicodeString = L"CMP-Midi Fader"
----------------------------------------------------------------------------------
・USB_STRING_LEN(14)の数字を、書き換えたい文字列の文字数にする
・CMP-Midi Faderなどのように””内を変更
保存したら、上記で開いたコマンドプロンプトウィンドウで、
make
([mocolufa-master]フォルダにある makefileにしたがってコンパイルが実行される)
make clean お掃除
(コンパイルで作成された、中間ファイル・出力ファイルの削除)
(コンパイルで作成された、中間ファイル・出力ファイルの削除)
[mocolufa-master]フォルダに、dualmoco.hexができれば成功
エラーはでるかもしれないが、OKだった
複数つないだときはまだためしていない 成功
複数つないだとき
Descriptors.cを書き換えhexファイルを生成しましたが、デバイス名がMocoLUFAから変わりません。
返信削除何か原因などわかりますでしょうか?
こんにちわ。
返信削除1.Arduinoを一旦PCからはずして、
(5秒くらい待ってデバイスマネージャーから消えてから)
2.再度接続して
3.デバイスマネージャーで、[元の名前」で表示されている状態で
4.そいつを、削除して
5.再度、PCからはずして、
6.また、接続
PCの再起動は必要ありません。
だめなら、上記を、繰り返し。(最大2,3回?)
成功すれば、以後、[新しい名前]になります。
あるいは、[MocoLUFA]の時に一度もつないだことのないPCなら
成功しているはずです。
ありがとうございます。無事変更されました。
削除よかったでございます。
返信削除別の記事でもかきましたが
.Product ID を書き換えないと「一発変更認識」してくれないのかもしれないですね。
すみません、1台の名称変更が上手くいき、2台目も同じようにやっていたところ、デバイスの削除を数回繰り返しても2台とも同じ名称で表示されるようになってしまいました。
削除.Product IDの書き換え方法を教えていただけますでしょうか…?
どもです。
返信削除え~、わたくしも、ちゃんと勉強して、正しく理解して何かやってるわけではないので、そのあたりご理解くださいませ。
つないだデバイスに関する情報は,Windowsのレジストリに記録されており、そこで「おかしなこと」になっているんだと思います。
.Product IDや、ベンダーIDは、勝手に使っちゃいけないもののようですが・・・(勝手に使うと、あちこちで今回と同じようなことが起こる)
1.レジストリクリーナーでレジストリを掃除をしてみる。
だめなら
2.regeditで当該名称を検索して、出てくるキーを全部削除していく
それでもだめなら、Windowsのクリーンインストール
プロダクトIDの変更はやったことないので、どうなるかわかりませんが
まず、デバイスマネージャーで「そのデバイス」の
プロパティ>詳細タブの、プロパティで [ハードウェアID]を表示させます。
USB\VID_03EB&PID_2048&REV_0000&MI_00 とか、書いてある
で、この 03EB がベンダーIDで、2048が プロダクトIDと
思われますのでこれを、Descripter.cで[2048]を検索すると
.VendorID = 0x03EB, // Atmel
.ProductID = 0x2048, // LUFA USB-MIDI Demo application
.ReleaseNumber = 0x0000,
というのが見つかりましたから、
ここを、変更すればいいんじゃないのかなぁ~とおもうのですが・・・・
うまくいきましたら、お知らせくださいませ。
Descriptors.cの書き換えでとりあえず複数台を別名称で表示させることができました。
削除今のところ不具合などはありません。
ありがとうございました。