ブロックを積みながら(77) Node-RED、sortノードで流れてくるmsgをソート

flowEC
Joseph Halfmoon

今回はsortノードです。ベタで何の工夫もないソートの例題やってみました。数値配列をsplitしmsg列を sort ノードに送り込み、payloadの数値をキーにして昇順ソート、出力されたmsg列をjoinノードで配列(勿論ソート済の)に戻すというもの。言葉で書くとメンドウですが、ノードをつなげていくだけ、お楽。

“ブロックを積みながら(77) Node-RED、sortノードで流れてくるmsgをソート” の続きを読む

やっつけな日常(29) Rustに入ればRustに従え、「所有権」を「借用」できたのね

move_borrow
Joseph Halfmoon

所有あれば借用もあり。Rust言語は現実的です。前々回は「特定のトレイトの標準的な実装」を継承することで構造体のクローンを作ってみました。クローンは元の構造体とは別な実体なので所有権も別、後はご勝手。その一方、今回は所有権を「借用」して、構造体を参照するどころか書き換えまでやってみます。やればできる!ホントか?

“やっつけな日常(29) Rustに入ればRustに従え、「所有権」を「借用」できたのね” の続きを読む

部品屋根性(75) MCP3421、ADCのラズパイI2C接続、Pythonで制御の続き

smbus2EC
Joseph Halfmoon

前回、ΔΣ型の18bit ADコンバータ、MCP3421をRaspberry Pi 3 model B+にI2C接続。しかしPythonで動作テストをする際に「デーモン呼び出し」ていました。今回はPythonのI2Cモジュールを更新し「デーモン呼び出さずに」MCP3421を制御できるようにしてみた「続報」です。

“部品屋根性(75) MCP3421、ADCのラズパイI2C接続、Pythonで制御の続き” の続きを読む

帰らざるMOS回路(25)今時ゲートレベルでもあるまいに。カウンタをVerilogしてみる

VerilogCounterEC
Joseph Halfmoon

前回はLogisimのライブラリから符号無整数の比較器「組み合わせ回路」をVerilogしてみました。今回はバイナリカウンタ「順序回路」をVerilogしてみます。端から部品を練習すれば、そのうち色々できるだろ~という勝手な思い込みです。記述のお作法もいろいろあるのだけれど、今のところ成り行き。徐々に修正する予定。

“帰らざるMOS回路(25)今時ゲートレベルでもあるまいに。カウンタをVerilogしてみる” の続きを読む

ぐだぐだ低レベルプログラミング(74) ARM64(AArch64)、BFM命令、別名不在

BFM_alias
Joseph Halfmoon

今回は、前々回調べたビットフィールドMOV命令の実習です。最初から躓きました。BFM命令の別名(エイリアス)のBFC命令、アセンブラに拒否られました。実体命令であるBFMは存在しているんですがね。そのくせディスアセンブラは頼みもしないのにBFM命令をBFC命令にディスアセンブルしてくれます。いろいろあるのね、きっと。

“ぐだぐだ低レベルプログラミング(74) ARM64(AArch64)、BFM命令、別名不在” の続きを読む

やっつけな日常(28) Raspberry Pi OS、32bit版から64bit版へ移行

Rpi4S64EC
Joseph Halfmoon

別シリーズでArmの64bitのアセンブリ言語命令を練習中。これにAndroidスマホ使ってました。でも最近スマホの電池の減りが速くて練習しずらいです(You tubeのせい。)そこで32ビットOSで引っ張っているRaspberry Pi 4を64ビットOSに移行しようと決断。簡単ではあるけれどいろいろあるんだ。

“やっつけな日常(28) Raspberry Pi OS、32bit版から64bit版へ移行” の続きを読む

忘却の微分方程式(54) 反復練習17、2次形式の標準形への変換、Maxima

Qorg
Joseph Halfmoon

今回は、処理の手順としては前々回の復習です。「対称行列を直交行列つかって対角化する」ってやつです。でも前回トートツにマクローリン展開などしていたので、既に前々回の手順は忘却の彼方へ。困ったもんだ。それにしても2次形式とかその標準形とか楕円とか、これまたトートツ感あるんですが。

“忘却の微分方程式(54) 反復練習17、2次形式の標準形への変換、Maxima” の続きを読む

