前回からA64のベクトル(SIMD)演算命令に入ってます。今回は、はやくも「核心」的なSIMDの積和算を練習してみます。なんでSIMD使うのかと問われれば半分くらいは積和したいから、ということになるんじゃないかと思うからです。SIMD積和算にも浮動小数、整数の両方あるのですが今回は単精度浮動小数のみ。手抜き。
“ぐだぐだ低レベルプログラミング(128)ARM64(AArach64)FMLA、ベクトル積和” の続きを読む
モダンOSのお砂場(67) UNO R4、ルネサスRA4M1でFreeRTOS、Delay
FreeRTOSにはある期間の間Taskの実行をブロックするDelayの名がつくAPIが3種あります。前回まで一番お手軽なvTaskDelay(引数も一つしかないし)ばかりを使ってきたのですが、今回は3種の違いについて勉強したいと思います。その上で実機上で動かして実感してみると。軽負荷だとあまり差が見えないけれど。
忘却の微分方程式(109) 反復練習72、2重積分、変数変換合わせ技一本? Maxima
前回まで極座標変数変換を行って二重積分を解く例題をやってきました。今回も最終的には極座標変数変換で解くのですが、1回ではできず変数変換を2回やる「合わせ技」のスタイルです。積分領域は都度グラフ化して確かめてみます。当然ヤコビアンさんも登場。今回はMaxima上でヤコビアン(行列式)を求めるのも練習してみます。
“忘却の微分方程式(109) 反復練習72、2重積分、変数変換合わせ技一本? Maxima” の続きを読む
小ピンマイコンの酷暑(4) CH32Vのモデル?STM32のタイマを使ってみる
前回までの小ピンでRISC-V搭載のマイコンCH32V003J4M6から、今回は唐突に小ピンでないArmコアマイコンSTM32へと飛びました。ようやく気付いたからです。WCHのCH32マイコンはST社のSTM32をリスペクト?するあまりHALレベルの関数がほぼほぼ互換にできているということに。STM32で予習したら楽?
データのお砂場(95) R言語、aml、急性骨髄性白血病の寛解時間、bootパッケージ
前回に引き続きbootパッケージの中のサンプルデータセットです。今回はamlとな。「急性骨髄性白血病の寛解時間」に関する約50年前の古い「予備調査」の結果のようです。予備ということもあるのか、調査結果はある時点でスッパリ打ち切られてしまってます。そういう打ち切り(censoring)を勉強するデータなのかもしれません。
オプション沼(26) gcc、Wunused一族、一筋縄ではいかない奴?
今回gccのオプションで練習してみるのは未使用の「何か」を見つけて警告を発する -Wunusedオプション「一族」です。一族になるのは、見つける対象の「何か」に応じて多数の単独オプションが存在するからです。しかしよくよく調べてみると「代表」の筈の-Wunusedだけでは見つからない「何か」もあり。一筋縄ではいきまへん。
ブロックを積みながら(127) Node-RED、bar-chart-dataノードの試用
前回はダッシュボード常備のgaugeノードが備えるレベルメータとは異なるオーディオ風のレベルメータを追加するui-levelノードを試用してみました。今回は、ダッシュボード常備のchartノードの前に挿入することで、chartノードの機能を拡張するbar-chart-dataノードをインストールして試用してみます。
GoにいればGoに従え(29) container/ringをTinyGoで使ってみる
手習ひデジタル信号処理(97) Scilab、音声データの入力と解析プロット
前回、音声信号をScilabにロードするために音声関係関数をさらってみました。全体の雰囲気は分かったのだけれど、解析用のプロットまで手が回らなかったです。そこで今回は前回積み残し部分を練習。しかしその前にWindows上での音声データの生成のところでまた一つ悶着あり。音声データなど普段扱わないから無知なのよ。
MicroPython的午睡(117) ESP32版、net接続すれば御勝手mip動作OK
前回、ESP32版MicroPython上で、MicroPython特有のパッケージ管理ツール mip を走らせんと試みましたが一山超えて二山目で止まってました。今回はその二山目を超えるべくネット接続を追加してみました。あれよあれよと言ううちに一瞬でパッケージのインストールOK、mip 動作してしまったみたいです。
“MicroPython的午睡(117) ESP32版、net接続すれば御勝手mip動作OK” の続きを読む
ぐだぐだ低レベルプログラミング(127)ARM64(AArach64)FSUB、ベクトル減算
前回A64のベクトルロード命令をあらかた終えたつもり。今回からA64のベクトル(SIMD)演算命令に入ってまいりたいと思います。その初回はFSUBです。3オペランドの「典型的」演算かつ、ソースの順序に依存する命令ということでの「起用」であります。でも以前にもFSUBというニーモニック自体は使ってるんでないかい?
PIC三昧(8) アナログ・コンパレータを使ってみる、PIC16F18855
前回はZCD(ゼロクロス検出器)で割り込みかけてみました。今回はアナログ入力電圧2つを比較する内蔵コンパレータを使ってみます。なにか基準電圧を上回ったら信号を出力したりできるもの。結果で割り込むことも可能ですが、直接外部出力信号とすることも可能。外付けオペアンプなど不要で済むのはありがたいかも。
忘却の微分方程式(108) 反復練習71、2重積分、極座標変数変換その2、Maxima
前回はドーナツ型の積分領域を極座標変換して2重積分しました。今回も極座標変換ですが、積分領域が楕円になりました。前回同様、再びヤコビアンさんが登場しますが、円の時とはチョイと違うみたいです。変数変換にも楕円の長軸、短軸長さが入ってくるし。まあ、極座標変換してしまった後はMaxima様の一撃にてお答えは求まるっと。
モダンOSのお砂場(66) UNO R4、ルネサスRA4M1でFreeRTOS、Queue
今回はArm Cortex-M4コアのルネサスマイコンRA4M1を搭載したArduino UNO R4上で、FreeRTOSのQueueを使ってみたいと思います。複数のタスク間で安全にデータを受け渡しできる便利な構造です。データの送受ができることは当たり前なので、今回は送受にどのくらいの時間がかかるのだが目安を観察。 “モダンOSのお砂場(66) UNO R4、ルネサスRA4M1でFreeRTOS、Queue” の続きを読む