単精度浮動小数点数ですら恐れ多くて使えない、しがないマイコン屋にとっては多倍長精度演算ライブラリなどはまずは無縁な存在であります。しかし稀にその名を目にすることがあります。何かの事情でソースからgccをビルドしなけりゃならないときでしょう。gmpを使えるようにしておいてね、と言われます。たまには使ってみたいもんデス。
やっつけな日常(48) RustにいればRustに従え、融通の利くprintln!
Rustは型に厳格といいつつ「意外と融通を利かせて」くれるような気が(個人の感想っす。)それはコンパイラが厳格に管理している(変なことはできない)ために可能な技?なのかもしれませぬが。今回は「融通が利く」println!と「融通が利かない」assert_eq!を比べながら実験してみたいと思います。どちらもマクロだね。
“やっつけな日常(48) RustにいればRustに従え、融通の利くprintln!” の続きを読む
ブロックを積みながら(97) Node-REDでJSONataの練習その2
JSONからのデータ抽出や変形に威力を発揮するJSONataの練習に戻ります。今回はJSONataの関数のうち数値データを処理するものを実験するつもりです。まずは一番やりたかったタイムスタンプ「数値」(Unix Epoch)からの変換機能を体験。タイムスタンプの各種変換はJSONataにお任せするのが正解?
手習ひデジタル信号処理(63) Scilab、差分方程式を直接計算、1次IIRフィルタ
IoT何をいまさら(112) SAMD21版 Xiao からNode-REDへJSON
ESP32C3搭載のXiaoばかり使っているので、SAMD21マイコン搭載のXiaoが「遊休化」。これにカツを入れるべく、今回はSAMD21版XiaoからUART経由でラズパイ上のNodeREDにJSONを送り付けてみます。WiFiは無いけど、ちゃんとJSONでやりとりができるようにしたいです。今回は送るだけですけど。
“IoT何をいまさら(112) SAMD21版 Xiao からNode-REDへJSON” の続きを読む
ぐだぐだ低レベルプログラミング(94)ARM64(AArach64)、ロードストア命令その5
今回扱うLDP命令には、デスティネーションが2つあります。といって驚いちゃいけません。32ビットのArm命令(A32)には任意本数のレジスタをスポポンと1命令で出し入れするLDM/STMなどという命令まであったことに比べれば、A64は「抑え気味」です。でも言いたくなります。それでもRISCかよ?と。 “ぐだぐだ低レベルプログラミング(94)ARM64(AArach64)、ロードストア命令その5” の続きを読む
MicroPython的午睡(83) STM32F401RE版、Timer1、クロック周波数
前回タイマとPWM出力端子の関係を調べました。調べ忘れがひとつ。MicroPython的には freq=xxx という形で指定すればよきに計らってくれるので使い方によっては知る必要ないのです。しかし入力キャプチャ機能を使おうなどと考えるとTimerに与えられているソースクロックの周波数を知らずにはいられませぬ。
“MicroPython的午睡(83) STM32F401RE版、Timer1、クロック周波数” の続きを読む
忘却の微分方程式(74) 反復練習37、定積分、ムツカしい奴、一発では解けないの?どうする?
定積分の練習を続けてますが、とうとう壁にあたりました。今まではintegrate一発で積分できていましたが、とうとうintegrateに素のままでお願いしても処理してもらえないケースが出てきました。困った。気をとりなおして「弱点克服」教科書通りに事前の準備をして乗り切りました。でも定石覚えてないととけないぞなもし。 “忘却の微分方程式(74) 反復練習37、定積分、ムツカしい奴、一発では解けないの?どうする?” の続きを読む
モダンOSのお砂場(60)Arm Online Compilerからの脱出、まとめ
2022年末にてArm Online Compilerが閉鎖ということでいろいろ試行錯誤してきましたが、いろいろやりすぎて自分でも分けわからなくなってきました。今回は一度立ち止まり、いままでにやってみたことをまとめてみます。簡単とか難しいとか個人の感想です。また調べ切れてないので間違ったことを書いているかもしれません。 “モダンOSのお砂場(60)Arm Online Compilerからの脱出、まとめ” の続きを読む
データのお砂場(60) R言語、islands、島だけでない面積のランキング?
R言語付属のデータセットをアルファベット順(大文字優先)で眺めてます。今回のデータセット名は islands。しかし島ばかりでない、大陸も含めたメジャーな土地の面積の羅列です。なにか統計処理するほどでもない、せいぜいランキングを作るくらい?のもの。クイズ豆知識か?でも眺めてみると意外と知らない名前の島があること。 “データのお砂場(60) R言語、islands、島だけでない面積のランキング?” の続きを読む
ブロックを積みながら(96) Node-REDのJSONビジュアルエディタ
前回からJSONataの練習開始。テスト用に「JSON書くのカッタリー」などと不埒。JSON素人はついカンマを打ち忘れたり、いろいろミスするための自業自得なのであります。しかしそういえばNode-REDにはJSONオブジェクトを記述するためのビジュアルエディタというものも含まれておるのです。今回は「使ってみた」編。
IoT何をいまさら(111) Xiao ESP32C3、JSONオブジェクトをパブリッシュ
前回、Seeed社XiaoシリーズのRISC-VコアESP32C3搭載機で取得したアナログデータをNodeREDサーバのレベルゲージに表示。しかし不満もあり。機能追加のたびにMQTTブローカのトピックを追加、送るデータも文字列。この際「統一的に」JSONオブジェクトを送ることにしたいです。今回はその第一歩とな。
ぐだぐだ低レベルプログラミング(93)ARM64(AArach64)、ロードストア命令その4
今回はイミディエイト・オフセットで同じアドレスを指すのに2通りの命令がある話。一つはスケールド12ビット、もう一つはスケール無9ビット。12ビットあればいいじゃん、と思わないこともないのですが、心の広いArm様です。アン・アラインドなアクセスはお勧めしないけれど一律禁止ではありません。よってスケールしない命令も必要と。
MicroPython的午睡(82) STM32F401RE版、タイマとPWM出力端子の関係
前回はタイマが使用中か否かを確認する方法を確認。今回はタイマを使用するMicroPython機能としてPWM出力を使ってみたいと思います。ほとんどのタイマはPWM出力が可能なチャネルを4つずつ持っています。しかしどのタイマのどのチャネルをどこのピンに出せるかはハードで決まっています。まずそこから表にしてみました。
“MicroPython的午睡(82) STM32F401RE版、タイマとPWM出力端子の関係” の続きを読む