GoにいればGoに従え(1) TinyGoの復活というか再インストール

MicroBitTinyGoAgainB
Joseph Halfmoon

昨年の前半、年に一つくらいは「新言語習得」ということでGo言語を練習してました。その回数30回以上とな。しかし老人の忘却力には抗えませぬ。現在は元の木阿弥状態。記憶を復活させるべくGoの処理系、とくにマイコン用にオブジェクトコードを生成できるTinyGoの復活というか再インストールに取り組みましたです。 “GoにいればGoに従え(1) TinyGoの復活というか再インストール” の続きを読む

MicroPython的午睡(87) STM32版、入力キャプチャ割り込み受けで出力コンペア

ICOCintDiff1000
Joseph Halfmoon

前回Timer1の入力キャプチャを割り込み受け。速度的な制約のあるMicroPythonでも割り込みを使えば、ハードの制御はかなりできるじゃないかと思います。今回は、前々回やった出力コンペアの設定を入力キャプチャ割り込みで制御してみたいと思います。割り込みハンドラでハードを制御できるのでメインは別な仕事をできると。
“MicroPython的午睡(87) STM32版、入力キャプチャ割り込み受けで出力コンペア” の続きを読む

MicroPython的午睡(86) STM32版、タイマ・チャネル、割り込み受け TIPS

IntrErrorEC
Joseph Halfmoon

前々回前回とTimer1のチャネル機能、入力キャプチャと出力コンペアを使ってみました。しかし、入力キャプチャのタイミングを割り込み受けしておらずポーリング。そこで今回はチャネルからの割り込みをハンドリングしてみたいと思います。ま、ね、MicroPythonの割り込みハンドラの書き方を調べとけ、ということだったですが。
“MicroPython的午睡(86) STM32版、タイマ・チャネル、割り込み受け TIPS” の続きを読む

MicroPython的午睡(85) STM32版、入力キャプチャから出力コンペア

OutputCompare
Joseph Halfmoon

前回はインプットキャプチャ機能を使用してみました。インプットキャプチャ機能と対にして使われるのがアウトプットコンペア機能です。STM32版のMicroPythonでは両機能が併用可能です。外部で発生するイベントを検出し、イベントから一定時間後に何かの制御を行うということをハードウエアの正確なタイミングで行えます。 “MicroPython的午睡(85) STM32版、入力キャプチャから出力コンペア” の続きを読む

モダンOSのお砂場(61) Keil Studio Cloudへの自動変換、赤でもビルドでき

Nucleo_rtos_training00_EC
Joseph Halfmoon

年末で閉鎖のArm Online Compilerの移行方法の1番手はKeil Studio Cloudへの自動COPYです。COPY成功しても古いAPIを使っていると新しいAPIで動作しているKeil Studio CloudのIDE上はエラーが出る件(けれどビルド可能)、一番ボロボロだったケース、ご参考まで。
“モダンOSのお砂場(61) Keil Studio Cloudへの自動変換、赤でもビルドでき” の続きを読む

MicroPython的午睡(84) STM32版、Timer1入力キャプチャで周波数測定

Timer1IC_DUT
Joseph Halfmoon

MicroPythonの場合、タイマのPWM出力機能をサポートしている処理系は多いですが、タイマの外部入力機能をサポートしている処理系は少ないように思います。しかしSTM32用の処理系の場合、入力機能もいくらかサポートされています。今回は入力キャプチャ機能を使って外部から与える信号の周波数を測ってみたいと思います。 “MicroPython的午睡(84) STM32版、Timer1入力キャプチャで周波数測定” の続きを読む

IoT何をいまさら(112) SAMD21版 Xiao からNode-REDへJSON

Rpi_Xiao_DUT
Joseph Halfmoon

ESP32C3搭載のXiaoばかり使っているので、SAMD21マイコン搭載のXiaoが「遊休化」。これにカツを入れるべく、今回はSAMD21版XiaoからUART経由でラズパイ上のNodeREDにJSONを送り付けてみます。WiFiは無いけど、ちゃんとJSONでやりとりができるようにしたいです。今回は送るだけですけど。
“IoT何をいまさら(112) SAMD21版 Xiao からNode-REDへJSON” の続きを読む

