2020年2月4日火曜日

mocoのMIDIデバイス表示名の変更

2020年2月1日 windows 10 64bit環境にて・・・・・


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だった


複数つないだときはまだためしていない    成功


7 件のコメント:

  1. Descriptors.cを書き換えhexファイルを生成しましたが、デバイス名がMocoLUFAから変わりません。
    何か原因などわかりますでしょうか?

    返信削除
  2. こんにちわ。

    1.Arduinoを一旦PCからはずして、
    (5秒くらい待ってデバイスマネージャーから消えてから)
    2.再度接続して
    3.デバイスマネージャーで、[元の名前」で表示されている状態で
    4.そいつを、削除して
    5.再度、PCからはずして、
    6.また、接続

    PCの再起動は必要ありません。


    だめなら、上記を、繰り返し。(最大2,3回?)
    成功すれば、以後、[新しい名前]になります。

    あるいは、[MocoLUFA]の時に一度もつないだことのないPCなら
    成功しているはずです。

    返信削除
    返信
    1. ありがとうございます。無事変更されました。

      削除
  3. よかったでございます。

    別の記事でもかきましたが
    .Product ID を書き換えないと「一発変更認識」してくれないのかもしれないですね。

    返信削除
    返信
    1. すみません、1台の名称変更が上手くいき、2台目も同じようにやっていたところ、デバイスの削除を数回繰り返しても2台とも同じ名称で表示されるようになってしまいました。
      .Product IDの書き換え方法を教えていただけますでしょうか…?

      削除
  4. どもです。

    え~、わたくしも、ちゃんと勉強して、正しく理解して何かやってるわけではないので、そのあたりご理解くださいませ。

    つないだデバイスに関する情報は,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,

    というのが見つかりましたから、
    ここを、変更すればいいんじゃないのかなぁ~とおもうのですが・・・・

    うまくいきましたら、お知らせくださいませ。

    返信削除
    返信
    1. Descriptors.cの書き換えでとりあえず複数台を別名称で表示させることができました。
      今のところ不具合などはありません。
      ありがとうございました。

      削除

カメラ3台

 DOCKのUSBに2台 3台目は、本体のUSB。 3台とも20メートル延長OK