MicroPython的午睡(58) micro:bit v2、MicroPython書込

microbitV2
Joseph Halfmoon

以前 BBC micro:bit v1上でMicroPythonを動かしてみたことがあったのです。メモリが小さな v1 では大したスクリプトを動かせなかったです。しかしメモリ容量の拡大した v2 でなら動くはず。今回、MicroPythonのビルドからやってインストールしてみたのですが、調べてみたらビルドなど不要でした。トホホ。

“MicroPython的午睡(58) micro:bit v2、MicroPython書込” の続きを読む

Pico三昧(4) Pico C/C++ SDKで74HC595接続、PIO制御編2直列

Pico_595_SER_Schematic
Joseph Halfmoon

前回、ラズパイPicoのプログラマブルIO制御で、74HC595の2個並列と2個直列、同じ回で両方やってみようとしたら、まさかの半田不良で手間取りました。結局「並列」の方のみ実施。今回は、残りの直列接続の方をやってみます。形は出来ているので、今度こそ簡単に出来る筈。

“Pico三昧(4) Pico C/C++ SDKで74HC595接続、PIO制御編2直列” の続きを読む

手習ひデジタル信号処理(15) STM32F446、IIRフィルタその4、継続型Class

FAIL_Bode
Joseph Halfmoon

前回と今回は算法的にはまったく同じ、その差はソフトウエア部品として使い易いようにクラス化するところだけ。だったら簡単じゃん、と甘くみて例のごとくにハマりました。クラス化する「エレガントな」書き方を学ぶべく、1行1行手入力したら間違えてました。ボーっとして入力しているからだ。

“手習ひデジタル信号処理(15) STM32F446、IIRフィルタその4、継続型Class” の続きを読む

IoT何をいまさら(104) ESP-EYE、ESP-IDFでSimple HTTPD

HELLO
Joseph Halfmoon

ESP-IDFのExampleをほとんどコピペしながら、ESP-EYEを一歩一歩動かしてみております。前回はWiFiアクセスポイントに接続成功。今回はシンプルなhttpdを動作させて、パソコンからアクセスしてみます。インクリメンタルに継ぎ足してきている実験用のソースファイルが膨れ上がってきました。そろそろ対処を考えないと。

“IoT何をいまさら(104) ESP-EYE、ESP-IDFでSimple HTTPD” の続きを読む

モダンOSのお砂場(31) FreeRTOS、タスク・リストを一覧する

vTaskListEC
Joseph Halfmoon

ここ数回、Seeeduino Xiaoボード(Microchip製のArmコア内蔵SAMD21マイコン搭載)上でFreeRTOSのタスクを作ってその動作を観察しています。タスク数は少ないのだけれどもタスクの一覧みたいなものが見たくなってきました。そのためのAPIがありました。組み込み用のOSなので、デバッグするとき向けの機能ですが。 “モダンOSのお砂場(31) FreeRTOS、タスク・リストを一覧する” の続きを読む

ぐだぐだ低レベルプログラミング(44) 64bit RISC-V、サイクル数と命令数の計測

DUT_EC
Joseph Halfmoon

環境を変えたのに確かめていなかった命令群があります。サイクル数と命令数の計測機能です。32bit RISC-V(GD32VF103)では、お世話になっています。64bit RISC-VのK210でも使える筈ではあるのですが、確認しておきたいと思います。しかし、前々回からFlashへの書き込みはラズパイ4機に頼り切り、そろそろなんとかしないと。

“ぐだぐだ低レベルプログラミング(44) 64bit RISC-V、サイクル数と命令数の計測” の続きを読む

Pico三昧(3) Pico C/C++ SDKで74HC595接続、PIO制御編2並列

DUT_PHOTO
Joseph Halfmoon

前回はラズパイPicoのPIO(プログラマブルIO)ステートマシンを使って単体の74HC595を制御しました。今回は2個同時制御、直列接続と並列接続を1回で済ませようとしてツボにハマりました。2個目が動かないデス。なんで?並列接続にて問題追及、動作OKとなりました。ソフトバグの裏に半田付け不良が隠れていた。何ってこったい!

“Pico三昧(3) Pico C/C++ SDKで74HC595接続、PIO制御編2並列” の続きを読む

