前回は「絶対番地アクセス可能なヤバイ奴」uctypesモジュールと structモジュールが「相互運用可能」ということで便利だと喜びました。「絶対番地」でアクセスできるので当たり前っちゃ当たりまえです。今回は、arrayモジュールの配列もまたuctypesでアクセスできるというこれまた当たり前の件を実習してみます。 “MicroPython的午睡(71) ラズパイPico、uctypesとuarray” の続きを読む
ソフトな忘却力(24) 久しぶりの gprof、簡単なところから思い出す
ここ暫くプロファイラなど使っておらず。すっかり使い方を忘却しております。今回は、open, read, writeなど基本中の基本?のシステムコールのリハビリをしながら、これまた一番基本の gprof を動かして関数が何回呼び出されているんだか勘定してみたいと思います。数えたら早くなるってもんでもないケド。
ブロックを積みながら(85) Node-RED、自作モジュールのロード
前回はfunctionノードの中で、require(‘os’)的な操作をする方法を練習。これでNode-REDの中から node.js の各種パッケージが使えるようになり嬉しいです。でも「出来合い」のモジュールだけじゃあな。自前のも使いたい、ということで今回は自前モジュールも同じ方法で使えることを確かめました。 “ブロックを積みながら(85) Node-RED、自作モジュールのロード” の続きを読む
モダンOSのお砂場(48) Mbed OS6、SPI接続ADC、AVR から STM32付替
別シリーズでSPI接続のADCをArduino Unoに取り付け、SPI接続の確認を実施。今回は同じことをNucleo-F401REでやってみます。OSはMBed OS v6.15を使用、開発環境には最近使い始めた Keil Studio Cloudを利用。慣熟訓練?Arduinoよりコード短いんじゃないかい。
“モダンOSのお砂場(48) Mbed OS6、SPI接続ADC、AVR から STM32付替” の続きを読む
うさちゃんと一緒(23) Z80の魔改造? Rabbit4000でアセンブラしてみる
前回までの4回でRabbit4000のオペコードマップに色を塗って「理解」したつもり。かなりな大拡張ですがアセンブラレベルでは「ほぼほぼ」Z80の上位互換にみえないこともないです(バイナリ互換ではないです。)今回からRabbit4000上でアセンブリ言語ルーチンを動作させていきたいと思います。敷居が低いんだ、これが。 “うさちゃんと一緒(23) Z80の魔改造? Rabbit4000でアセンブラしてみる” の続きを読む
ぐだぐだ低レベルプログラミング(82)ARM64(AArch64)、条件付き比較命令
前回から、条件フラグNZCV関係に踏み入っております。やる前から分かっていたことですが、真か偽か判定するだけの1ビットのフラグですが、複数条件重なれば、霧のかかった老人の頭では、いずれが真か偽、是々非々、是々非々。特に今回の命令群は条件フラグの操作をするのに条件を判断して行うという奇怪さであります。 “ぐだぐだ低レベルプログラミング(82)ARM64(AArch64)、条件付き比較命令” の続きを読む
IoT何をいまさら(107) SPI接続のADC、AD7920をArduinoで制御してみる
昨日「アナログ」の別件記事で、ADコンバータAD7920を単体動作させてみました。アナログねたの続きだったので単体でしたが、本来はマイコン等SPIインタフェースを持つデバイスに接続して使用するチップです。今回は、昨日結線したAD7920搭載のブレッドボードをArdunio Unoに接続してみます。
やっつけな日常(37) Rustに入ればRustに従え、唐突に Box って何よ?
Rustのソースを眺めていて、また分からないものを見つけました。唐突に現れた Box<i32> なるもの。大文字(アッパーキャメルケース)で書かれていることをみると型、それもジェネリック型に見えます。Boxって何なの?調べてみたら値を「ボックス化」してくれるんだとか?ますます分からん?
忘却の微分方程式(62) 反復練習25、微分はできるけれど後がメンドイ、Maxima
今回から微分に入ります。微分こそ他力本願、ただただMaxima様におすがりすれば「機械的」に微分が出来ると。しかぁし!複雑な式でも難なく微分していただけるMaxima様ですが、微分した結果は、人間的に言うとチト汚かったりいたします。「所望の」形に持ち込むには何か別なお願いをせにゃならんと。 “忘却の微分方程式(62) 反復練習25、微分はできるけれど後がメンドイ、Maxima” の続きを読む
手習ひデジタル信号処理(54) SDR、ダウン・サンプラ後段用のFIRフィルタ
前回はCICフィルタを使ったダウンサンプラでした。しかしこれ一発でダウンサンプリングが終わるわけではなかったです。もう一回ダウンサンプリングやってようやく目標のサンプリング周波数まで落ちるんだと。2段目のダウンサンプラではFIRフィルタを使っているのですが、この特性が前段のCICと「補完的」なんだとか。 “手習ひデジタル信号処理(54) SDR、ダウン・サンプラ後段用のFIRフィルタ” の続きを読む
データのお砂場(48) R言語、chickwts、ニワトリさんの体重、「再び」とな
R言語所蔵のサンプルデータセットを、ABC順(大文字先)で端から眺めております。今回は chickwts です。でも以前にも眺めたような?デジャヴ? いえ、第5回、第6回とChickWeightというチキンの肥育データを扱っておりました。今回は小文字始まりのchickwtsです。やはりチキンの肥育。でも内容は違うと。 “データのお砂場(48) R言語、chickwts、ニワトリさんの体重、「再び」とな” の続きを読む
MicroPython的午睡(70) ラズパイPico、uctypesとstruct
前回、前々回とuctypesモジュールを使ってCの「構造体」的なものにアクセスしてみました。しかしMicroPythonには、その名もズバリのstructモジュールがあるのです。こちらはCの「構造体」的なものにパックしたりアンパックしたりできるもの。「似たもの同士」だから、相互に運用可能じゃないかい?やってみました。 “MicroPython的午睡(70) ラズパイPico、uctypesとstruct” の続きを読む
ブロックを積みながら(84) Node-RED、追加モジュールのロード
前回までで手元のNode-RED環境のパレットにあるノードをひとわたり触れたことになりました。これからはも少し「掘ったり」「新たなノードを追加」したりしてみたいと思います。まずは何でもできる function ノード、も少し詳しくなりたいです。今回はrequire(‘xxx’)的に外部モジュールを呼び出したいです。
帰らざるMOS回路(32) MOSFET、MUXとリップルキャリーでALUをVerilog化
前回はゲートレベルシミュレータ上で1bit分のALU(Arithmetic Logic Unit)を試作。全ての論理演算と加算(減算は2の補数)を行えるような「セル」です。算術演算時にはリップルキャリーなので実際に作ったら「遅い」ですが、とりあえず速度は考えないっと。今回は前回の回路をVerilogで書き直してみます。