ブロックを積みながら(43) Node-RED、DashboardのTemplateノード

dashboard_template
Joseph Halfmoon

前回Templateノードを試してみました。しかし手元のパレットにはもう一つTemplateノードがあります。前回は「機能」パレットでしたが今回は「Dashboard」パレットの中のノードです。Dashboardは人とのインタフェースを担いますが、その中でも入出力双方をできるTemplateノードはお役立ちか?

“ブロックを積みながら(43) Node-RED、DashboardのTemplateノード” の続きを読む

IoT何をいまさら(99) ATSAMD51、DMAで1バイト転送成功までの長い道

DMA_EC
Joseph Halfmoon

Microchip社のArm Cortex-M4コア搭載「近代的」ATSAMD51 マイコンの周辺機能をレジスタレベルでプログラムしてその操作を噛みしめておりますシリーズ、今回はDMACであります。昔からあるDMAですが、近代化したマイコンのそれは機能も増えていろいろできます。その分設定はメンドいです。たった1バイトの転送設定に大わらわ。

“IoT何をいまさら(99) ATSAMD51、DMAで1バイト転送成功までの長い道” の続きを読む

ぐだぐだ低レベルプログラミング(36) RISC-V、ロードとストア、素直に動かしてみる

loadStore_EC
Joseph Halfmoon

前回、メモリアドレスをロードする小技をやったので、今回のロード、ストアでそれを使うかと思っていたですが、その影もありません。単純な命令テストだな。だって時間無かったのだもん。すみません。まあ一応RV32Iが定義しているロードストア命令の全種類を網羅、といっても8個ばかりですが。

“ぐだぐだ低レベルプログラミング(36) RISC-V、ロードとストア、素直に動かしてみる” の続きを読む

L.W.R.(33)古文書編#4『プログラミングとアーキテクチャ』VAX-11, CQ出版

VAX11_EC
Joseph Halfmoon

今回古文書のタイトルは『プログラミングとアーキテクチャ』。レヴィー/エックハウスJr. 共著白井訳、CQ出版1984年初版です。邦訳のタイトルだけでは何時の時代の何の話か分かりません。サブタイトルの「32ビット・スーパーミニコン VAX-11」を見てようやくVAXの本だと分かる次第。名著だと思います(個人の感想です。)

“L.W.R.(33)古文書編#4『プログラミングとアーキテクチャ』VAX-11, CQ出版” の続きを読む

MicroPython的午睡(50) ATOMLite、やらかしTZ、カレンダ変換

TZ_BUG
Joseph Halfmoon

前回、ATOMLiteで温湿度を測ってサーバーのNode-REDに報告をあげるようにいたしました。測定テストで温湿度の日変化を測るべし、とてATOMLiteを動かしたまま眠りについて発覚しました。アイキャッチ画像を御覧じろ。25時?RTCがそういうこと言う?私のバグでした、トホホ。NTPで得たUTCと、報告用のJSTの変換の間違い。

“MicroPython的午睡(50) ATOMLite、やらかしTZ、カレンダ変換” の続きを読む

トホホな疑問(41) ラズパイmicroSDのバックアップ、リストアの落とし穴?

microSD cards
Joseph Halfmoon

Raspberry Piは、microSDカードをストレージにしています。時々microSD全体を「イメージ」にしてバックアップされている方も多い筈。バックアップはHDD宛てなので問題ないですが、イメージからmicroSDへのリストア(レストア?)時にトラブるケースを体験。考えてみれば当たり前なんでありますが。

“トホホな疑問(41) ラズパイmicroSDのバックアップ、リストアの落とし穴?” の続きを読む

鳥なき里のマイコン屋(144) ラズパイPico、Arduino環境で外付けRTC接続

RPi_RTC4543_DUT
Joseph Halfmoon

前回、PlatformIOがいつの間にかラズパイPicoのRP2040に対応(Arduinoプラットフォームのみ)していたので吉例のLチカでその動作を確認しました。今回は、外付けのRTCからカレンダ時刻を読み込んで「使えるじゃん」と納得する、と。普通にArduinoのつもりでプログラムできる感じなのでSDKに比べると大分敷居が下がった感じもします。個人の好みだけれども。

“鳥なき里のマイコン屋(144) ラズパイPico、Arduino環境で外付けRTC接続” の続きを読む

