Bluesky に置き換えた。Bluesky の共有は以下のようにすればいいみたい
https://bsky.app/intent/compose?text=...
Bluesky に置き換えた。Bluesky の共有は以下のようにすればいいみたい
https://bsky.app/intent/compose?text=...
FNIRSI DPS-150 という実験用の直流安定化電源を買ってみた。USB-PD から電源をひっぱってこれるという最近の流行りというか ALIENTEK DP100 とかの系統の製品
特別悪いところは今のところ感じてない。50mV以下の電圧にはならないぐらい。画面が大きくてみやすい。
FNIRSI というとあやしいオシロスコープを買ったことがあるのでスペック表記はあんまり信用できない。
冒頭の動画で説明してるけどUSBプロトコル(シリアルポート)を解析してウェブアプリとして再実装した。JSでプログラマブルに制御を書けるようになった。
プログラマブルにするにあたって、うっかり無限ループを書いたときのためにスクリプトの実行時間にタイムアウトをつけたいなと思った。
かつてはそんなこと実現できなかったけど、今は Worker#terminate() があるので、Worker 化できる関数なら実現できるみたいだった。functionWithTimeout() みたいな関数を作ってみたけど動いてる。
https://gist.github.com/cho45/cda6bb74d3d82790663762da43298538
ブラウザのコンテキストだと、タブが非アクティブになったときなどに、 setTimeout() の時間がとんでもないことになるとか、いろいろ制限がある。
面倒くさくても定期的に処理を行いたい通信プロセスは Worker に逃がすほうが良い。Comlink を使っている。
どうあがいても接続できなくて困った。
どうやらなんか Google Chrome が USB デバイスをかたっぱしからオープンする挙動をしているようで、busy 状態になっているようだった。libusb 関係のなにかなのかもしれない。
EOS Utility 3@(null): AppleUSBHostUserClient::openGated: failed to open Canon Digital Camera@01100000: provider is already opened for exclusive access by pid 602, Google Chrome
Console.app で検索かけていたら以上のエラーログが見れたので原因がわかったけど、わかりにくすぎる
ptpcamerad も変な挙動をしていてカメラが繋がらなくなる。強制的に終了しても起動してくるのでやっかい
EOS Utility 3@(null): AppleUSBHostUserClient::openGated: failed to open IOUSBHostInterface@0: provider is already opened for exclusive access by pid 17290, ptpcamerad
止めた。
sudo launchctl unload /System/Library/LaunchAgents/com.apple.ptpcamerad.plist sudo launchctl disable gui/501/com.apple.ptpcamerad