鳥なき里のマイコン屋(140) ラズパイPico、float計算でROMを呼んでるよね

fmul_fdiv_ec
Joseph Halfmoon

今回は1点確認するだけであります。ラズパイPico上で float型 を使ったら RP2040の内の「fast floating point」を呼んでくれているのだよね、と。ラズパイPicoで積極的にfloatを使いたいとは思わないのですが、昨日 Cortex-M4F機(STM32F446RE)の上で float していたので、Picoの上の浮動小数点はどうなの?と気になったためです。

“鳥なき里のマイコン屋(140) ラズパイPico、float計算でROMを呼んでるよね” の続きを読む

ソフトな忘却力(5) CMakeLists.txtにリンク・ライブラリ指定、Boost

boost_filesystem
Joseph Halfmoon

前回は、VS Code拡張 CMake Toolsが生成してくれたCMakeLists.txtを手修正して「お好み」の階層構造でビルドできることを確かめました。今回はインストール済のライブラリを使えるようにしてみます。リンクするライブラリはBoostの中からFilesystemを選んでみました。何も難しいことはないのだけれど、結局ポカはあるのね。

“ソフトな忘却力(5) CMakeLists.txtにリンク・ライブラリ指定、Boost” の続きを読む

手習ひデジタル信号処理(3) STM32F446、DAのアップサンプリング

NUCLEO-F446RE
Joseph Halfmoon

シリーズ3回目ともなり、ようやく今回はちょっとデジタル信号処理っぽいところに入れます。とはいえ、まずは「動かして効果を実感してみよ」という感じです。実際の信号処理は裏のライブラリで処理されているものを使っているだけでお勉強はまだ後です。しかしま、衣の下(鎧ですぞ)がようやくチラチラしてきました。

“手習ひデジタル信号処理(3) STM32F446、DAのアップサンプリング” の続きを読む

忘却の微分方程式(16) 2Dプロットは仕切り直し、MathematicaとMaxima

MAX2d003
Joseph Halfmoon

Raspberry Piを利用したWolfram言語プロジェクト により無償で使用できるMathematica(Wolfram言語)と、定番の無償ツールMaximaを使用している5回目は2次元のプロットです。今回は Maxima 不戦敗な感じ、どうも私の手元のMaxima古くてダメかも。新版を再インストールして仕切り直した方が良い感じです。

“忘却の微分方程式(16) 2Dプロットは仕切り直し、MathematicaとMaxima” の続きを読む

ブロックを積みながら(38) Node-RED、Changeノード、実は超強力

Change Nodes Flow
Joseph Halfmoon

今回、Changeノードを使ってみて、その強力さをようやく理解しました。特にJSONata式を使うことでJSONオブジェクトに対してQueryをかける機能が良い感じです。この際、JSONataを勉強せねばと思いました。今まで Functionノードで書いていたもののかなりは Change ノードで代替可能に思えてきました。そして分かり易くて、書きやすい。今まで損していた?

“ブロックを積みながら(38) Node-RED、Changeノード、実は超強力” の続きを読む

MicroPython的午睡(45) MQTTでJSON-OBJ受信、M5ATOMLite

MQTTsettings_Flow
Joseph Halfmoon

前回が「送信」であったので、今回は当然「受信」です。しかし受信で想定しているのは何か設定値がホストから指令されてくるというシーン。「設定値」ともなるとそれを保存しておく場所から用意しておかないとマズイ気がします。そこで、設定値はNode-REDからアクセスできるSQLiteのデータベースに記録しておき、それを取り出して送ることに。今のところ何も効果はないですが。

“MicroPython的午睡(45) MQTTでJSON-OBJ受信、M5ATOMLite” の続きを読む

IoT何をいまさら(95) ATSAMD51、TRNG発EVSYS経由PORT行

TRNG_ACTIVE_EC
Joseph Halfmoon

周辺回路の動作完了をキッカケにメモリへ転送(DMA)とか、タイマのトリガでAD変換始めるとか、CPUの介在なしに装置間で制御を伝えることがあります。その中でもMicrochip社のATSAMマイコンが搭載しているEVSYSというものは極めて強力、ほとんどの周辺装置間でコミュニケーションがとれます。今回はTRNGでPort出力を制御してみます。

“IoT何をいまさら(95) ATSAMD51、TRNG発EVSYS経由PORT行” の続きを読む

