2017年4月16日日曜日

Ubuntu 17.04 Mouse Aceleration メモ


Ubuntuを17.04にアップしたらマウスの設定が多分デフォルトに戻されてしまったようで、システム設定のGUIからの変更もできなくなった。

ArcLinuxのドキュメントの下の方の「マウスのアクセラレーションの無効化」を参考にして、"AccelSpeed"の値を適当に選んだ。

Ubuntuの場合このファイルは、/usr/share/X11/xorg.conf.d 内に新規に作る。
90-mouse.confとして保存し、Xを再起動。
解決したが、この方法が正当なのかは不明。

2017年2月24日金曜日

ESP-WROOM-02、MIDI over WiFi FOOT SWITCH


ルーパーを使ってみたくなり、iPod Touchがあるので試しにLoopyを使ってみようと思いフットスイッチを探してみた。iOS用としてはIK MultimediaのBlue Boardが最適だけど、たかがフットスイッチなのにちょっと高価と思ったので作る。

実現方法として、iOSのスイッチコントロール、over USB、over BLE、over WiFiを検討、現状はWiFiが良さそうと判断。そうこうしているうちに発売になったESP-WROOM-32ならば、BLEがいけそうだ、こちらの方が理想的。ESP-WROOM-02、元旦に注文したらなんと3日に届いた。

 

ケース

 

SilkRoad FS-103
 


















樹脂製のケースにモーメンタリスイッチを使えば大きさの制限とかなくて簡単だけどそれらしいのを探してSilkRoadのFP-103というのを発見、980円で購入。

分解してケーブルと基板を外す。

回路

電源部
本体


 

ESP-WROOM-02は起動時に結構な電流が必要なようで(500mA位必要みたいなことがどれかのデータシートにあった)、いろいろ検討してみたが電池1個では起動は難しそうなので単4電池2個とした。

当然昇圧の必要があり、500mAだとすると少々足りないかもしれないEMH-7601を使ってみた。

スイッチはフォトリフレクタITR8307を使った。IF=20mAでの条件はあるが電池動作のためにGPIOを使って周期的にスイッチオンを検出するようにしたいのでGPIOの規格12mA以下にしたいのだけど目安にするための、IFに対してのライトカレントのグラフがない。

仕方がないのでカットアンドトライで。

PCB


1段目
2段目

















 


かなりスペースがきついので2階建て。電池の位置がちょっと狭かったのとESP-WROOM-02のプルアップ、ITR8307のフットプリントを間違えてしまったが作りなおすのが面倒なので切り貼りで対応。

KiCadのESP-WROOM-02ライブラリは、以下を利用させていただいた。

https://github.com/jdunmire/kicad-ESP8266

ファームウェア

初めての ESP-WROOM-02、最初はArduno IDEを使ったけどPlatformIOが良さそうなのでこちらに切り替え。ESP-WROOM-02はライブラリが整ってるのでかなり簡単。

ESP8266開発用以外に必要なライブラリは、

https://github.com/lathoub/Arduino-AppleMidi-Library

PlatformIO(Atomエディタ)のTerminalから、

pio lib install AppleMIDI

とコマンドを入力してインストール。すごい、便利。

レイテンシを考えるとアクセスポイントにしたほうがよいけどESP-WROOM-02のことをよく解ってないのでとりあえずステーションモードで。DNSを使うとどうも接続に時間がかかるし他の機器の接続がおかしくなったりしたのでスタティックアドレスにした。

ある程度うまく行ったところでOTAアップデートが出来るようにコードを加えた。

ホスト名は、WiFiで設定してもArdinoOTAの設定時に上書きされるようなのでこちらで設定。
ESP8266の理解、ライブラリの理解が足りずサンプルコードの切り貼りがほとんどでスイッチのオンオフ検出も大雑把なので必要がない部分、適切でない部分があると思う。


Loopyで動作確認


1. 左下のアイコンをタップ


2. 設定をタップ


3. コントロールインプットをタップ


4. ネットワークを有...をタップ


5. esp-fsをチェック


6. 右矢印でビンディング設定


7. ビンディングを追加


8. アクションを変更


9. トラック・アクションをタップ


10. 録音切り替えをタップ


11. フットスイッチを踏む


12. MIDIメッセージ(ここではA2On)を選択し
ビンディングを保存をタップ


13. ホーム画面でフットスイッチを踏んで
録音開始