FNIRSI DPS-150 安定化電源のUSBプロトコルを解析してアプリ実装した
FNIRSI DPS-150 という実験用の直流安定化電源を買ってみた。USB-PD から電源をひっぱってこれるという最近の流行りというか ALIENTEK DP100 とかの系統の製品
特別悪いところは今のところ感じてない。50mV以下の電圧にはならないぐらい。画面が大きくてみやすい。
FNIRSI というとあやしいオシロスコープを買ったことがあるのでスペック表記はあんまり信用できない。
USBのプロトコル解析とウェブアプリ化
冒頭の動画で説明してるけどUSBプロトコル(シリアルポート)を解析してウェブアプリとして再実装した。JSでプログラマブルに制御を書けるようになった。
ウェブアプリの細かい話1: タイムアウト付きのJS実行
プログラマブルにするにあたって、うっかり無限ループを書いたときのためにスクリプトの実行時間にタイムアウトをつけたいなと思った。
かつてはそんなこと実現できなかったけど、今は Worker#terminate() があるので、Worker 化できる関数なら実現できるみたいだった。functionWithTimeout() みたいな関数を作ってみたけど動いてる。
https://gist.github.com/cho45/cda6bb74d3d82790663762da43298538
ウェブアプリの細かい話1: シリアルポート通信のWorker化
ブラウザのコンテキストだと、タブが非アクティブになったときなどに、 setTimeout() の時間がとんでもないことになるとか、いろいろ制限がある。
面倒くさくても定期的に処理を行いたい通信プロセスは Worker に逃がすほうが良い。Comlink を使っている。
ref
関連エントリー
- Aliexpress で買ったミニキーボードを WebHID で設定する こういうのが500円で売っている。なんとなく買ってみた。 設定ツール (MINI KeyBoard.exe) が Google Drive ...
- VALETON GP-5 + 自作MIDIデバイスたち VALETON GP-5 というマルチエフェクタを買ってみた。小さいながら凝っていて、アンプシミュレータも内蔵しているのでヘッドフォン直結や...
- NanoVNA のリモート化 (Wi-Fi 中継) アンテナの調整をする場合、給電点 (測定点) と調整点は離れていることが多いなというコンテキストで、NanoVNA の Bluetooth ...
- Web Serial API chromium Issue 884928: Web Serial API が該当する。(Chrome 系以外では実装されていない。予定もな...
- JTAG/SWD 関係の用語 デバッグ機能の分類 デバッグ制御インターフェイス : CPU制御を行う。ブレークポイントやプログラムカウンタの増加(実行)など トレース機能...
