243
文字
編集
電装工芸 (admin)
2026年5月12日 火曜日 11:50:44
Post No.1258
Art-Net 関連機器は RaspberryPi_CM4 を母体に Rust でコードを書きます。Rust を使うのはこの件が初めてなので無謀な気もしますが、C言語で動いたモノを Rust で書き直す感じなので大丈夫っしょ。C言語で書いたモノもメモリ構成を大変更するために全部書き直すつもりだったので作業量は大差ありません。
使ってみないとわかりませんが、C言語で出来ることは Rust でも出来るそうです。これを信じて取り組んでいきましょう。
#[Art-Net]
#Rust
772
文字
編集
電装工芸 (admin)
2026年5月12日 火曜日 10:32:53
Post No.1257
Rust のことは随分わかってきました。大雑把に括るとC言語と同じです。Python や .NET 系のようにマネージが強くて自由度が狭いってことは無いっぽいです。
「所有権」や「ライフタイム」は方言程度の違いでした。両方ともC言語ではコードを書く側が注意を払ってきたことを自動的にアシストしてくれる機能です。アルゴリズムの中に埋もれるバグを予防出来るので、難しいというより手間をかけるのが先か後かってだけでした。
「所有権」は変数の読み書きの不整合や二重処理を防止するための対策です。その対策の意味を理解するには変数の処理構造を知っていた方がいいと思うのですが、その説明をすっ飛ばして「所有権がぁ~」と話をする教科書が多くて読んでいるこちらが混乱します。C言語におけるポインタが理解出来ていればそれほど難しいことではないので、ポインタがわかっている前提で説明をしてくれる教科書があってもいいんぢゃないのかなぁ~って思います。「所有権」によって制限されることはC言語のコードを書く上でも注意しなければならないことなので、だったら前提として管理・制限しときゃいいんぢゃね?ってことなのでしょう。C言語のポインタは自由度が高い反面コードを書く側が管理・制限してきましたが、これをコンパイラが厳密にチェックしてくれるのですからある意味楽です。
「ライフタイム」は変数のコード上での有効範囲のことです。変数の有効時間の設定・管理ではありません。変数の有効範囲はC言語とほぼ同じですが、変数の有効無効をコード上でチェックで出来ます。関数で用いる変数が有効かをチェックしたり、この関数の処理が済むまで変数を維持するように指示をする機能が追加されたと思えばよさそうです。
どちらも、ややこしさを追加して意地悪しているのではありません。
#Rust
285
文字
編集
電装工芸 (admin)
2026年5月12日 火曜日 09:47:31
Post No.1256
DMX-Timer をご理解を頂けそうな知人にお知らせしたところ興味を持って頂けました。
月末になりませんと組む時間は取れませんが、その後送ってお試し頂くつもりです。
ケースはプリントするのにそれなりの時間がかかるので射出で作ったらどのくらいかと聞いてみたのですが、金型を作るのに数百万と言われてしまい30秒で話が終わってしまいました。
手持ちの3Dプリンタでノンビリ作ることにしますが、今使っているプリンタは運用コストが案外高いです。作る物の大半がABS単色ですから、ABSに対応した単色の安いプリンタを買ってもいいかもしれません。
#ガチ工作
#器具の製作