
前回、PlatformIOがいつの間にかラズパイPicoのRP2040に対応(Arduinoプラットフォームのみ)していたので吉例のLチカでその動作を確認しました。今回は、外付けのRTCからカレンダ時刻を読み込んで「使えるじゃん」と納得する、と。普通にArduinoのつもりでプログラムできる感じなのでSDKに比べると大分敷居が下がった感じもします。個人の好みだけれども。
デバイス作る人>>デバイス使う人>>デバイスおたく
前回、PlatformIOがいつの間にかラズパイPicoのRP2040に対応(Arduinoプラットフォームのみ)していたので吉例のLチカでその動作を確認しました。今回は、外付けのRTCからカレンダ時刻を読み込んで「使えるじゃん」と納得する、と。普通にArduinoのつもりでプログラムできる感じなのでSDKに比べると大分敷居が下がった感じもします。個人の好みだけれども。
前回は、スレッド数に反比例して処理時間が短くなるサンプルプログラムに、コンパイラの最適化オプション効かせたら、マルチスレッドが効かなくなったのを目にしました。今回は、サンプルに「手を入れて」「スレッド化の効果あり」に無理やり変更の上、実行環境をラズパイ3からラズパイ4へ変えてみます。CPUの馬力が違うとまた違う。一筋縄ではいきまへん。
前回から引き続きの「巡回型移動平均」の2回目は、「巡回型に潜む魔物」を「かいまみる」予定でした。しかし魔物の召喚に失敗した模様。フツーに動いてしまいました。これではいけない、と無理やり魔物を登場させてみましたが、本当に無理やり、何やっているの?という感じ。こういう意外な挙動も「巡回型」?
前回、MathematicaとMaximaの三角関数を使いってみましたが、三角関数の展開など、どうしてよいやらサッパリでした。今回は、Maxima中心に三角関数の加法定理とか積を和に直す公式とかを練習してみます。遥かな昔、高校のときにやった筈の物(とっくに忘れているけれど。)
やっつけでご乱心な今回は、先週クロックの出力のみ確認してあった「RTC-4543SAモジュールのカレンダ・タイマを実際に読み書きしてみよう」の回です。読み書きに使うのはRaspberry Pi 4であります。ラズパイはネットワークに同期した実時間時計が使用できるので外付けRTCなど不要。RTCモジュールの初期化と動作確認の目的のみ。
前回条件分岐をやり、今回はロード、ストアのつもりだったのですが、1つ忘れていることに気づきました。32ビットの即値、つまりはメモリアドレスのロードです。RISC系CPUでは限られた命令のビット幅との兼ね合いで苦労する部分ですが、RISC-Vはカッコよく始末している方ではないかと思います。とりあえずシンボルアドレスをGETしてメモリロードをしてみます。 “ぐだぐだ低レベルプログラミング(35) RISC-V、32ビットのアドレスをロードする小技” の続きを読む
半年くらい前にはラズパイPicoに対応していなかった筈のPlatformIOが「Arduinoプラットフォーム」でPico対応をしていました。自分では何もしていないのですが、PC上でラズパイPicoのオブジェクトを生成できるようになってました。ボーっとして生きていても「自動で」世間の変化に追従できる?ありがたし。 “鳥なき里のマイコン屋(143) ラズパイPico、PlatformIOでArduino” の続きを読む
前回はPthreadを使って、スレッド数が多くなると処理時間が短くなるようなコードを書いてみました。今回はそれに最適化オプションを加えてみます。ヤバいな、ズルズルと深みにハマって行く感じがします。まずはCMakeの使い方もよく分かってないので、まずCMakeLists.txt内での最適化オプションの置き場所から調べないと。 “ソフトな忘却力(8) CMake、最適化オプションの置き場所。thread化の蹉跌?” の続きを読む
前回は非巡回型移動平均で単刀直入、分かり易かったです。今回「から」3回は巡回型移動平均です。3回分なのは、三上先生のご方針が、「巡回型」でも同じことができることを示したのち、「巡回型に潜む魔物」を垣間見、さらに整数処理の「黒魔術」の一端に触れるという流れなのかな、と忖度した次第。ホントか?
前回、内蔵のLEDとスイッチがNode-REDから使えるように復旧しました。今回はいよいよ外付けハード追加と思ったのですが、その前にスクリプトを整理することにいたしました。カッコよく言うならリファクタリングというやつ。でも作業しながら、どうするのが良いのか迷いましたです。迷える子羊(?そうは見えないが)にお導きを。
前回は、Sequenceを作り出すために Splitノードを使ってしまいました。さすれば、今回は Joinノードを使ってSplitしたSequenceを元に戻してみるしかありません。やって見ればシミジミ会得できました。何もすることはありません。勝手に元に戻ります。これもSplitノードが「仕込んで」くれているお陰。