MicroPython的午睡(117) ESP32版、net接続すれば御勝手mip動作OK

mipWorks
Joseph Halfmoon

前回、ESP32版MicroPython上で、MicroPython特有のパッケージ管理ツール mip を走らせんと試みましたが一山超えて二山目で止まってました。今回はその二山目を超えるべくネット接続を追加してみました。あれよあれよと言ううちに一瞬でパッケージのインストールOK、mip 動作してしまったみたいです。
“MicroPython的午睡(117) ESP32版、net接続すれば御勝手mip動作OK” の続きを読む

PIC三昧(8) アナログ・コンパレータを使ってみる、PIC16F18855

CMP_DUT_EC
Joseph Halfmoon

前回はZCD(ゼロクロス検出器)で割り込みかけてみました。今回はアナログ入力電圧2つを比較する内蔵コンパレータを使ってみます。なにか基準電圧を上回ったら信号を出力したりできるもの。結果で割り込むことも可能ですが、直接外部出力信号とすることも可能。外付けオペアンプなど不要で済むのはありがたいかも。

“PIC三昧(8) アナログ・コンパレータを使ってみる、PIC16F18855” の続きを読む

モダンOSのお砂場(66) UNO R4、ルネサスRA4M1でFreeRTOS、Queue

UNOR4_FreeRTOS_queue_diagram
Joseph Halfmoon

今回はArm Cortex-M4コアのルネサスマイコンRA4M1を搭載したArduino UNO R4上で、FreeRTOSのQueueを使ってみたいと思います。複数のタスク間で安全にデータを受け渡しできる便利な構造です。データの送受ができることは当たり前なので、今回は送受にどのくらいの時間がかかるのだが目安を観察。 “モダンOSのお砂場(66) UNO R4、ルネサスRA4M1でFreeRTOS、Queue” の続きを読む

小ピンマイコンの酷暑(3) CH32V003、外部端子から割り込みをかけてみる

CH32V_EXTINTR_SCHEMATIC
Joseph Halfmoon

酷暑にもめげず、RISC-V搭載の超お求めやすい32ビットマイコンCH32V003を触っています。今回はGPIO端子から割り込みをかけてみます。Arduino IDE環境での作業なので「いつものやり方でOK」かというと微妙に違うんだこれが。前回のようにCH32V用の低レベルなAPIを呼びだす必要はないのですが。

“小ピンマイコンの酷暑(3) CH32V003、外部端子から割り込みをかけてみる” の続きを読む

Lispと一緒(3) uLisp、Wio Terminalのボタンをセンスする

button1EC
Joseph Halfmoon

前回は中身ばかりで外まで手が伸びませなんだ。今回はマイコンで走るuLispならではの外部入力も含めてみます。まずはWio Terminalの上端面に3つならんでいる「青いユーザーボタン」をセンスできるようにしてみます。LCDパネルに向かって右からボタン1,ボタン2、ボタン3であります。でも端子名は何?

“Lispと一緒(3) uLisp、Wio Terminalのボタンをセンスする” の続きを読む

GoにいればGoに従え(28) container/listをTinyGoで使ってみる

mb20listSRC
Joseph Halfmoon

前回はTinyGoでも「フルの」Goの標準ライブラリが立派に使える、ということで「値によって順番をつけて」データを格納してくれるheapを使ってみました。さて今回はその流れで container/list を使ってみます。順番を管理できるデータ構造です。それにどんな型のデータを入れても良いし。よくあるリスト構造だね。 “GoにいればGoに従え(28) container/listをTinyGoで使ってみる” の続きを読む

MicroPython的午睡(116) ESP32版、mip動かんぜよ?

testFunctoolsReduceResults
Joseph Halfmoon

前回はmpy-crossツールでmpyファイル化したスクリプトを、ストレージに置いて使ってみました。今回は外部のリポジトリからモジュールをダウンロード&インストールしてみる1回目デス。MicroPythonにもモジュール管理ツールあり、ということで mip 試してみたんですけど手元のESP32版では試行錯誤中、トホホ。

“MicroPython的午睡(116) ESP32版、mip動かんぜよ?” の続きを読む

PIC三昧(7) Zero-Cross Detection(ZCD)、PIC16F18855

