全年6月1日の投稿(時系列順)[7件]
2022年 この範囲を新しい順で読む この範囲をファイルに出力する
間数マーカーは2度目の電池テストでも13時間でした。公称10時間でよいでしょう。
自宅では3Dプリンタさんが延々と仕事をしています。痛みが出始めていますが、全部作るまで持ってくれるでしょうか。
ということで、間数マーカーは繰り返しの製作作業になりましたから次のネタに行きましょう。
RaspberryPiを使った物を進めたいのですが、物が入らないのではどうにもなりません。
この際ですから、自宅の工作部屋の部品類を再整理ですかね。一部魔窟と化していますし。
#雑談
自宅では3Dプリンタさんが延々と仕事をしています。痛みが出始めていますが、全部作るまで持ってくれるでしょうか。
ということで、間数マーカーは繰り返しの製作作業になりましたから次のネタに行きましょう。
RaspberryPiを使った物を進めたいのですが、物が入らないのではどうにもなりません。
この際ですから、自宅の工作部屋の部品類を再整理ですかね。一部魔窟と化していますし。
#雑談
久しぶりにArt-Netエンジンを書く時間が取れそうです。
丁度よい冷却期間になったのか、そもそもの修正点を思いつきました。
そもそもというのは処理の全体像のことです。Art-Netを受信して、パッチ処理などをして、送信するワケですが、これらの処理を無駄なく適切なタイミングで行うことはとても大切なので、それを目指して書き直しをするのです。偉そうな言葉を使うなら「最適化」です。
正直言いますと大きな無駄を見つけたのです。何しろ経験豊富の真逆ですから、設計書を書いてコーディングして・・・なんて上品な製作は出来ません。思い付いて書いては実験、思い付いて書き直しては実験を繰り返すので、付け焼刃の繰り返しで各所に歪みやら無駄が溜まるのです。一応機能するようになったら全体の見直しをするのはいつものことですけど、3歩進んで2歩下がるを繰り返す自分の様は残念です。つーても、誰かが書いてくれるワケでも添削してくれるワケでもないので仕方ありません。
全体の直しはあるとしても、作業の要はスタックフェーダーへの対応です。
ちょっと前まではスタックフェーダーのシーンデータをエンジン内に持たせ、別プロセスからマスター値を送り込んでエンジン内で出力値の計算をさせるイメージでしたが、エンジンの処理がやたら重くなるし拡張性も低いのでやめます。Art-Net受信値とMIXする一意のデータをエンジンに送り込むことにし、シーンデータを持つのもマスター値による出力値の計算もスタックフェーダ間のMIXも別プロセスにさせることにします。こうすれば、将来的に卓へ拡張してもArt-Netエンジン自体の変更は不要です。
#[Art-Net]
丁度よい冷却期間になったのか、そもそもの修正点を思いつきました。
そもそもというのは処理の全体像のことです。Art-Netを受信して、パッチ処理などをして、送信するワケですが、これらの処理を無駄なく適切なタイミングで行うことはとても大切なので、それを目指して書き直しをするのです。偉そうな言葉を使うなら「最適化」です。
正直言いますと大きな無駄を見つけたのです。何しろ経験豊富の真逆ですから、設計書を書いてコーディングして・・・なんて上品な製作は出来ません。思い付いて書いては実験、思い付いて書き直しては実験を繰り返すので、付け焼刃の繰り返しで各所に歪みやら無駄が溜まるのです。一応機能するようになったら全体の見直しをするのはいつものことですけど、3歩進んで2歩下がるを繰り返す自分の様は残念です。つーても、誰かが書いてくれるワケでも添削してくれるワケでもないので仕方ありません。
全体の直しはあるとしても、作業の要はスタックフェーダーへの対応です。
ちょっと前まではスタックフェーダーのシーンデータをエンジン内に持たせ、別プロセスからマスター値を送り込んでエンジン内で出力値の計算をさせるイメージでしたが、エンジンの処理がやたら重くなるし拡張性も低いのでやめます。Art-Net受信値とMIXする一意のデータをエンジンに送り込むことにし、シーンデータを持つのもマスター値による出力値の計算もスタックフェーダ間のMIXも別プロセスにさせることにします。こうすれば、将来的に卓へ拡張してもArt-Netエンジン自体の変更は不要です。
#[Art-Net]
急に入ったライトアップを仕込んできました。
例年年末に実施している仕込みで色を変えたものです。
今回は単色なので灯体のプレイバック機能で十分ですが、ライトアップ特化した卓が欲しいなと。何月何日何時からシーンの何番を実行するとプログラム出来るものです。
DMXレコーダー系は実尺での取り込みが必要なのでイヤ。
DAS-Lightの上位機種にはカレンダー機能がありますが、明かり作りの操作感が肌に合わないのでイヤ。
設備系は高価だし明かり作りが面倒なのでイヤ。
そういや、今作っているArt-Netパッチを拡張すればよくね!?
エフェクトエンジンを搭載するにはあと100年くらいかかりそうですが、単純なステップタイプの卓を作るのはそれほど難しく無いと思います。シーケンスの実行トリガに日時、シーンの実行トリガに経過時間を設定出来るものとする。チェイスはシーンのループ処理がしやすいことで対策。贅沢を言い始めたらキリがありませんが、単純なステップタイプのシーケンスにライトアップで便利なちょい機能を加える考え方です。
高度なことをするなら高度な卓を使えばいいのですし、今困っている簡単そうで簡単に出来ないことに特化したモノであればいい。私の要望は、LEDスポットに内蔵されたシーン機能がプログラムしやすくて実行の日時指定が出来ればいいレベルです。「LEDカラーミックススポットを使ったライトアップで、何年何月何日何時何分何秒から指定したパターンが実行できるシンプルな卓」とします。
決して、MAやAVOにカレンダー機能を搭載したモノな物は目指さない。「MAなら簡単にでき・・・」とか言う輩はMAを使えばいいのです。
#[Art-Net]
例年年末に実施している仕込みで色を変えたものです。
今回は単色なので灯体のプレイバック機能で十分ですが、ライトアップ特化した卓が欲しいなと。何月何日何時からシーンの何番を実行するとプログラム出来るものです。
DMXレコーダー系は実尺での取り込みが必要なのでイヤ。
DAS-Lightの上位機種にはカレンダー機能がありますが、明かり作りの操作感が肌に合わないのでイヤ。
設備系は高価だし明かり作りが面倒なのでイヤ。
そういや、今作っているArt-Netパッチを拡張すればよくね!?
エフェクトエンジンを搭載するにはあと100年くらいかかりそうですが、単純なステップタイプの卓を作るのはそれほど難しく無いと思います。シーケンスの実行トリガに日時、シーンの実行トリガに経過時間を設定出来るものとする。チェイスはシーンのループ処理がしやすいことで対策。贅沢を言い始めたらキリがありませんが、単純なステップタイプのシーケンスにライトアップで便利なちょい機能を加える考え方です。
高度なことをするなら高度な卓を使えばいいのですし、今困っている簡単そうで簡単に出来ないことに特化したモノであればいい。私の要望は、LEDスポットに内蔵されたシーン機能がプログラムしやすくて実行の日時指定が出来ればいいレベルです。「LEDカラーミックススポットを使ったライトアップで、何年何月何日何時何分何秒から指定したパターンが実行できるシンプルな卓」とします。
決して、MAやAVOにカレンダー機能を搭載したモノな物は目指さない。「MAなら簡単にでき・・・」とか言う輩はMAを使えばいいのです。
#[Art-Net]
仕込んだ方々、おつかれさまです。
#雑談
#雑談
2023年 この範囲を新しい順で読む この範囲をファイルに出力する
MUSES02D化したDI-1はとても良い音ですが、どこか物足りない。オペアンプが鳴りきっていないというか躓いているような気がするのです。勘ですが、入口か出口のコンデンサがMUSES02Dに対して性能不足の様に感じます。
当初はオペアンプの交換に留めようと思ったのですが、コンデンサは安価で元に戻すのも簡単なので試してみようかと。
別な部品と共にコンデンサも手配しました。
#音の世界
当初はオペアンプの交換に留めようと思ったのですが、コンデンサは安価で元に戻すのも簡単なので試してみようかと。
別な部品と共にコンデンサも手配しました。
#音の世界
気分転換にFIFOを書いてみました。初期設定を含めても50行くらいです。
ループメモリを非同期で読み書きする構造ですから、それぞれのアドレスカウンタの扱いが肝です。当初悩んだものの、条件を整理すれば案外簡単でした。アルゴリズムの設計大事です。
こういったモジュールは例外も想定して慎重に動作確認をしなければなりませんが、実機だと確認が難しいのでMPLABXのシュミレータの出番です。ステップ毎のレジスタの変化を観察したいのです。
MPLABXのシュミレーターは使い方がイマイチわからんのですが、操作メニューが違うだけでやることはv8.92と同じでしょうから、先達の書き込みを参考に探ってみます。
追記
シュミレーターの使い方は次のサイトがわかりやすい。というか、この通りにやったらシュミレート出来ました。
MPLAB X の使い方(Simulator編)
MPLABv8.92とはデザインが違いますが、やっていることは同じなので慣れればいいかなと。PICの中身を知らないと何が何やらですけど・・・
テスト用に少し書き換えればFIFOの挙動をチェック出来ます。
#PIC
ループメモリを非同期で読み書きする構造ですから、それぞれのアドレスカウンタの扱いが肝です。当初悩んだものの、条件を整理すれば案外簡単でした。アルゴリズムの設計大事です。
こういったモジュールは例外も想定して慎重に動作確認をしなければなりませんが、実機だと確認が難しいのでMPLABXのシュミレータの出番です。ステップ毎のレジスタの変化を観察したいのです。
MPLABXのシュミレーターは使い方がイマイチわからんのですが、操作メニューが違うだけでやることはv8.92と同じでしょうから、先達の書き込みを参考に探ってみます。
追記
シュミレーターの使い方は次のサイトがわかりやすい。というか、この通りにやったらシュミレート出来ました。
MPLAB X の使い方(Simulator編)
MPLABv8.92とはデザインが違いますが、やっていることは同じなので慣れればいいかなと。PICの中身を知らないと何が何やらですけど・・・
テスト用に少し書き換えればFIFOの挙動をチェック出来ます。
#PIC
FIFOの動作チェックをしました。
バク無し・・・嬉しいような怖いような。
FIFOはループメモリです。例えば10個のメモリを使うなら10個目を書いた後は1個目から書きます。これを続けます。読出しも同じ。
ただ、読出しと書き込みはタイミングがシンクしませんので、読出しが書き込みを追い越さないこと、書き込みは一周以上先行しないことが重要です。これらの確認も出来ました。
処理のタイミングとしては、読出しはLTCの送出に合わせてになりますが、書き込み(パソコンへのデータ要求とも言う)はメモリが空いたら行います。
パソコンとの通信速度がLTCの送信速度より十分に速く、パソコン側のレスポンスも十分に早ければタイミングがズレることはありません。たぶん。
読出しが書き込みに追いついてしまえばデータが無いことになりますので、新しいデータが入るまでLTCを送出しないだけです。
#PIC #タイムコード
バク無し・・・嬉しいような怖いような。
FIFOはループメモリです。例えば10個のメモリを使うなら10個目を書いた後は1個目から書きます。これを続けます。読出しも同じ。
ただ、読出しと書き込みはタイミングがシンクしませんので、読出しが書き込みを追い越さないこと、書き込みは一周以上先行しないことが重要です。これらの確認も出来ました。
処理のタイミングとしては、読出しはLTCの送出に合わせてになりますが、書き込み(パソコンへのデータ要求とも言う)はメモリが空いたら行います。
パソコンとの通信速度がLTCの送信速度より十分に速く、パソコン側のレスポンスも十分に早ければタイミングがズレることはありません。たぶん。
読出しが書き込みに追いついてしまえばデータが無いことになりますので、新しいデータが入るまでLTCを送出しないだけです。
#PIC #タイムコード