2022年2月12日の投稿[3件]
PythonのThreadとQueueの使い方はだいたい理解しました。
0.005秒のsleepで動作周期を持たせたThreadで512個の整数を延々と加算してqueue.putに出力し、本処理では0.001秒のsleepで動作周期を持たせたqueue.get_nowaitで取り出しながら0.1秒毎に表示を更新しています。処理負荷が小さくメモリ使用量も安定していてスムーズです。本処理での時間軸の管理はアセンブラっぽいカウンタ処理ですが、厳密な処理周期は不要なのでsignalを使うほどでもありません。
Threadを使うメリットは高速化だと書く人が多いですが、私にとっては、処理によって違う要求時間を仕分け出来て、ポーリングだけど割り込みっぽいことが出来ることです。画面の更新はそれほど頻繁でなくていいけど、毎秒44回更新されるDMXの信号の処理は遅れたくないのですが、シングルスレッドでこの辺りを制御するのは案外面倒なのです。
気を付ける点はQueueのputやgetのタイミングです。Queueは変数ではなくFIFO特性のスタックなことが肝ですが、C言語のスタックやポインタにセマフォが混ざった構成なので、C言語のこのあたりを知ってないと理解しにくいかも。PythonにC言語っぽい作法が残っているのが不思議ですが・・・
ThreadとQueueを使ってキーボードの入力も作り直します。
#RaspberryPi #Python
0.005秒のsleepで動作周期を持たせたThreadで512個の整数を延々と加算してqueue.putに出力し、本処理では0.001秒のsleepで動作周期を持たせたqueue.get_nowaitで取り出しながら0.1秒毎に表示を更新しています。処理負荷が小さくメモリ使用量も安定していてスムーズです。本処理での時間軸の管理はアセンブラっぽいカウンタ処理ですが、厳密な処理周期は不要なのでsignalを使うほどでもありません。
Threadを使うメリットは高速化だと書く人が多いですが、私にとっては、処理によって違う要求時間を仕分け出来て、ポーリングだけど割り込みっぽいことが出来ることです。画面の更新はそれほど頻繁でなくていいけど、毎秒44回更新されるDMXの信号の処理は遅れたくないのですが、シングルスレッドでこの辺りを制御するのは案外面倒なのです。
気を付ける点はQueueのputやgetのタイミングです。Queueは変数ではなくFIFO特性のスタックなことが肝ですが、C言語のスタックやポインタにセマフォが混ざった構成なので、C言語のこのあたりを知ってないと理解しにくいかも。PythonにC言語っぽい作法が残っているのが不思議ですが・・・
ThreadとQueueを使ってキーボードの入力も作り直します。
#RaspberryPi #Python
RaspberryPiにRTC(リアル・タイム・クロックを取り付けてみました。
RaspberryPiは無電源だと時計が動きませんので、起動すると前回終了した時刻から時計がカウントされます。
これでは気持ちが悪いし、ファイルの更新時刻がおかしくなると開発作業ではトラブルのもとです。
リンクの商品以外にもRTCはいろいろありますが、この製品は小型でGPIOに挿すだけで使えて何かとよいと思います。安価だし。
設定方法はこのサイトがわかりやすいと思います。/boot/config.txtを更新した後に再起動を忘れずに。
#RaspberryPi
RaspberryPiは無電源だと時計が動きませんので、起動すると前回終了した時刻から時計がカウントされます。
これでは気持ちが悪いし、ファイルの更新時刻がおかしくなると開発作業ではトラブルのもとです。
リンクの商品以外にもRTCはいろいろありますが、この製品は小型でGPIOに挿すだけで使えて何かとよいと思います。安価だし。
設定方法はこのサイトがわかりやすいと思います。/boot/config.txtを更新した後に再起動を忘れずに。
#RaspberryPi
3層目は無事硬化しました。
コテバケは掃除機で毛クズを除去して使いましたが完全にとはいきません。なでるとバリのようなのがあって気分が悪い。
#120-#240-#400と研ぎ進め、アセトンを噴霧しましたが、削り目を無くすことはできませんでした。
どうしようかと考えていたところ、倉庫の隅からダブルアクションのポリッシャーを発掘。今は無いホームセンターのシールが貼ってありましたのでかなり前に買ったのでしょう。
バフを取り付けてコンパウンドで磨いたところ解決。ペーパーは#400までしかなくコンパウンドも中目しかありませんでしたので鏡面にはなりませんが、毛クズバリを除去し削り目は十分に抑えられました。よいんでないか?
明日から一週間ほど現場に出ますが、その後にポリエステル樹脂をもう一層塗布し、もっと目の細かいペーパーとコンパウンドを使って仕上げるつもりです。
#ガチ工作
コテバケは掃除機で毛クズを除去して使いましたが完全にとはいきません。なでるとバリのようなのがあって気分が悪い。
#120-#240-#400と研ぎ進め、アセトンを噴霧しましたが、削り目を無くすことはできませんでした。
どうしようかと考えていたところ、倉庫の隅からダブルアクションのポリッシャーを発掘。今は無いホームセンターのシールが貼ってありましたのでかなり前に買ったのでしょう。
バフを取り付けてコンパウンドで磨いたところ解決。ペーパーは#400までしかなくコンパウンドも中目しかありませんでしたので鏡面にはなりませんが、毛クズバリを除去し削り目は十分に抑えられました。よいんでないか?
明日から一週間ほど現場に出ますが、その後にポリエステル樹脂をもう一層塗布し、もっと目の細かいペーパーとコンパウンドを使って仕上げるつもりです。
#ガチ工作