2022年4月の投稿[37件](4ページ目)
2022年4月5日 この範囲を時系列順で読む この範囲をファイルに出力する
送信元をIPアドレスで選択する方法は簡単でした。丁寧に書いてきたおかげで左程の書き換えもせずに対応できそうです。
現在受信中の送信元一覧を得るためのプロセス間通信チャンネルを追加し、指定した送信元のデータだけを取り出す試験はものの数分で終わりました。
この後、一連の処理を関数化すれば完成です。
ただ、ライトアップのバラシに気力体力が奪われているので方向性が見えたところで終わりにします。丸一日、お日様を浴びながら立ったりかがんだりを延々繰り返していたので流石にシンドイ。集中力が落ちている時に書き進めるといいことはありません。
受信モジュールから取り出す際、それなりに大きな3次元配列からスロット毎の最大値を取り出す処理が不要になったので処理が少し軽くなりました。
送信元を選択式にするとバックアップ卓の切り替えに使えますし、フェスなどで複数の卓を切り替えて使う際にも使えます。パッチは一意で卓を切り替えて使えるとかなり便利だと思います。
#Python #[Art-Net]
現在受信中の送信元一覧を得るためのプロセス間通信チャンネルを追加し、指定した送信元のデータだけを取り出す試験はものの数分で終わりました。
この後、一連の処理を関数化すれば完成です。
ただ、ライトアップのバラシに気力体力が奪われているので方向性が見えたところで終わりにします。丸一日、お日様を浴びながら立ったりかがんだりを延々繰り返していたので流石にシンドイ。集中力が落ちている時に書き進めるといいことはありません。
受信モジュールから取り出す際、それなりに大きな3次元配列からスロット毎の最大値を取り出す処理が不要になったので処理が少し軽くなりました。
送信元を選択式にするとバックアップ卓の切り替えに使えますし、フェスなどで複数の卓を切り替えて使う際にも使えます。パッチは一意で卓を切り替えて使えるとかなり便利だと思います。
#Python #[Art-Net]
マルチマスタ処理はHTPではなく選択式が良い気がしてきました。
HTPは同じスロットの高い値を採用しますが、ムービングの制御においてはよくありません。かといってLTPが良いワケでもない。
ならば受信する卓(送信元IPアドレス)を選択したらどうかというアイデア。
この処理をするには入力部の大幅な変更が必要です。
・・・まだまだかかるなぁ。
#Python #[Art-Net]
HTPは同じスロットの高い値を採用しますが、ムービングの制御においてはよくありません。かといってLTPが良いワケでもない。
ならば受信する卓(送信元IPアドレス)を選択したらどうかというアイデア。
この処理をするには入力部の大幅な変更が必要です。
・・・まだまだかかるなぁ。
#Python #[Art-Net]
2022年4月4日 この範囲を時系列順で読む この範囲をファイルに出力する
荒天のため時間が空いたのでArt-Netを書き進めてみました。
処理の整理とマルチプロセス化です。
マルチプロセス化は多コア、多スレッドのCPUを有効に使う手段です。何もせずにPythonを実行しますとシングルコア(スレッド)ですべてが実行されるので能力を引き出せません。RaspberryPi4Bは4コア4スレッドですから、単純に4倍とはいきませんが、プロセスを分割することで処理負荷が複数のCPUスレッドに分散されるようです。
どの処理がどのCPUスレッドに割り当てられているかはOS次第なので実際のところどうなのかはわかりませんけど、topで処理負荷を見る限り、総処理負荷は100/400%、プロセス当たりの負荷は最大でも50%くらいになったので良いと思われます。
ここまで負荷のかかる処理をさせるならC++で書けって話もありますが、処理の大半はプロセス間通信とnumpyなので、私がC++で書いても軽くなるのか?って疑問はあります。numpyは達人がC++で書いたライブラリですからね。
このまま書き進め、Art-Netのフロントエンドのライブラリとしてまとめましょう。
今後の課題はパッチ処理です。早々に手を付けるつもりでしたが、パッチ処理のアイデアに変更が出るとArt-Net処理に書き直しが多発し3歩進んで何とやらを繰り返していたのです。
パッチ処理はnumpyの「ファンシーインデックス」に全面的に頼ります。詳細は以前の書き込みを読んで頂きたいのですが、マップファイルを与えるとそれに従ってデータを抽出して配列を生成します。つまり、「ファンシーインデックス」の流儀に合わせたパッチマップを作ればnumpyのコマンドに与えるだけです。パッチマップの生成はレスポンスを求めませんし頻繁に更新されるものではありません。
処理の構造をよく考えて進めましょう。
マルチマスタ化(HTPミックス)の確認は、荒天で別棟に置いてあるもう一台の卓を取りに行けず、動作確認は明日以降です。
#Python #[Art-Net]
処理の整理とマルチプロセス化です。
マルチプロセス化は多コア、多スレッドのCPUを有効に使う手段です。何もせずにPythonを実行しますとシングルコア(スレッド)ですべてが実行されるので能力を引き出せません。RaspberryPi4Bは4コア4スレッドですから、単純に4倍とはいきませんが、プロセスを分割することで処理負荷が複数のCPUスレッドに分散されるようです。
どの処理がどのCPUスレッドに割り当てられているかはOS次第なので実際のところどうなのかはわかりませんけど、topで処理負荷を見る限り、総処理負荷は100/400%、プロセス当たりの負荷は最大でも50%くらいになったので良いと思われます。
ここまで負荷のかかる処理をさせるならC++で書けって話もありますが、処理の大半はプロセス間通信とnumpyなので、私がC++で書いても軽くなるのか?って疑問はあります。numpyは達人がC++で書いたライブラリですからね。
このまま書き進め、Art-Netのフロントエンドのライブラリとしてまとめましょう。
今後の課題はパッチ処理です。早々に手を付けるつもりでしたが、パッチ処理のアイデアに変更が出るとArt-Net処理に書き直しが多発し3歩進んで何とやらを繰り返していたのです。
パッチ処理はnumpyの「ファンシーインデックス」に全面的に頼ります。詳細は以前の書き込みを読んで頂きたいのですが、マップファイルを与えるとそれに従ってデータを抽出して配列を生成します。つまり、「ファンシーインデックス」の流儀に合わせたパッチマップを作ればnumpyのコマンドに与えるだけです。パッチマップの生成はレスポンスを求めませんし頻繁に更新されるものではありません。
処理の構造をよく考えて進めましょう。
マルチマスタ化(HTPミックス)の確認は、荒天で別棟に置いてあるもう一台の卓を取りに行けず、動作確認は明日以降です。
#Python #[Art-Net]
昨日、LED-BARの箱で使う本体の受けにポリエステル樹脂を塗布しました。今回はエアガンです。
エアガンに慣れがないので上手くいったとは言えませんが、硬化すると表面が硬く滑らかに仕上がります。いいですね。
ガス圧を低めにして先日作った換気扇を併用すると飛び散りが少なく作業が出来ます。
#ガチ工作
エアガンに慣れがないので上手くいったとは言えませんが、硬化すると表面が硬く滑らかに仕上がります。いいですね。
ガス圧を低めにして先日作った換気扇を併用すると飛び散りが少なく作業が出来ます。
#ガチ工作
2022年4月3日 この範囲を時系列順で読む この範囲をファイルに出力する
Art-Netパッチは入力部の書き直しが終わったようです。
「ようです」というのは動作確認が済んでいないからです。一見正常に動いていますが、エラーが出る条件を考えて色々試さないといけません。
今回の書き直しはマルチマスタ対応です。HTPミキサー化とも言えますが、ミキサーにするのはオマケで、Art-Net送信機を複数繋げてもおかしな挙動に陥らない様にする対策です。
複数の送信機のデータをHTPでミックスして内部の時間単位で並べます。[ 時間単位, ルート, スロットアドレス ]の3次元配列でデータをスタックします。
パッチにしてもディレイにしても、この3次元配列からデータを取り出して処理しますから、これがどれだけ堅固に動作するかが肝です。
#Python #[Art-Net]
「ようです」というのは動作確認が済んでいないからです。一見正常に動いていますが、エラーが出る条件を考えて色々試さないといけません。
今回の書き直しはマルチマスタ対応です。HTPミキサー化とも言えますが、ミキサーにするのはオマケで、Art-Net送信機を複数繋げてもおかしな挙動に陥らない様にする対策です。
複数の送信機のデータをHTPでミックスして内部の時間単位で並べます。[ 時間単位, ルート, スロットアドレス ]の3次元配列でデータをスタックします。
パッチにしてもディレイにしても、この3次元配列からデータを取り出して処理しますから、これがどれだけ堅固に動作するかが肝です。
#Python #[Art-Net]
2022年4月1日 この範囲を時系列順で読む この範囲をファイルに出力する
明日はオフなので、Art-Netの処理を書き進めたい。
初めて手掛ける難しい処理は頭を全振りして半日以上没頭して書きたいのですが、ここ半月はコロナの反動需要と年度末が重なって思うように時間が取れませんでした。
そんな日々から解放されましたし、Delayのアイデア主であるプランナーさんに「連休前にはアルファ版見せます」と断言して締め切りを目の前にぶら下げましたので、これから半月は飛ばしましょう。開発費を頂戴している案件ではありませんから純然たる趣味の領域ですが、怠け者はお尻に火が点かんと怠けっぱなしです。
こんな日(4/1)ですが、ウソではありません。
#ノリと勢いスイッチ
初めて手掛ける難しい処理は頭を全振りして半日以上没頭して書きたいのですが、ここ半月はコロナの反動需要と年度末が重なって思うように時間が取れませんでした。
そんな日々から解放されましたし、Delayのアイデア主であるプランナーさんに「連休前にはアルファ版見せます」と断言して締め切りを目の前にぶら下げましたので、これから半月は飛ばしましょう。開発費を頂戴している案件ではありませんから純然たる趣味の領域ですが、怠け者はお尻に火が点かんと怠けっぱなしです。
こんな日(4/1)ですが、ウソではありません。
#ノリと勢いスイッチ