PIC16F18855_ZCD_DUT
Joseph Halfmoon

前回は小規模なデジタル・ロジックを構築できるCLC機能でした。今回はアナログです、といっても軽いアナログ。ゼロ(グランド)通過を検出するゼロクロス検出機能です。マイコンでは時々必要になるんじゃないかと思います。それこそ商用電源をゼロクロスすれば、50Hz(あるいは60Hz)のタイミングが取り出せるっと。 “PIC三昧(7) Zero-Cross Detection(ZCD)、PIC16F18855” の続きを読む

モダンOSのお砂場(65) FreeRTOSのコルーチン、Deprecatedとな!

coroutineNOTE
Joseph Halfmoon

ソフトウエアは何時か滅びるとの理に思いはせる今回です。前回、Arduino UNO R4にてFreeRTOSのコルーチン動かしてみました。Configいじったりしてチョイ面倒だったです。しかしFreeRTOSのドキュメントを見たならば Deprecatedと表示がでてました。いつの間に?よく読んでなかった私が悪い。

“モダンOSのお砂場(65) FreeRTOSのコルーチン、Deprecatedとな!” の続きを読む

Lispと一緒(2) uLisp、Lispのリハビリその1、ループを回す

rectdemos
Joseph Halfmoon

組み込みマイコン向けのuLispを浮かれて始めたのは良いものの、元よりLisp素人、過去の記憶も忘却の彼方ということで、リハビリを行って少しずつ動けるようにいたしてまいりたいと存じます。折角グラフィックスが使えるWio Terminal機なので、動作が見た目に分かりやすいようにLispで描画してみると。

“Lispと一緒(2) uLisp、Lispのリハビリその1、ループを回す” の続きを読む

GoにいればGoに従え(27) container/heapをTinyGoで使ってみる

Defineiheap
Joseph Halfmoon

インタプリタ処理系のMicroPythonとコンパイラのTinyGoを比べるのもどうかと思うのですが。MicroPythonは「フルセットのPythonのライブラリのサブセット」を実装、一方TinyGoは「フルセットのGoのライブラリの一部」を使用可能というスタンスみたいっす。今回は乱雑な順に乱雑な値を入れても出すときは順番にならんでいるヒープ構造をTinyGoで使ってみます。 “GoにいればGoに従え(27) container/heapをTinyGoで使ってみる” の続きを読む

MicroPython的午睡(115) ESP32版、mpy-crossの利用

ESP32supportedMPY
Joseph Halfmoon

前回はヒープ・メモリの使用状況をちょいと観察しました。上限が小さいRAM領域は貴重。ターゲット機のESP32DevKitCの場合、まだFlash領域の方が余裕があるのでなるべくFlashに「追い出したい」デス。そこで今回はMicroPythonの中間コードにクロスコンパイルしてくれるmpy-crossを使用してみます。

“MicroPython的午睡(115) ESP32版、mpy-crossの利用” の続きを読む

PIC三昧(6) Configurable Logic Cell、PIC16F18855

CLC0imageS
Joseph Halfmoon

前回は複数の外部入力端子を組み合わせて割り込みをかけることもできるIOC機能でした。今回は複数の外部入力端子を含む各種信号を使ってロジックを作り、結果を外部出力したり内部回路で使ったりできるCIC機能を使ってみます。FPGAとはいかないですが、ごく小さなPLDみたいな感じ。外付けロジックIC数個分くらいの規模感。
“PIC三昧(6) Configurable Logic Cell、PIC16F18855” の続きを読む

モダンOSのお砂場(64) UNO R4、ルネサスRA4M1でFreeRTOSのコルーチン

ArduinoUNOR4corEC
Joseph Halfmoon

前回はOSタイマ前々回はTask(プリエンプティブな)、並行処理を行う方法はもうお腹一杯な気がしないでもないです。しかし、FreeRTOSにはもう一つあり。CoRoutineです。本格的なTaskが使えるFreeRTOSでわざわざコルーチンする意味があるのか不明ですが、今回は「あるものは使ってみる」ということで。
“モダンOSのお砂場(64) UNO R4、ルネサスRA4M1でFreeRTOSのコルーチン” の続きを読む