鳥なき里のマイコン屋(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” の続きを読む

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

ATOMLite_Dashboard
Joseph Halfmoon

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

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

L.W.R.(32)古文書編#3 『Z-80 マイクロコンピュータ』寺田他、丸善1979

Z80micom
Joseph Halfmoon

1980年前後の時代は、Zilog社の8ビットCPU、Z80が、80系本家のインテルを凌駕していた時代ではないかと思います。Z80は非常に幅広く使われその流れの後継機種は90年代末でも使われていました。ちょっと特殊な分野では一部が今でも活躍しているみたい。今回のご本は、そのZ80の「教科書」として「決定版」であったもの。

“L.W.R.(32)古文書編#3 『Z-80 マイクロコンピュータ』寺田他、丸善1979” の続きを読む

やっつけな日常(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ビットのアドレスをロードする小技” の続きを読む

鳥なき里のマイコン屋(143) ラズパイPico、PlatformIOでArduino

Wiz000
Joseph Halfmoon

半年くらい前にはラズパイPicoに対応していなかった筈のPlatformIOが「Arduinoプラットフォーム」でPico対応をしていました。自分では何もしていないのですが、PC上でラズパイPicoのオブジェクトを生成できるようになってました。ボーっとして生きていても「自動で」世間の変化に追従できる?ありがたし。 “鳥なき里のマイコン屋(143) ラズパイPico、PlatformIOでArduino” の続きを読む

ソフトな忘却力(8) CMake、最適化オプションの置き場所。thread化の蹉跌?

SpeedGraph
Joseph Halfmoon

前回はPthreadを使って、スレッド数が多くなると処理時間が短くなるようなコードを書いてみました。今回はそれに最適化オプションを加えてみます。ヤバいな、ズルズルと深みにハマって行く感じがします。まずはCMakeの使い方もよく分かってないので、まずCMakeLists.txt内での最適化オプションの置き場所から調べないと。 “ソフトな忘却力(8) CMake、最適化オプションの置き場所。thread化の蹉跌?” の続きを読む

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

BodeMAVG_CYC1
Joseph Halfmoon

前回は非巡回型移動平均で単刀直入、分かり易かったです。今回「から」3回は巡回型移動平均です。3回分なのは、三上先生のご方針が、「巡回型」でも同じことができることを示したのち、「巡回型に潜む魔物」を垣間見、さらに整数処理の「黒魔術」の一端に触れるという流れなのかな、と忖度した次第。ホントか?

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

部品屋根性(55) chipKIT uC32、お買い得?でも先は無いのだ

uC32package
Joseph Halfmoon

前回は「悲しいお知らせ」ありのモジュールでしたが、今回もちょっと悲しい。こちらのチップはまだまだ製造中ですが、ボードの方が no longer for sale とな。でもお買い得なんでつい買ってしまいました。中々出来の良いボードに見えるのだが、勝馬でないとそんなところか。MIPS4000コア搭載!

“部品屋根性(55) chipKIT uC32、お買い得?でも先は無いのだ” の続きを読む

MicroPython的午睡(48) 中途半端なリファクタリング。組み込みには組み込みの?

FILES_Thonny
Joseph Halfmoon

前回、内蔵のLEDとスイッチがNode-REDから使えるように復旧しました。今回はいよいよ外付けハード追加と思ったのですが、その前にスクリプトを整理することにいたしました。カッコよく言うならリファクタリングというやつ。でも作業しながら、どうするのが良いのか迷いましたです。迷える子羊(?そうは見えないが)にお導きを。

“MicroPython的午睡(48) 中途半端なリファクタリング。組み込みには組み込みの?” の続きを読む

ぐだぐだ低レベルプログラミング(34) RISC-V、充実の?条件分岐命令、無駄は無いのだ

branchEC
Joseph Halfmoon

前回は比較命令でした。比較した結果を格納するフラグが無いと知ってちょっとギョッとしましたが、キャリーやオーバーフローに対応する結果がレジスタに入れば問題ない、と。今回は条件分岐です。フラグが無いので分岐命令自身がレジスタの内容を判定して飛びます。慣れたらかえって便利かも。必要十分な命令がそろっているし。

“ぐだぐだ低レベルプログラミング(34) RISC-V、充実の?条件分岐命令、無駄は無いのだ” の続きを読む

IoT何をいまさら(98) ATSAMD51、ADからDA直接、Wio Terminal

ADDA_EC
Joseph Halfmoon

前回はDACでアナログ波形を垂れ流してみました。ATSAMD51のDACにはいろいろ近代的な機能がありつつも最初は一番単純な方法で実験。今回はADCです。これまた近代的な機能がいろいろあるのです。しかしこちらも最初は単純な方法でまずは動かしてみます。ADCで測った波形をそのままDACに出力。サンプリング周波数は10kHz。

“IoT何をいまさら(98) ATSAMD51、ADからDA直接、Wio Terminal” の続きを読む