忘却の微分方程式(176) Maxima、ラプラス変換で伝達関数を求める

BlockDiag0
Joseph Halfmoon

別シリーズ「ブロックを積みながら」にて、ブロック線図を描いてシミュレーションを行ってます。伝達関数が分かっていればブロック線図を描くのは自由自在、であるのです。しかし数学力の欠如した忘却力の老人には伝達関数を求めるのが辛いです、というかメンドクセー。でもMaxima様にお願いすればラプラス変換できたんだよね。
“忘却の微分方程式(176) Maxima、ラプラス変換で伝達関数を求める” の続きを読む

オプション沼(27) Arduino IDE 2.x、コンパイラオプションの在処

ArduinoIDEoutputControl
Joseph Halfmoon

Arduino環境ではツールチェーンの上に一枚かぶさっているプリプロセッサ的なものが皆よきように計らってくれるのでお楽。しかし、たまにコンパイラオプションを操作しようと思うと隠されている分メンドイです。まあその前に、メンドクセーものどもが画面に映らないように制御もされとるので、それを外して現実を見るところからっすけど。
“オプション沼(27) Arduino IDE 2.x、コンパイラオプションの在処” の続きを読む

手習ひデジタル信号処理(162) Scilab、{IPCV}、画像の輪郭抽出

plotHandCountours
Joseph Halfmoon

今回は画像の輪郭抽出を行ったのち、その輪郭のConvex Hull(凸包)まで一気に処理せんとの野望あり。というか処理例がそうなっていただけのことなのですが凸包いけませぬ。毎度の処理例途中でのエラー、いろいろ突いてみるもなんともはや動きませぬ。元より素人、分かっておらんからの~。そこで手前の輪郭抽出でお茶を濁しました。
“手習ひデジタル信号処理(162) Scilab、{IPCV}、画像の輪郭抽出” の続きを読む

ぐだぐだ低レベルプログラミング(195)x86(16bit)、無条件JMP

jmpDebug3
Joseph Halfmoon

x86の命令どもを16ビットモードから眺めてます。今回は無条件ジャンプです。どのプロセッサも長いのとか短いのとか複数種類のジャンプ命令を持つことが多いですが、x86はやっぱりメンドクセーです。直接に間接、nearにfarそういえばshortもあったな、という感じ。アセンブラにもコマケー指示をせんとなりません。
“ぐだぐだ低レベルプログラミング(195)x86(16bit)、無条件JMP” の続きを読む

Pico三昧(56) ラズパイPico2:RP2350、HWスピンロックの試用

HWspinlockResults
Joseph Halfmoon

前回はMicroPython処理系が備えているlockをつかって2コアの排他制御を試みました。今回はラズパイPico/Pico2に特有なハードウエア・スピンロック機構を使ってみます。RP2040のときには有用であったHWスピンロックですが、RP2350では後ろ向きの機能になってます。でも使えることに変わりありませぬ。 “Pico三昧(56) ラズパイPico2:RP2350、HWスピンロックの試用” の続きを読む

データのお砂場(164) R言語、environmental、NYの空気、{lattice}

Joseph Halfmoon

R言語所蔵のサンプルデータをABC順に眺めてます。今回はlatticeパッケージのenvironmental、なんかデジャヴのような。忘却力の年寄りはほぼほぼ忘れてましたが、調べたら2年以上まえに「似たデータセット」を扱ってました。ちょいとツッコミどころがあるデータでした。今回は可視化の処理例なのでまあいいか? “データのお砂場(164) R言語、environmental、NYの空気、{lattice}” の続きを読む

Lispと一緒(33) ラズパイPico2でもuLisp、I2Cポートスキャン

I2CscanSchematic
Joseph Halfmoon

Common Lispの系譜を継ぐuLispをラズパイPico2マイコン上で練習中。前回はSPIにメモリを接続しました。今回はI2Cバスにメモリを接続です。しかし読み書きの前にI2Cポート・スキャンからです。まあ、uLispの例題そのまま走らせるだけなんだけれども。一応、実機波形を確認。I2Cバス動いてますなあ。 “Lispと一緒(33) ラズパイPico2でもuLisp、I2Cポートスキャン” の続きを読む

