MicroPython的午睡(124)ESP32のMicroPythonでPICのテスト補助

SPI_master_slave_DUT
Joseph Halfmoon

別シリーズにてPICマイコン搭載のSPIスレーブを実験。しかし実験用にSPIマスタを作るのがメンドかったので、「テキトー」にマスタ波形らしきものを作りPICマイコンにデータが届くことだけを確認しました。でもね、ちゃんとマスタを設えてそれなりにデータをいろいろ送ってみたいデス。そういう時こそMicroPythonがお楽。
“MicroPython的午睡(124)ESP32のMicroPythonでPICのテスト補助” の続きを読む

MicroPython的午睡(123) Thonny、MicroPythonで使用可な機能

Variables0
Joseph Halfmoon

前回ThonnyIDEのことをリトアニア製などと書いてしまいました。大変申し訳ございません。エストニア製です。訂正させていただきます。エストニアのタルトゥ大学のプロジェクトの成果物がもとになっているようです。タルトゥから東へに三十キロも行ったならば国境の湖に達するようです。ロシア国境だと。

“MicroPython的午睡(123) Thonny、MicroPythonで使用可な機能” の続きを読む

MicroPython的午睡(122) Thonny IDE、シリアルプロッタを使ってみる

plotterDemo
Joseph Halfmoon

MicroPythonプログラムをマイコンに書き込むための開発環境としてThonny IDEを使わせていただいております。リトアニアエストニア製ね。しかし何時ものことですがウカツ。Thonny IDEにもシリアルプロッタ機能が組み込まれていたのね。Arduino IDEに搭載の機能と似た機能です。知ってりゃ使っていたよ、もう。

“MicroPython的午睡(122) Thonny IDE、シリアルプロッタを使ってみる” の続きを読む

MicroPython的午睡(121) ESP32版、ULPで電圧を測ってみる

ESP32ULP_ADC_DUT
Joseph Halfmoon

ここ数回、ESP32(Xtansaコア機)が搭載する「3つめの」プロセッサ・コア、ULPをMicroPythonから試用中です。前回はデジタル信号の入力を試行。今回はアナログ信号の監視に使えないか実験してみます。なかなかいい感じでないかい。メインが寝ている裏でひっそりと監視するのにULPはピッタリだな。やっぱり。 “MicroPython的午睡(121) ESP32版、ULPで電圧を測ってみる” の続きを読む

MicroPython的午睡(120) ESP32版、ULPでパルス幅を測ってみる

ESP32ULP_INs
Joseph Halfmoon

ESP32(Xtansaコア機)が搭載する「3つめの」プロセッサ・コアULPをMicroPythonから制御するための環境をESP32 DevKitC機にインストール済です。これは使ってみるしかないです。ということでまずはハイパルスのパルス幅を測定してみることにいたしました。まあね、できるっちゃできるけれども。
“MicroPython的午睡(120) ESP32版、ULPでパルス幅を測ってみる” の続きを読む

MicroPython的午睡(119) ESP32版、ULPとULP開発環境のおまとめ

ESP32_ULP_Subsystem
Joseph Halfmoon

前回PyPIからESP32版MicroPythonで動作するULP開発環境をダウンロード、ターゲットのESP32 DevKitC機にインストールしました。ULPこそはESP32(Xtansaコア機)が搭載する「3つめの」プロセッサ・コアであります。メインのコアがお休みしているときにも密に動作する影の存在。結構強力。

“MicroPython的午睡(119) ESP32版、ULPとULP開発環境のおまとめ” の続きを読む

MicroPython的午睡(118) ESP32版、PyPIからulp開発環境インストール

localStorage
Joseph Halfmoon

前回はパッケージ管理ツール mip に勝手改変入れてESP32のMicroPythonで動作することを確認。今回はThonnyのパッケージ管理機能を使ってPyPIからパッケージをダウンロードしてインストールしてみます。PyPIにはいろいろあります。今回インストールしたのはESP32のulpの開発環境。なんじゃそりゃ?
“MicroPython的午睡(118) ESP32版、PyPIからulp開発環境インストール” の続きを読む

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

mipWorks
Joseph Halfmoon

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

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

testFunctoolsReduceResults
Joseph Halfmoon

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

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

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

ESP32supportedMPY
Joseph Halfmoon

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

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

MicroPython的午睡(114) ESP32版、ヒープ・メモリの使用状況

ConstGlobal
Joseph Halfmoon

今回はMicroPythonのメモリの使い方の話を若干。C言語などではconst扱いのオブジェクトをFlash上に配置して貴重なRAMをセーブするということがあります。馬鹿なのでMicroPythonも同じようなもんかい、と思っていたら違いました。Flashに置くことはできるのですがそれはまた別の話みたいっす。

“MicroPython的午睡(114) ESP32版、ヒープ・メモリの使用状況” の続きを読む

MicroPython的午睡(113) ESP32版、hashlib使ってsha256を計算

ImportHashlib
Joseph Halfmoon

MicroPython上でも使えるCPython(フルのPython実装)のサブセット・モジュールを見てます。今回はhashlibとな。この年寄はMD5計算できればいいんじゃね、くらいのいい加減さ。ESP32版のMicroPythonみたらばMD5は割愛されてました。SHA256使え(SHA1もある)ということみたい。
“MicroPython的午睡(113) ESP32版、hashlib使ってsha256を計算” の続きを読む

MicroPython的午睡(112) ESP32版、heapqで乱雑タプルを昇順にとりだす

heapqScriptEC
Joseph Halfmoon

前回は先入れ先出しが可能なデータ構造 deque を使ってみました。今回は入れる順序には関係なく、入れたデータの大小関係によって取り出しの順番が変わる heapq を使ってみます。まさにヒープソートのアルゴリズムみたいです。端からデータをしまっていけば、取り出すときには大小関係順序通りに取り出せるので便利。ホントか? “MicroPython的午睡(112) ESP32版、heapqで乱雑タプルを昇順にとりだす” の続きを読む

MicroPython的午睡(111) ESP32版、乱数をdequeにつめて非同期タスク

AsyncIODequeSRC
Joseph Halfmoon

今回使用してみるMicroPythonモジュールは、collections, randomそしてuasyncioです。uasyncioで非同期動作のタスク間を、collections.dequeで作ったFIFOで橋渡し、randomモジュールで生成した乱数を受けわたそうというのです。ありがち。短いコードで動作確認。

“MicroPython的午睡(111) ESP32版、乱数をdequeにつめて非同期タスク” の続きを読む