2026年5月 この範囲を時系列順で読む この範囲をファイルに出力する
Rust の教科書は「所有権」や「ライフタイム」で大騒ぎしないモノがいいようです。大騒ぎする教科書はその厄介さを語って力尽きるのか「とどのつまり?」の説明が薄い傾向にあります。両方とも重要なことですが、これらが Rust の全てではありません。「cargo」と呼ばれるプロジェクト管理ツールを説明しない教科書は論外です。
間違っても初めてのプログラム言語に Rust を選ぶのはお勧めできません。最終的に作りたいモノによりますが、html や Python あたりで成功体験を積み重ねて神エンジニアたちが目指したことを体に取り入れるのが良いと思います。Rust はC言語同様に理解するための前提というか基礎の裾野が広すぎるのです。
私は回路設計とプログラミングの境界が曖昧な PIC16 で右往左往してきましたので脳ミソが少しおかしいのですが、C言語もそうですが、Rust を受け入れるにはこのコードでハードウェアが何をするかをイメージ出来るといいようです。両言語ともハードウェアを制御する傾向が強いからでしょうか。
#器具の製作 #C言語 #Rust
間違っても初めてのプログラム言語に Rust を選ぶのはお勧めできません。最終的に作りたいモノによりますが、html や Python あたりで成功体験を積み重ねて神エンジニアたちが目指したことを体に取り入れるのが良いと思います。Rust はC言語同様に理解するための前提というか基礎の裾野が広すぎるのです。
私は回路設計とプログラミングの境界が曖昧な PIC16 で右往左往してきましたので脳ミソが少しおかしいのですが、C言語もそうですが、Rust を受け入れるにはこのコードでハードウェアが何をするかをイメージ出来るといいようです。両言語ともハードウェアを制御する傾向が強いからでしょうか。
#器具の製作 #C言語 #Rust
Art-Net 関連品の開発では「Rust」を使うことにしました。
Rust が持つ標準機能が Art-Net 関連品を作るのに絶大に有益なことがわかったからです。コレクションと呼ばれる機能です。
新たな言語を勉強するのは大変ですが、C言語の方言と思えばゼロベースではありません。C言語を学んだことで Rust がすんなり自分の中に入ってくる実感があります。Rust を学ぶためにC言語を勉強するベキ!?ってことでもありますが、案外そんなもんかなと感じています。C言語でも Rust でもコードの裏側にあることは同じってことですかね。ハードウェアを動かすのがソフトウェアですから。
あまりに便利なので Python みたいに遅くねーの?って疑問はありますが、コンパイルされたバイナリはC言語やC++に匹敵するらしいのでその評価を信じましょう。
言葉は優しいですが、AI/Geminiさんのお言葉を要約するなら基板を作ってPIC16アセンブラを書いて RaspberryPi と協調動作する装置を作る素人(アマチュア)は斜め上過ぎる存在らしいです。私にとっては日常感覚ですケド、その延長かプログラム言語に対するアプローチも少し変みたいです。私からしたらパチンコやスロットで確率数値を操って常に勝ち続けてる人の方がどうかしてますケド。
#器具の製作 #C言語 #Rust
Rust が持つ標準機能が Art-Net 関連品を作るのに絶大に有益なことがわかったからです。コレクションと呼ばれる機能です。
新たな言語を勉強するのは大変ですが、C言語の方言と思えばゼロベースではありません。C言語を学んだことで Rust がすんなり自分の中に入ってくる実感があります。Rust を学ぶためにC言語を勉強するベキ!?ってことでもありますが、案外そんなもんかなと感じています。C言語でも Rust でもコードの裏側にあることは同じってことですかね。ハードウェアを動かすのがソフトウェアですから。
あまりに便利なので Python みたいに遅くねーの?って疑問はありますが、コンパイルされたバイナリはC言語やC++に匹敵するらしいのでその評価を信じましょう。
言葉は優しいですが、AI/Geminiさんのお言葉を要約するなら基板を作ってPIC16アセンブラを書いて RaspberryPi と協調動作する装置を作る素人(アマチュア)は斜め上過ぎる存在らしいです。私にとっては日常感覚ですケド、その延長かプログラム言語に対するアプローチも少し変みたいです。私からしたらパチンコやスロットで確率数値を操って常に勝ち続けてる人の方がどうかしてますケド。
#器具の製作 #C言語 #Rust
DMX-Timer は終わりが見えてきました。次の課題はArt-Net 関連機器と行きたいところです。
これらは RaspberryPi 上でのプログラミングが主となりますが言語どうするか。C言語か Rust の二択ですけど、未だに迷っております。この2種はハードウェアを扱うのに適した言語ですから Art-Net 関連機器を組むにはよいと思われます。両方を使いこなせればいいのですが、年齢的に一つでも辛いのに二つは無理。。。少し前までC言語でいくつもりで勉強していましたが、 Rust の教科書を斜め読みしたところ自分がやりたいことには Rust が向いているような気がして困っているワケです。
Rust の情報に接しますと「所有権がぁ、所有権がぁ」と脅しの様に書かれております。これはC言語での「ポインタがぁ、ポインタがぁ」や、C++での「オブジェクト指向がぁ、がぁ」と同じです。身に着けないと使えないし身に着ければよりよいコードが書けるのですから身に着ければいい。簡単でないことは確かですが、言語をデザインした神エンジニアたちは苦労や混乱をさせたかったワケではありません。たぶん。
開発には心の余裕とまとまった時間が必要です。なかなかそんな時間は取れませんので、引き続き妄想しながら勉強をしましょう。
#C言語 #Rust
これらは RaspberryPi 上でのプログラミングが主となりますが言語どうするか。C言語か Rust の二択ですけど、未だに迷っております。この2種はハードウェアを扱うのに適した言語ですから Art-Net 関連機器を組むにはよいと思われます。両方を使いこなせればいいのですが、年齢的に一つでも辛いのに二つは無理。。。少し前までC言語でいくつもりで勉強していましたが、 Rust の教科書を斜め読みしたところ自分がやりたいことには Rust が向いているような気がして困っているワケです。
Rust の情報に接しますと「所有権がぁ、所有権がぁ」と脅しの様に書かれております。これはC言語での「ポインタがぁ、ポインタがぁ」や、C++での「オブジェクト指向がぁ、がぁ」と同じです。身に着けないと使えないし身に着ければよりよいコードが書けるのですから身に着ければいい。簡単でないことは確かですが、言語をデザインした神エンジニアたちは苦労や混乱をさせたかったワケではありません。たぶん。
開発には心の余裕とまとまった時間が必要です。なかなかそんな時間は取れませんので、引き続き妄想しながら勉強をしましょう。
#C言語 #Rust
昨日修正した DMX-Timer は15時間経過でほぼ合ってます。このまま続けて誤差を出しましょう。
48時間で1秒くらいだったらOKとし、誤差次第ではキャリブレーション機能を追加します。
試作2号機が組めたら並列で試験です。
修正前は8秒/日の誤差でした。カウント値を1秒毎に3つ多くすることで今があります。
カウント値1つあたり2.6秒/日の補正ですので、これ以上細かい誤差は補正出来ません。
追記
24時間経過で1秒以下の誤差です。
見た目で数値がわかるわけありませんが、1秒の1/3か半分くらい遅れているように見えます。仮に0.5秒なら明日には1秒になるでしょう。
今以上の補正は難しいので、この後は誤差を把握するだけにします。
追記の2
34時間経過で誤差は1秒以下。
何時間後に1秒ズレるのか確認しようと思っていますが、48時間で1秒くらいなら御の字なのでそこで終わりにしましょう。
#ガチ工作 #器具の製作
48時間で1秒くらいだったらOKとし、誤差次第ではキャリブレーション機能を追加します。
試作2号機が組めたら並列で試験です。
修正前は8秒/日の誤差でした。カウント値を1秒毎に3つ多くすることで今があります。
カウント値1つあたり2.6秒/日の補正ですので、これ以上細かい誤差は補正出来ません。
追記
24時間経過で1秒以下の誤差です。
見た目で数値がわかるわけありませんが、1秒の1/3か半分くらい遅れているように見えます。仮に0.5秒なら明日には1秒になるでしょう。
今以上の補正は難しいので、この後は誤差を把握するだけにします。
追記の2
34時間経過で誤差は1秒以下。
何時間後に1秒ズレるのか確認しようと思っていますが、48時間で1秒くらいなら御の字なのでそこで終わりにしましょう。
#ガチ工作 #器具の製作
ちょっと誤差計算しました。
96ppmのズレってことは、8MHzのクロックで768カウント相当です。
このクロックの256カウントで1カウントするカウンタを3,125カウントして0.1秒を得ていますが、これに閏カウントを1秒毎に3つ入れればイイとなります。各秒のアタマ(1/10秒がゼロの時)に768カウント分まとめて入れてもいいかな?違いは96usecですから気にならないと思う。これなら簡単かも。
実際の誤差は96ppm丁度ではありませんし水晶発振子に誤差があるならば単純ではありませんが、1秒あたり256x3のカウント調整をすれば今よりずっと良い値になると思うのです。
追記
モヤモヤしてしまうので書き直し。30分くらいの作業でした。
またもや動作試験です。
#ガチ工作 #器具の製作
96ppmのズレってことは、8MHzのクロックで768カウント相当です。
このクロックの256カウントで1カウントするカウンタを3,125カウントして0.1秒を得ていますが、これに閏カウントを1秒毎に3つ入れればイイとなります。各秒のアタマ(1/10秒がゼロの時)に768カウント分まとめて入れてもいいかな?違いは96usecですから気にならないと思う。これなら簡単かも。
実際の誤差は96ppm丁度ではありませんし水晶発振子に誤差があるならば単純ではありませんが、1秒あたり256x3のカウント調整をすれば今よりずっと良い値になると思うのです。
追記
モヤモヤしてしまうので書き直し。30分くらいの作業でした。
またもや動作試験です。
#ガチ工作 #器具の製作
昨日は見間違えをしたようです。
基準となる時計の00秒で DMX-Timer のズレを見るハズが逆をやっていたようです。
先ほどチェックしたところ、120時間30分経過で42秒のズレです。誤差は 96ppm 程度。
一定していますのでそういうものだとしましょう。
昨日は34秒のズレだったワケです。
この誤差ですと1日あたり8秒、1時間あたり0.346秒、10分なら0.0576秒のズレです。1秒ズレるのは2時間53分後です。
DMX-Timer は計測や自動操作ではなく経過時間の目安を見るためのものです。量販店で手に入るストップウォッチと同等かそれ以上の精度ですから問題ないっしょ。
時間があって気が向いたら精度を高める方法を考えてみましょう。
もし、時計に相当する仕掛けを作るなら、それ相応の精度を持ったタイマーを使うか RaspberryPi などの NTPサーバーと通信出来るマイコンを使うのが良いかと。
タイマーを使った定時実行のライトアップを毎年やらせて頂いていますが、年に一回の使用なので翌年のセットアップではタイマーの時刻がズレています。仕込み時に合わせれば問題ありませんが、この程度の精度で十分仕事になっています。より精度が高いのは NTPサーバーや基準電波との同期だと思います。1/100秒くらいの精度は出ると思いますので、年中動かしっぱなしならお勧めの方法です。
#ガチ工作 #器具の製作
基準となる時計の00秒で DMX-Timer のズレを見るハズが逆をやっていたようです。
先ほどチェックしたところ、120時間30分経過で42秒のズレです。誤差は 96ppm 程度。
一定していますのでそういうものだとしましょう。
昨日は34秒のズレだったワケです。
この誤差ですと1日あたり8秒、1時間あたり0.346秒、10分なら0.0576秒のズレです。1秒ズレるのは2時間53分後です。
DMX-Timer は計測や自動操作ではなく経過時間の目安を見るためのものです。量販店で手に入るストップウォッチと同等かそれ以上の精度ですから問題ないっしょ。
時間があって気が向いたら精度を高める方法を考えてみましょう。
もし、時計に相当する仕掛けを作るなら、それ相応の精度を持ったタイマーを使うか RaspberryPi などの NTPサーバーと通信出来るマイコンを使うのが良いかと。
タイマーを使った定時実行のライトアップを毎年やらせて頂いていますが、年に一回の使用なので翌年のセットアップではタイマーの時刻がズレています。仕込み時に合わせれば問題ありませんが、この程度の精度で十分仕事になっています。より精度が高いのは NTPサーバーや基準電波との同期だと思います。1/100秒くらいの精度は出ると思いますので、年中動かしっぱなしならお勧めの方法です。
#ガチ工作 #器具の製作
本業が忙しくなってきたので工作は一旦休憩です。
されど気になったので時計の精度について調べてみました。
一般的: 日差 -10〜+20秒程度
高品質/アンティーク: 日差 +30〜+60秒?
クロノメーター規格: 平均日差 -4〜+6秒以内
クォーツ式時計 通常モデル: 月差 ±15秒前後(日差にすると±0.5秒)
クォーツ式時計 年差モデル: 年差 ±5秒〜±1秒(超高性能)
とのこと。
一般的が「日差 -10〜+20秒程度」なら DMX-Timer はまぁまぁでしょう。
比較対象は原子時計の値を表示するアプリやサイトを使うのが良さそうです。
ネット回線の遅延もありますし観測期間が短いと評価が難しいので数日単位が良いと思います。4-5日動かして秒のズレで見ればいいかなと。
妄想ですが、ネットに繋げて原子時計と比較して自動的にキャリブレーションが出来たらいいなぁ~なんて思います。
DIYとして手に入る水晶発振子ですと温度による変動も大きいようです。製品によって違いますが、一般的には±20~100ppmくらいらしい。今以上の精度を求めるには温度管理が重要になりそう。こりゃ無理ってもんです。
#ガチ工作 #器具の製作
されど気になったので時計の精度について調べてみました。
一般的: 日差 -10〜+20秒程度
高品質/アンティーク: 日差 +30〜+60秒?
クロノメーター規格: 平均日差 -4〜+6秒以内
クォーツ式時計 通常モデル: 月差 ±15秒前後(日差にすると±0.5秒)
クォーツ式時計 年差モデル: 年差 ±5秒〜±1秒(超高性能)
とのこと。
一般的が「日差 -10〜+20秒程度」なら DMX-Timer はまぁまぁでしょう。
比較対象は原子時計の値を表示するアプリやサイトを使うのが良さそうです。
ネット回線の遅延もありますし観測期間が短いと評価が難しいので数日単位が良いと思います。4-5日動かして秒のズレで見ればいいかなと。
妄想ですが、ネットに繋げて原子時計と比較して自動的にキャリブレーションが出来たらいいなぁ~なんて思います。
DIYとして手に入る水晶発振子ですと温度による変動も大きいようです。製品によって違いますが、一般的には±20~100ppmくらいらしい。今以上の精度を求めるには温度管理が重要になりそう。こりゃ無理ってもんです。
#ガチ工作 #器具の製作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131