手習ひデジタル信号処理(14) STM32F446、IIRフィルタその3、継続型

IIRdut
Joseph Halfmoon

前回は同じ構成のIIRフィルタの計算をFloat型からDouble型にするだけで問題が消える件を勉強しました。今回はFloat型のままでOKという話。だったら最初から言ってよ、とは言わず、一歩一歩手習ひいたしとうございます。なぜOKになるのか、ブロックダイアグラムを見ればどこが違うかは分かりまする。でも何故?

“手習ひデジタル信号処理(14) STM32F446、IIRフィルタその3、継続型” の続きを読む

MicroPython的午睡(57) ATOMLite、NodeREDからブザーを制御

ATOMLiteDashBoard_EC
Joseph Halfmoon

前回はM5ATOMLiteに接続したブザーをPWMで鳴らせるようにしました。今回は、ブラウザ画面からNode-REDダッシュボードを操作して、そのブザーを鳴らしてみようと思います。鳴らしたままだとウルサイので止める機能も仕込んでありますよ。それにしてもATOMLite用のダッシュボード、項目増えすぎか。

“MicroPython的午睡(57) ATOMLite、NodeREDからブザーを制御” の続きを読む

IoT何をいまさら(103) ESP-EYE、ESP-IDFでWiFi AP接続

ESP_EC
Joseph Halfmoon

前回、ESP-EYEをESP-IDF環境でプログラムできるように勉強しようとて、まずはWiFiアクセスポイント(AP)をスキャンしてみました。当然今回はAPに接続となります。接続そのものはサンプルコードをコピペすれば簡単、ではあるのです。が、前回に引き続き Config 関係を調べつつ動かしてみたいと思います。

“IoT何をいまさら(103) ESP-EYE、ESP-IDFでWiFi AP接続” の続きを読む

ぐだぐだ低レベルプログラミング(43) 64bitRISC-V、レジスタとレジスタ間転送

floatFormat
Joseph Halfmoon

前回は、まさかのトラブル勃発で、最低説明しておくべき項目を落としてしまいました。64bit かつ 単精度/倍精度の浮動小数点演算命令を備えたRISC-Vのレジスタセットと、レジスタ間転送についてです。今回はその補遺であります。ぶちゃけレジスタの図が1枚。

“ぐだぐだ低レベルプログラミング(43) 64bitRISC-V、レジスタとレジスタ間転送” の続きを読む

モダンOSのお砂場(30) FreeRTOS、タイマAPI対vTaskDelay

Seeeduino Xiao on BB
Joseph Halfmoon

前回は、自ら制御権を放棄するスケジューリングとプリエンプティブに取り出されるまで手放さないものを比べてみました。今回はタスクを決めた期間休ませるのに使っていたvTaskDelayを使わずタイマAPIを使って定期的に仕事をさせる方法と、今まで通りのvTaskDelayを使う方法を比べてみたいと思います。 “モダンOSのお砂場(30) FreeRTOS、タイマAPI対vTaskDelay” の続きを読む

ぐだぐだ低レベルプログラミング(42) 64bitRISC-V、単精度浮動小数点add

RPi4_MaixBit
Joseph Halfmoon

前回から64bitのRISC-V搭載のK210にターゲットを切り替えたのですが、今回はまさかの問題勃発。Flashに書き込めません。というか接続するとPCの挙動が不審。どうしたものか。そこで困ったときのラズパイ頼み、Picoの母艦のラズパイ4機にK210ボードへの書き込みをお願い。OK、単精度浮動小数点add命令動いています。

“ぐだぐだ低レベルプログラミング(42) 64bitRISC-V、単精度浮動小数点add” の続きを読む

Pico三昧(2) Pico C/C++ SDKで74HC595接続、PIO制御編単品

PIO595EC
Joseph Halfmoon

前回は、定番の74HC595シフトレジスタをフルソフト制御で扱ってみました。今回はラズパイPicoの特徴であるPIO(プログラマブルIO)を使って制御してみます。既にMicroPythonからPIOによる74HC595の制御はやってみているので、PIOアセンブラはPythonコードからの移植、という感じ。 “Pico三昧(2) Pico C/C++ SDKで74HC595接続、PIO制御編単品” の続きを読む