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

testFunctoolsReduceResults
Joseph Halfmoon

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

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

ぐだぐだ低レベルプログラミング(126)ARM64(AArach64)LD1R、レプリケート

LD1Rreplicate
Joseph Halfmoon

前回のキモは「デ・インタリーブ」でしたが、今回は「レプリケーション」です。同じ要素を全てのレーンに複製して書き込むもの。前回の「デ・インタリーブ」が要素の個数に応じてLD1からLD4まで4通りあったのと同様、今回もLD1RからLD4Rまで4通りの命令が存在します。SIMD計算するときには「アリガチ」な操作ね。

“ぐだぐだ低レベルプログラミング(126)ARM64(AArach64)LD1R、レプリケート” の続きを読む

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

PIC16F18855_ZCD_DUT
Joseph Halfmoon

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

忘却の微分方程式(107) 反復練習70、2重積分、極座標変数変換、Maxima

Ex84_J_Formula
Joseph Halfmoon

前回は三重積分でしたが、今回は2重積分に戻ります。平面座標系(x,y)から極座標系(r, θ)に変換した方がよろしいんでないかい、という極座標への変換を行うケースです。あれれ、2変数のときの変数変換ってどうやったら良かったんだっけ?ヤコビアン?めんどくせーお名前の奴が召喚されてきました。どちら様でしたっけ?

“忘却の微分方程式(107) 反復練習70、2重積分、極座標変数変換、Maxima” の続きを読む

定番回路のたしなみ(36) OPアンプ、非反転増幅回路。単一電源オペアンプで100倍増幅

LT1006DUT
Joseph Halfmoon

前回は高精度オペアンプ(両電源)「4種盛り」にてド定番な反転増幅回路を嗜みました。今回も高精度カテゴリですが、単電源オペアンプを使用して非反転増幅回路を実験してみます。使用するオペアンプはLT1006。入力電圧範囲はグランドまで可能なので、0Vに近いmV単位くらいの信号をADにかけやすいくらいの電圧まで100倍増幅。
“定番回路のたしなみ(36) OPアンプ、非反転増幅回路。単一電源オペアンプで100倍増幅” の続きを読む

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

coroutineNOTE
Joseph Halfmoon

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

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

データのお砂場(93) R言語、aircondit、ボーイング720のエアコン、度々壊れる?

AirconditBoxPlot
Joseph Halfmoon

年寄なのでボーイングというと旅客機の747(ジャンボ)をまず思い出します(流石にB29ではありませぬ。)ボーイング社の旅客機は7×7というのが定番ですが、古には720という型番?の機体もあったんだとか。今回のサンプルデータセットは、720のエアコンの故障間隔のデータです。しかし、こんなに度々壊れているものなのか?

“データのお砂場(93) R言語、aircondit、ボーイング720のエアコン、度々壊れる?” の続きを読む

お手軽ツールで今更学ぶアナログ(163) 心拍数の測定、先っぽ部分ムツカシー

DUT_NGEC
Joseph Halfmoon

アナデバ社(ADI社)のWeb記事『StudentZone』2023年5月号の日本語版がアップされました。早速実習と思ったですがタイトル見て暗雲たなびきました。テーマは心拍数の測定です。赤外線LEDと、赤外線フォトトランジスタのペアで心拍を測定する、ありがち?なもの。でもね「生体」に接続するところでトラブルんだこれが。
“お手軽ツールで今更学ぶアナログ(163) 心拍数の測定、先っぽ部分ムツカシー” の続きを読む

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

rectdemos
Joseph Halfmoon

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

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

ブロックを積みながら(125) Node-RED、convex-hullノードを使ってみる

convexHullDrawing3
Joseph Halfmoon

ここ3回ほどnode-red-contrib-web-worldmapを使用中です。今回はworldmapの「落穂拾い」くらいのつもりでいたらいけません。convex-hullノードは「予定通り」の動き、しかしtracksノードはあきまへん。使い方分からんの~。まあ、分かったところまででお茶を濁すの回であります。

“ブロックを積みながら(125) Node-RED、convex-hullノードを使ってみる” の続きを読む

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

Defineiheap
Joseph Halfmoon

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

手習ひデジタル信号処理(95) Scilab、Tokyo FMの再生、1秒ちょっと

sampleAudio_plot_COMPARE
Joseph Halfmoon

RTLSDRのデータをPythonにて取得し音声再生、無線データはScilabへも輸出。ScilabにてPythonと同処理を行おうとしてコケました。どこが悪いのか追及するために前回Pythonの途中経過データをゴッソリ出力。今回はScilab処理結果と逐一比較しながらデバッグ。まあ、音は出るようになったんだけれども。
“手習ひデジタル信号処理(95) Scilab、Tokyo FMの再生、1秒ちょっと” の続きを読む

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

ESP32supportedMPY
Joseph Halfmoon

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

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

ぐだぐだ低レベルプログラミング(125)ARM64(AArach64)LD3、デインタリーブ

LD3_deinterleaving
Joseph Halfmoon

前回までベクトルロード/ストアは「1要素」のLD1/ST1命令使ってました。しかしA64の命令セットには1要素から4要素まで、ロードはLD1からLD4、ストアはST1からST4まであるのです。今回はLD3命令を使って「3要素」のときの動作を確認してみます。キーワードは de-interleaving とな。
“ぐだぐだ低レベルプログラミング(125)ARM64(AArach64)LD3、デインタリーブ” の続きを読む