MicroPython的午睡(83) STM32F401RE版、Timer1、クロック周波数

84MHz
Joseph Halfmoon

前回タイマとPWM出力端子の関係を調べました。調べ忘れがひとつ。MicroPython的には freq=xxx という形で指定すればよきに計らってくれるので使い方によっては知る必要ないのです。しかし入力キャプチャ機能を使おうなどと考えるとTimerに与えられているソースクロックの周波数を知らずにはいられませぬ。
“MicroPython的午睡(83) STM32F401RE版、Timer1、クロック周波数” の続きを読む

モダンOSのお砂場(60)Arm Online Compilerからの脱出、まとめ

OnlineCompiler
Joseph Halfmoon

2022年末にてArm Online Compilerが閉鎖ということでいろいろ試行錯誤してきましたが、いろいろやりすぎて自分でも分けわからなくなってきました。今回は一度立ち止まり、いままでにやってみたことをまとめてみます。簡単とか難しいとか個人の感想です。また調べ切れてないので間違ったことを書いているかもしれません。 “モダンOSのお砂場(60)Arm Online Compilerからの脱出、まとめ” の続きを読む

IoT何をいまさら(111) Xiao ESP32C3、JSONオブジェクトをパブリッシュ

MQTT_IN_setting
Joseph Halfmoon

前回Seeed社XiaoシリーズのRISC-VコアESP32C3搭載機で取得したアナログデータをNodeREDサーバのレベルゲージに表示。しかし不満もあり。機能追加のたびにMQTTブローカのトピックを追加、送るデータも文字列。この際「統一的に」JSONオブジェクトを送ることにしたいです。今回はその第一歩とな。

“IoT何をいまさら(111) Xiao ESP32C3、JSONオブジェクトをパブリッシュ” の続きを読む

MicroPython的午睡(82) STM32F401RE版、タイマとPWM出力端子の関係

PWMtestDUTb
Joseph Halfmoon

前回はタイマが使用中か否かを確認する方法を確認。今回はタイマを使用するMicroPython機能としてPWM出力を使ってみたいと思います。ほとんどのタイマはPWM出力が可能なチャネルを4つずつ持っています。しかしどのタイマのどのチャネルをどこのピンに出せるかはハードで決まっています。まずそこから表にしてみました。
“MicroPython的午睡(82) STM32F401RE版、タイマとPWM出力端子の関係” の続きを読む

モダンOSのお砂場(59)Keil Studio Cloud、すんなりOS6、ドタバタOS2

T1_RunsonF072RB2
Joseph Halfmoon

2022年末にてArm Online Compilerが閉鎖ということで、第55回から第57回でその移行先を試してみました。今回もその続きです。Mbed OSを載せるにはギリギリのリソースのマイコンで新規プロジェクトをビルドしてみるの回です。Cortex M0、RAM16KBというマイコン2機種でやってみます。

“モダンOSのお砂場(59)Keil Studio Cloud、すんなりOS6、ドタバタOS2” の続きを読む

うさちゃんと一緒(31) Z80の魔改造?Rabbit4000で ECHO 再び

wiresharkECHO2flow
Joseph Halfmoon

前回「素の」telnetでラズパイ4からうさちゃんRabbit4000へ通信してみました。裏でtelnetが通信条件など双方向でネゴっていることを学びました。でも実際のデータ転送は一方通行でした。うさちゃんからのお返事はなし。今回はうさちゃん側からのお返事あり、としてみとうございます。

“うさちゃんと一緒(31) Z80の魔改造?Rabbit4000で ECHO 再び” の続きを読む

IoT何をいまさら(110) Xiao ESP32C3、アナログ測定値でレベルゲージ表示

ESP32C3LEVG_EC
Joseph Halfmoon

前回Seeed社XiaoシリーズのRISC-VコアESP32C3搭載機とNodeREDサーバ間で双方向のMQTTメッセージの通信ができるようになりました。今回は余勢をかって、ESP32C3側で測定したアナログ値をNodeREDに報告、0から100%のレベルゲージ形式でブラウザに表示してみたいと思います。

“IoT何をいまさら(110) Xiao ESP32C3、アナログ測定値でレベルゲージ表示” の続きを読む