ソフトな忘却力(9) 最適化とthread数、RPi3とRPi4ではまた違うのだ

Graph elapsed time - thread
Joseph Halfmoon

前回は、スレッド数に反比例して処理時間が短くなるサンプルプログラムに、コンパイラの最適化オプション効かせたら、マルチスレッドが効かなくなったのを目にしました。今回は、サンプルに「手を入れて」「スレッド化の効果あり」に無理やり変更の上、実行環境をラズパイ3からラズパイ4へ変えてみます。CPUの馬力が違うとまた違う。一筋縄ではいきまへん。

“ソフトな忘却力(9) 最適化とthread数、RPi3とRPi4ではまた違うのだ” の続きを読む

手習ひデジタル信号処理(7) STM32F446、巡回型移動平均2/3

MOVING_AVG2_MOD_BlockDiagram
Joseph Halfmoon

前回から引き続きの「巡回型移動平均」の2回目は、「巡回型に潜む魔物」を「かいまみる」予定でした。しかし魔物の召喚に失敗した模様。フツーに動いてしまいました。これではいけない、と無理やり魔物を登場させてみましたが、本当に無理やり、何やっているの?という感じ。こういう意外な挙動も「巡回型」?

“手習ひデジタル信号処理(7) STM32F446、巡回型移動平均2/3” の続きを読む

忘却の微分方程式(20) Maxima、三角関数の試行錯誤、思ったようには動かんな

Max_trigexpand_EC
Joseph Halfmoon

前回、MathematicaとMaximaの三角関数を使いってみましたが、三角関数の展開など、どうしてよいやらサッパリでした。今回は、Maxima中心に三角関数の加法定理とか積を和に直す公式とかを練習してみます。遥かな昔、高校のときにやった筈の物(とっくに忘れているけれど。)

“忘却の微分方程式(20) Maxima、三角関数の試行錯誤、思ったようには動かんな” の続きを読む

ブロックを積みながら(42) Node-RED、いろいろ作れるTemplateノード

template_ec
Joseph Halfmoon

今回試用してみますのは Template ノードです。テンプレートの所定位置に受信オブジェクト値の一部を「差し込んで」文字列を完成させるもの。素の文字列だけではなくてソースの生成もできる。作った文字列をJSONオブジェクトにパースして送り出す機能もあり、便利なノードです。とりあえず簡単なところを味わってみました。

“ブロックを積みながら(42) Node-RED、いろいろ作れるTemplateノード” の続きを読む

MicroPython的午睡(49) ATOMLite、温湿度を測ってNode-RED報告

ATOMLite_Dashboard
Joseph Halfmoon

今回からようやく外付けのデバイスをM5ATOMLiteに接続して、ラズパイで走っているNode-REDとの間を繋ぐところに入ってまいります。その1は、ありがちな「温度、湿度」のご報告です。ここまでの準備で、回路も簡単、ソフトも簡単、ほとんど何もやることがないです。本当か?

“MicroPython的午睡(49) ATOMLite、温湿度を測ってNode-RED報告” の続きを読む

やっつけな日常(1) ラズパイ4のPython3でRTC-4543SAの読み書きテスト

4543DUT
Joseph Halfmoon

やっつけでご乱心な今回は、先週クロックの出力のみ確認してあった「RTC-4543SAモジュールのカレンダ・タイマを実際に読み書きしてみよう」の回です。読み書きに使うのはRaspberry Pi 4であります。ラズパイはネットワークに同期した実時間時計が使用できるので外付けRTCなど不要。RTCモジュールの初期化と動作確認の目的のみ。

“やっつけな日常(1) ラズパイ4のPython3でRTC-4543SAの読み書きテスト” の続きを読む

ぐだぐだ低レベルプログラミング(35) RISC-V、32ビットのアドレスをロードする小技

GD32VF103VBT6_EC
Joseph Halfmoon

前回条件分岐をやり、今回はロード、ストアのつもりだったのですが、1つ忘れていることに気づきました。32ビットの即値、つまりはメモリアドレスのロードです。RISC系CPUでは限られた命令のビット幅との兼ね合いで苦労する部分ですが、RISC-Vはカッコよく始末している方ではないかと思います。とりあえずシンボルアドレスをGETしてメモリロードをしてみます。 “ぐだぐだ低レベルプログラミング(35) RISC-V、32ビットのアドレスをロードする小技” の続きを読む