部品屋根性(77) AHT21B、CRC8でのデータ検査を追加。ラズパイPython

calcCRC8
Joseph Halfmoon

前回、I2C接続の温湿度センサ AHT21B をラズパイのI2Cバスに接続し、Python3のスクリプトで温度、湿度を読み取ってみました。まあ動いているみたいではあるのですが、データの伝送に誤りがあるや否やを確かめるためのCRCを検査しておりませなんだ。今回は、CRCの検査を追加しただけ。

“部品屋根性(77) AHT21B、CRC8でのデータ検査を追加。ラズパイPython” の続きを読む

部品屋根性(76) AHT21B、I2C温湿度センサをラズパイPythonで動作確認

AHT21B
Joseph Halfmoon

定期ルーチンとて、秋月電子通商殿の新製品(新規取り扱い開始)ページを眺めていてAHT21BというI2C接続の温湿度センサを見つけました。2022年7月12日より取扱い開始とな。つい買ってしまいました。とりあえずラズパイ3から引き出してあるI2Cバスに接続して温度、湿度が読み取れることを確認してみました。 “部品屋根性(76) AHT21B、I2C温湿度センサをラズパイPythonで動作確認” の続きを読む

帰らざるMOS回路(26) ROMファイルをVerilogHDLとLogisimで共用する

ROM_LOGIC_LOADED
Joseph Halfmoon

前回はバイナリカウンタでしたが、今回はROMです。ROMは複数の用途に使うことを想定。ROMに記録すべきビットパターンは外部の「ROMファイル」に書いておいて必要に応じてファイルを切り替えて「ロード」するようにしたいです。またそのファイルはゲートレベルのLogisimとVerilogHDLで共用できるのが望ましいです。

“帰らざるMOS回路(26) ROMファイルをVerilogHDLとLogisimで共用する” の続きを読む

ぐだぐだ低レベルプログラミング(75)ARM64(AArch64)、SBFM命令、変幻自在

SBFM
Joseph Halfmoon

今回は前回に引き続き第72回で調べたビットフィールドMOV命令をエクササイズしたいと思います。今回の命令はSBFM命令(サイン付きBFM)です。SBFM命令の動作説明図を上に再掲載します。しかし図を見てもなんだかよく分からない命令デス。しかしこれが変幻自在、エイリアスの隠れ蓑の下で多数の「重要命令」の実体となります。
“ぐだぐだ低レベルプログラミング(75)ARM64(AArch64)、SBFM命令、変幻自在” の続きを読む

やっつけな日常(30) Rustに入ればRustに従え、モジュールを別ファイルにするお作法

trial2Tree
Joseph Halfmoon

時折Rust言語を使ってみては、慣れぬRustのお作法に行く手を阻まれます。今回は、関数やらモジュールやらを別ファイル(ついでに別階層)にして取り込む件。Cのようにヘッダファイルを作ったり、Makefile書いたりする必要ないですが、初心者にはあまり親切ではない気がします。やれば出来る?ホントか。

“やっつけな日常(30) Rustに入ればRustに従え、モジュールを別ファイルにするお作法” の続きを読む

忘却の微分方程式(55) 反復練習18、エルミート行列をユニタリ行列を用いて対角化

DiagEC
Joseph Halfmoon

今回から複素行列、複素ベクトルに入ります。電子デバイス的にはAC波形を扱うときに毎度複素数にお世話になっております。しかし、エルミートとか、ユニタリとか聞いても聞かなかったフリをしている年寄りです。でもね、Maxima様に置かれましては実数も複素数もないです。淡々と解いていただけます。お前は何をするのじゃ、と。

“忘却の微分方程式(55) 反復練習18、エルミート行列をユニタリ行列を用いて対角化” の続きを読む

データのお砂場(41) R言語、airquality、ニューヨークの空気の品質?とな

Wind
Joseph Halfmoon

R言語所蔵のサンプルデータセットをABC順(大文字先)で端から眺めております。今回のデータも古いです。1973年の5月から9月にかけてのニューヨークでの「空気の品質」データです。空気の品質といってオゾン濃度を調べてるんです。最初は意味不明でした。NOx濃度とかでないの?でも調べてみたら根拠がありーの。知らんけど。 “データのお砂場(41) R言語、airquality、ニューヨークの空気の品質?とな” の続きを読む

鳥なき里のマイコン屋(158) Mbedオンライン環境からKeil Studio Cloud

OC2OKSC
Joseph Halfmoon

インストールせずに(また無料で)Arm用のオブジェクトを生成できるArm社Mbed Online Compilerにはお世話になっております。しかし環境の移行を促すメッセージが表示されるようになってまいりました。移行先は Keil Studio Cloudです。機能拡張は良いのですが今までのソースの移行は大丈夫か?

“鳥なき里のマイコン屋(158) Mbedオンライン環境からKeil Studio Cloud” の続きを読む

ブロックを積みながら(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版へ移行” の続きを読む