Pico三昧(55) ラズパイPico2:RP2350、MicroPythonで排他制御再び

ThreadLOCKtest
Joseph Halfmoon

前回は2コア平行動作でコア間FIFO通信を使用。FIFOは制御がお楽。しかしその先を考えると排他処理など必要じゃないかと。一応PicoのRP2040にもPico2のRP2350にもSIOブロック内にハードウエアSpinlockというものがあるのだけれども、これってどうよ?その前に_ThreadモジュールのLOCKか?

“Pico三昧(55) ラズパイPico2:RP2350、MicroPythonで排他制御再び” の続きを読む

お手軽ツールで今更学ぶアナログ(214) エンベロープ・ディテクタその5

EnvDetectorBiasCircuit
Joseph Halfmoon

アナデバ社(ADI社)のWeb記事『StudentZone』の2024年9月号(和文版)の実習5回目です。前回までダイオードがONする範囲で包絡線を得ていました。しかし振幅が小さくなり(変調が深くなると)ダイオードがONする範囲から外れてきます。そういう場合はちょいとバイアスを与えるのが良いみたい。

“お手軽ツールで今更学ぶアナログ(214) エンベロープ・ディテクタその5” の続きを読む

Lispと一緒(32) ラズパイPico2でもuLisp、SPIメモリ読み書き

Pico2_23LC512_BB
Joseph Halfmoon

Common Lispの系譜を継ぐuLispをラズパイPico2マイコン上で練習中。前回はSPIの出力波形を堪能。しかし波形を眺めているだけではSPIしたことになりませぬ。今回はSPI接続のSRAM、23LC512をターゲットにSPI経由での書き込みと読み出しを実験。uLispのコードもCのコードも変わらんぜよ。

“Lispと一緒(32) ラズパイPico2でもuLisp、SPIメモリ読み書き” の続きを読む

Pico三昧(54) ラズパイPico2:RP2350、MicroPythonでコア間通信

FifoTrial
Joseph Halfmoon

MicroPythonメインの別シリーズがあるのに、こちらでやっているのはRP2350のハードを直接操作するような実験をしているため。何にしてもMicroPythonはお楽。ただしMicroPython処理系の予期せぬところを触ってヤバイことになることもあり。前回は2コア実行、今回はコア間の通信機能を使ってみます。

“Pico三昧(54) ラズパイPico2:RP2350、MicroPythonでコア間通信” の続きを読む

手習ひデジタル信号処理(161) Scilab、{IPCV}、アフィン変換とその眷属

imtransformSample
Joseph Halfmoon

今を去ること半世紀以上前、中学の幾何の先生が「アフィン変換」なる言葉をつぶやいた強烈な記憶アリ。しかしその時もその後も理解できたような気もせぬままに生きてきた老人です。さて今回手習ひしてみるのはアフィン変換です。画像を平行移動、回転、拡大縮小、せん断変形させるものです。変換関数だけでなく、眷属どもが意外と便利。

“手習ひデジタル信号処理(161) Scilab、{IPCV}、アフィン変換とその眷属” の続きを読む

Lispと一緒(31) ラズパイPico2でもuLisp、SPI出力

DefaultSPI0waveformMODE2
Joseph Halfmoon

Common Lispの系譜を継ぐuLispをラズパイPico2マイコン上で練習中。先ごろからハードウエア制御に入いっとります。前回はPWM出力(関数名的にはanalogwrite)、今回はSPI出力を練習してみます。端子的にはキメウチだけれども、それなりに制御できるのでないかと。実機で波形を味わってみるの回です。
“Lispと一緒(31) ラズパイPico2でもuLisp、SPI出力” の続きを読む

ぐだぐだ低レベルプログラミング(194)x86(16bit)、LEA 実効アドレス

LEAcom
Joseph Halfmoon

LEA、Load Effective Addressは孤高な命令と思いきや、メモリアクセスする命令共には裏で気脈を通じているみたい。そしてメモリアクセスするかのごときアセンブリ言語表記だけれども、決してメモリにアクセスすることなくレジスタ操作を行うだけの命令。必須なこともあれば、避けて通ることもできる?なんだそれ。

“ぐだぐだ低レベルプログラミング(194)x86(16bit)、LEA 実効アドレス” の続きを読む