ぐだぐだ低レベルプログラミング(31) RISC-V、ADDとSUBも凸凹じゃけんの

AddSub_EC
Joseph Halfmoon

前回は、論理演算 and命令を使って、オペランドによって生成される命令がRV32Iだったり、RV32Cになったりするのを目にしました。今回は算術演算 add と sub です。RISC-Vに「直交的な」エンコーディングを想像してはなりませぬ。今回は2つの命令の「割り切った」関係を観察したいと思います。割り算じゃないけど。

“ぐだぐだ低レベルプログラミング(31) RISC-V、ADDとSUBも凸凹じゃけんの” の続きを読む

鳥なき里のマイコン屋(139) ラズパイPico、内蔵ADCから外付けDACへ「スルー」

RPicoAD2DA_EC
Joseph Halfmoon

前回は、ラズパイPicoにI2C接続の外付けのDAC、MCP4725を接続してノコギリ波など出力させてみました。今回はラズパイPicoの内蔵ADCで得たアナログ値をそのまま外付けDACに「転送」してアナログ波形を「再現」してみます。ぶっちゃけSTM32で昨日やった件のまねっこ。タイミングの取り方が異なるし、外付けDACは転送ネックだし、どうなることか。

“鳥なき里のマイコン屋(139) ラズパイPico、内蔵ADCから外付けDACへ「スルー」” の続きを読む

ソフトな忘却力(4) 自動生成のCMakeLists.txtを改造して「自分の」にする

vscode_EC
Joseph Halfmoon

前回はVS Code拡張 ”CMake Tools” のクイックスタートを使ってみました。これでとりあえず空のディレクトリを「CMakeできる」ようにしてくれた、と。ここを出発点に自分でCMakeLists.txtを書き換えて「お好み」な感じにしてみます。CMake Tools自体、設定すればいろいろやってくれそうではあるのですが、CMakeのお勉強かねて直接。

“ソフトな忘却力(4) 自動生成のCMakeLists.txtを改造して「自分の」にする” の続きを読む

手習ひデジタル信号処理(2) ADからDA、割り込み方式、STM32のハードの裏とり?

STM32_AFE
Joseph Halfmoon

前回はADからDAへの「垂れ流し」ポーリング方式を勉強させていただきました。今回は割り込み方式です。そんな悠長に刻んでいたら死ぬまでに読み終わらない、とも思ったのですが、ちょっと立ち止まってSTM32F446REのハードを確認しておくことにいたしました。ロウレベルなところが気になると夜も眠れませぬ。

“手習ひデジタル信号処理(2) ADからDA、割り込み方式、STM32のハードの裏とり?” の続きを読む

忘却の微分方程式(15) 因数分解、方程式、MathematicaとMaxima

quadraticEquaton_Wolf_EC
Joseph Halfmoon

今回は、代数、といっても式の入力と、方程式の根をもとめる方法の入り口付近をなでてみます。これだけでも十分便利だけれども。ただ、触っていると裏側に隠れている恐ろし気なもの、というか、衣の下の鎧がみえる感じがします。まだまだ奥に進んだわけでないのだけれど。

“忘却の微分方程式(15) 因数分解、方程式、MathematicaとMaxima” の続きを読む

MicroPython的午睡(44) MQTTでJSON-OBJ送信、M5ATOMLite

uJsonFlow
Joseph Halfmoon

前回 MQTT Subscribe ができたので、MicroPythonで動いているM5ATOM LiteとNode-REDを動かしているRaspberry Pi 3機で上り下りの通信がOKとなりました。今回は、通信内容をJSON化して後で拡張しやすいようにしてみたいと思います。まずはPublish側から。使用するMicroPythonモジュールはujsonです。

“MicroPython的午睡(44) MQTTでJSON-OBJ送信、M5ATOMLite” の続きを読む

ブロックを積みながら(37) Node-RED、何でもあり?Functionノード、その1

FunctionNodeEC
Joseph Halfmoon

前回はInjectとDebugノードでした。今回は「コア」ノードの中でも、「何でもありそうで」とても1回で覚えきれそうにないFunctionノードを使用してみたいと思います。以前から見よう見まねで使ってはいるのですが表面的。いろいろやってみたいと思うので今回は「その1」ということで。「その2」は他のノードも一巡した後でかな、何時やるんかい?

“ブロックを積みながら(37) Node-RED、何でもあり?Functionノード、その1” の続きを読む