手習ひデジタル信号処理(46) FFTによるFIRフィルタ、外からみたら結果は同じ

BodeGain
Joseph Halfmoon

今回はFFT使ったFIRフィルタです。以前に「普通に時間領域」でFIRフィルタしていたもの。今回は、入力信号もフィルタ係数もFFTをかけて周波数領域で乗算してから、逆FFTで時間領域の信号に戻すのだ、と。無限の長さの入出力信号を小分けにするためには重複保持法使うんだとか。しかしオンラインコンパイラの件気になるのデス。

“手習ひデジタル信号処理(46) FFTによるFIRフィルタ、外からみたら結果は同じ” の続きを読む

データのお砂場(40) R言語、airmiles、米国の航空会社の旅客マイルとな、昔の

plotMA5
Joseph Halfmoon

R言語所蔵のサンプルデータセットをABC順(大文字先)で端から眺めております。今回のデータセットairmiles、デジャヴか、いよいよ妄想でたか、と思ったら以前に似たものやってました。以前のは「人数」で「月次データ」、今回のものは「RPM」値で「年次データ」であります。いずれも60年以上前の航空業界のデータです。

“データのお砂場(40) R言語、airmiles、米国の航空会社の旅客マイルとな、昔の” の続きを読む

やっつけな日常(27) Rustに入ればRustに従え、それにしても#deriveて何よ

source
Joseph Halfmoon

Rust言語の勉強の前回は「所有権」というRust独特の仕組みに触ってみました。今回は「所有権」に再び足をすくわれ(復習)つつ、構造体に触手?を伸ばしてみたいと思います。やっぱりというか、当然というかRustの構造体もクセが強いです。だいたいね、トレイトとか他の言語ではない用語/概念多すぎ。カッコイイんだけれども。

“やっつけな日常(27) Rustに入ればRustに従え、それにしても#deriveて何よ” の続きを読む

ブロックを積みながら(76) Node-RED、rangeノードで数値範囲を変換

DisplayInteger41
Joseph Halfmoon

今回は rangeノードです。シンプル機能のノードです。ある範囲内の数値を別な範囲に変換するだけです。変換といっても入力範囲の最大を出力範囲の最大、入力範囲の最小を出力範囲の最小にマップするだけの「線形」な変換のみです。難しい変換はできません。範囲外だったらサチらせるとか、ラップさせるとかできるので、ま、十分か。

“ブロックを積みながら(76) Node-RED、rangeノードで数値範囲を変換” の続きを読む

うさちゃんと一緒(14) 動的なWebページその2、CGIハンドラ記述のRabbit式お作法

2layerStateMachine
Joseph Halfmoon

前回は動的なWebページの最初ということでSSIでした。SSI利用時にもCGIハンドラにあたるべきものは動いていたのですが断片的でした。今回はWebページ全体を動的に生成できるように、「うさちゃん」式のCGIハンドラ記述のお作法を学んでいきたいと思います。マニュアル読んでサンプル読んでようやく少しわかった?知らんけど。

“うさちゃんと一緒(14) 動的なWebページその2、CGIハンドラ記述のRabbit式お作法” の続きを読む

部品屋根性(74) MCP3421、18bit ΔΣADCをRaspberry Piに接続

MCP3421_MCP3425
Joseph Halfmoon

今回はI2Cバスに接続可能なADコンバータです。実験はMicrochip社のMCP3421(最大18bit解像度)です。兄弟チップのMCP3425(最大16bit解像度)もあり、ピンコンパチかつソフトコンパチです。I2Cバスに接続できるのでRaspberry PiのようにADCを持たない機種にも簡単に追加できます。

“部品屋根性(74) MCP3421、18bit ΔΣADCをRaspberry Piに接続” の続きを読む

ぐだぐだ低レベルプログラミング(73) ARM64(AArch64)、MOV命令の実習

movEC
Joseph Halfmoon

前回前々回と実機練習をサボって調べ物をしていたので、今回は練習あるのみです。でも溜まっている数が多いです。今回は、前々回のMOV命令に絞って練習してみます。一通り撫でるだけでも命令数多いです。単なるMOV、転送命令なんだけれども。そう単純でもないんだこれが。

“ぐだぐだ低レベルプログラミング(73) ARM64(AArch64)、MOV命令の実習” の続きを読む