MicroPython的午睡(53) ESPRESSIF、ESP-EYEでLチカを

ESP-EYE Blink
Joseph Halfmoon

ESP-EYE、サンプルソフトで動作確認、そしてビルド環境をセットアップと2回作業をしたのですが、未だに自分で書いたプログラムでLチカさえも動かせてません。ESP-IDFの敷居が高いです。そこで今回は極端なショートカットでLチカを動かしてみました。ご存じESP32用genericポートを使えば3分でLチカ動いてしまう。

“MicroPython的午睡(53) ESPRESSIF、ESP-EYEでLチカを” の続きを読む

IoT何をいまさら(101) ATSAMD51、ICM、ハッシュ計算をする専用DMAC

HASH_EC
Joseph Halfmoon

前々回、トラぶりながらもなんとかDMACを動かしてみました。しかし、SAMD51にはもう一つDMACがあることに気づきました。ICMというものです。ぶっちゃけメモリのある領域のハッシュ値を計算してくれるDMACです。監視対象のメモリが書き換わってしまったら割り込みをかけるなどということも可能。流石近代的。 “IoT何をいまさら(101) ATSAMD51、ICM、ハッシュ計算をする専用DMAC” の続きを読む

MicroPython的午睡(52) ATOMLite、気圧の測定結果をNode-REDへ

Pressure_EC
Joseph Halfmoon

前回、定番の圧力センサ Bosch BMP280の補償計算をなんとかやっつけてMicroPythonで気圧と温度を測れるようになりました。今回は測った結果を、例によってMQTTに載せてNode-REDへ報告し、Dashboard上にグラフ表示してみます。まずは前回プログラムのモジュール化から。

“MicroPython的午睡(52) ATOMLite、気圧の測定結果をNode-REDへ” の続きを読む

鳥なき里のマイコン屋(146) ラズパイPico、C/C++SDK、マルチコアで割り込み1

MULTI_GPIO_INTR_DUT
Joseph Halfmoon

折角2コア積んでいるラズパイPicoなのに、大分前にちょっと2コアで動かしただけでした。これでは宝の持ち腐れです。無理にでも2コア使う方針といたしました。ま、動かしてみないと身に染みないこともあるっと。今回は2コアで外部端子からの割り込みを受けてみました。早速のお間抜けあり。

“鳥なき里のマイコン屋(146) ラズパイPico、C/C++SDK、マルチコアで割り込み1” の続きを読む

ぐだぐだ低レベルプログラミング(38) RISC-V、mulとdiv、RV32M拡張その1

TargetBoardandDebugger
Joseph Halfmoon

今回のRV32Mは拡張命令セットといいつつ、ほとんどの実装で採用されている筈のもの。整数掛け算と割り算であります。しかし命令が存在しても何サイクルで処理できるのかは実装依存です。まずはmulとdiv命令を使ってみて処理サイクル数を数えてみるところから始めました(前にもやったっけ?忘れているからいいか。)

“ぐだぐだ低レベルプログラミング(38) RISC-V、mulとdiv、RV32M拡張その1” の続きを読む

手習ひデジタル信号処理(9) STM32F446、FIRフィルタその1、直接形

FIR1_BodeEC
Joseph Halfmoon

今回からいよいよデジタル信号処理らしい「手習ひ」に入れます。その最初はFIRフィルタです。まずは素直な「直接形」の実装でその威力をシミジミ味わえ、という感じでありましょう。アイキャッチ画像に振幅特性を示しましたが、いい感じじゃないでしょうか。こちらは書いてあるとおりにやっただけなのですが、ちょっと感動。

“手習ひデジタル信号処理(9) STM32F446、FIRフィルタその1、直接形” の続きを読む

MicroPython的午睡(51) ATOMLite、BMP280の補償計算大変なのね

BMP280_EC
Joseph Halfmoon

前々回、温度と湿度を測ってNode-REDに報告しました。今回は気圧も測るべしということで、定番の圧力センサBosch BMP280をMicroPythonから制御してみることに。ただし読み取りは自前のコードで実施。簡単に圧力読めるものと思っていたら、補償の計算大変なのね。自分でやってみないと身にしみませぬ。

“MicroPython的午睡(51) ATOMLite、BMP280の補償計算大変なのね” の続きを読む

IoT何をいまさら(100) ATSAMD51、アナログコンパレータ AC を使ってみる

AC_EC
Joseph Halfmoon

Microchip社 ATSAMD51は、ADコンバータ、DAコンバータだけでなくアナログコンパレータ(AC)も搭載しています。2つの電圧を比較して大きい、小さいを判断できる回路。各種設定はソフトウエアですが、完全ハードウエアのコンパレータ的動作も可能。ただし今回は諸般の事情あり、割り込み受けです。

“IoT何をいまさら(100) ATSAMD51、アナログコンパレータ AC を使ってみる” の続きを読む

鳥なき里のマイコン屋(145) ラズパイPico、C/C++SDKでDMAを使ってみる

PicoDMA_DUT_EC
Joseph Halfmoon

今回はラズパイPicoのDMAC(Direct Memory Access Controller)を使ってみるために、前回の母艦PCのArduino環境から母艦ラズパイ4のC/C++SDK環境に戻ってまいりました。とりあえず最低線ということでソフトウエアトリガのメモリ間転送をやってみたのですが、ラズパイPicoのSDK楽です(別シリーズでやったDMAC実験に比べ。) “鳥なき里のマイコン屋(145) ラズパイPico、C/C++SDKでDMAを使ってみる” の続きを読む

ぐだぐだ低レベルプログラミング(37) RISC-V、無条件JMPもRETも皆CALL

callret_EC
Joseph Halfmoon

今回は、CISC風に言うと 無条件JMP、CALL、RETといった制御転送系の命令です。しかし例のごとくで、RISC-Vには CALL に相当する JALとJALRしかありません。「ジャル」一つでJMPもRETも皆やってしまう。清々しいというのはこういうものを言うような気がします。書き方は結構なんでもあり、なんだけれども。 “ぐだぐだ低レベルプログラミング(37) RISC-V、無条件JMPもRETも皆CALL” の続きを読む

トホホな疑問(42) ESP32-IDF、Hello world!でチョイとハマる

Joseph Halfmoon

1か月以上前にESP-EYEというAIカメラ的デバイスを手に入れたのに全然進んでおらなかったのが、その活用の前提となるESP32-IDF環境をセットアップするのを躊躇していたためであります。ハマりそうな予感がして逃げてたのですが、ようやく本日セットアップ。とりあえずDevkitCでHello worldできました。チョイとハマったけれども。

“トホホな疑問(42) ESP32-IDF、Hello world!でチョイとハマる” の続きを読む

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、ロードとストア、素直に動かしてみる” の続きを読む

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

TZ_BUG
Joseph Halfmoon

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

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