手習ひデジタル信号処理(108) Scilab、CRC8の計算、Pythonから移植

scilab_crc8
Joseph Halfmoon

ここ数回ビット列の生成、復元などコチョコチョしたことをやっており。その中でCRC(Cyclic Redundancy Check、巡回冗長検査)の計算をせにゃならんことがあり。CRC計算といえば多項式の割り算デス。そういえばScilabは多項式の計算出来たな~そいつを使ってなんとからなんのか?ダメか?

“手習ひデジタル信号処理(108) Scilab、CRC8の計算、Pythonから移植” の続きを読む

MicroPython的午睡(131)M5Stack UIFlow2、I2Cスキャン

I2CscanResults
Joseph Halfmoon

前回SPI経由でmicroSDカードへアクセス。今回はI2Cをスキャンしてみます。M5Stack内蔵のI2C接続デバイスあり、既に初期化済の筈。それとの競合がチト心配ではあるのですがMicroPython側のI2Cインスタンスを作ってスキャンをかけてみます。このI2C信号が側面ピンソケットやGroveコネクタにも接続。

“MicroPython的午睡(131)M5Stack UIFlow2、I2Cスキャン” の続きを読む

ぐだぐだ低レベルプログラミング(142)ARM64(AArach64)SIMD ビット幅変?

ADDHN_FIG
Joseph Halfmoon

前回前々回とA64のSIMD比較命令を練習。今回から要素のビット幅が「変わる」SIMD算術演算命令に入ります。通常のSIMD命令は要素のビット幅は不変なのでコイツ等はちょっと変わり者です。しかし変わり者といえどフツーにひと揃いの演算が含まれております。命令多過ぎA64。いったい何個あるんじゃあ。

“ぐだぐだ低レベルプログラミング(142)ARM64(AArach64)SIMD ビット幅変?” の続きを読む

GoにいればGoに従え(42) ラズパイPico、SSD1315接続、OLEDで表示

TinyGo_OLED_DUT
Joseph Halfmoon

別シリーズ記事で、Arduino Uno R4にOLEDを接続し表示ができました。小さくても自発光のディスプレイは見やすいです。そこでTinyGoの練習に使っているラズパイPicoでもOLED接続を試みてみることにいたしました。TinyGoで、ビルドした、書き込んだ、動いた、という感じっす。ホントか?

“GoにいればGoに従え(42) ラズパイPico、SSD1315接続、OLEDで表示” の続きを読む

データのお砂場(109) R言語、cloth、布地のキズ、{boot}

clothHist
Joseph Halfmoon

今回は服飾、アパレル系などの方々には常識の話でしょうが、半導体ボケの年寄には聞いたこともない話です。布地のロールとそこに含まれるキズ、汚れなどの「欠陥」のデータです。しかし考えてみれば半導体ウエファ上のディフェクトと同じようなものか?知らんけど。しかしウエファサイズ同様、布地ロールもいろいろある、と。 “データのお砂場(109) R言語、cloth、布地のキズ、{boot}” の続きを読む

忘却の微分方程式(123) 反復練習86、重力による落下、初期値問題、Maxima

DE2_Ex1_plot
Joseph Halfmoon

教科書冒頭ということで、今回もアリガチな例題「重力による落下」の初期値問題であります。ソフトウエア業界の「HelloWorld」、電子工作業界の「Lチカ」にならぶ定番にして吉例なんであります。お答えは分かっているけれども、やらんわけにもいかないデス。御朱印帳にハンコを押す的な。微分方程式88か所?そんなに練習するのか?

“忘却の微分方程式(123) 反復練習86、重力による落下、初期値問題、Maxima” の続きを読む

STM32三昧(4) Cube IDEでDMA転送、メモリからメモリ、Nucleo

DMAsetting
Joseph Halfmoon

Cube IDE使ってSTM32のHALを練習中です。前回DACをソフトウエアで制御し「ゆるゆる」な三角波を発生させてみました。もっと高速な波形を生成するのならDMA利用かね。ということで今回はDMA関係のHALを練習してみることに。まずはメモリ間です。DMAリクエスト元のペリフェラルの設定不要なのでお手軽。

“STM32三昧(4) Cube IDEでDMA転送、メモリからメモリ、Nucleo” の続きを読む

モダンOSのお砂場(78)UNO R4でFreeRTOS、Task発Queue経由OLED行

FreeRTOS_OLED_DUT
Joseph Halfmoon

別シリーズにてUNO R4にOLEDディスプレイを接続。これでprintfしなくても「出力」可能となりました。とは言え一つしかない虎の子のOLEDを複数Taskで奪い合うのは醜い。そこでOLED表示TASKを作製、他のTASKどもはそちらにQueue経由でお願いする形にいたしました。今回のはそのプロトタイプです。

“モダンOSのお砂場(78)UNO R4でFreeRTOS、Task発Queue経由OLED行” の続きを読む

MicroPython的午睡(130)M5Stack UIFlow2、microSDマウント

M5StackSDCardSlotEC
Joseph Halfmoon

前回はM5Stackの前面パネル下に3個あるボタンを押してみました。今回は側面(下側)に移ってmicroSDカードスロットにアクセスしてみたいと思います。SDカードアクセスはESP32用の標準的なMicroPythonと共通ではあるものの、M5Stackのハードウエア特有の設定をしないとなりません。

“MicroPython的午睡(130)M5Stack UIFlow2、microSDマウント” の続きを読む

PIC三昧(22) TIMER0、ワンショットでパルス幅を制御する。PIC16F18855

ResultsWaveForm
Joseph Halfmoon

前回に続きTIMER0を試用。今回はワンショットで出力パルス幅を制御するのに使ってみたいと思います。外部でボタンが押されたことをトリガにして、ボタンが押された直後から所定の幅のパルスを一発出力するもの。制御ではアリガチ?今回は16ビット利用なので最小4μsから最大約260msまでのパルスを自由自在だと。

“PIC三昧(22) TIMER0、ワンショットでパルス幅を制御する。PIC16F18855” の続きを読む

手習ひデジタル信号処理(107) Scilab、赤外線リモコン実機波形の読み取りと解読

rawData
Joseph Halfmoon

前々回、赤外線リモコンの波形(NECフォーマット向け)を生成するScilab関数を作製。その一方、別シリーズにて実際にNECフォーマットのIR信号を出力しているらしいリモコンの実機波形をCSVファイルに取得しました。今回は取得した実機波形から01の生データを解読、前回作成の比較関数で期待値と比較してみます。 “手習ひデジタル信号処理(107) Scilab、赤外線リモコン実機波形の読み取りと解読” の続きを読む

ぐだぐだ低レベルプログラミング(141)ARM64(AArach64)SIMD fcmeq

typeDef
Joseph Halfmoon

前回に続きSIMDの比較命令の練習です。今回は浮動小数型。条件一致すればオール1、不一致でオール0が結果です。いつもの通りA64の命令多すぎ、と書いておきます。前回の整数型であったビット比較が無くなって1個減ったと思ったら、絶対値比較が2個も増えている。かえって練習するパターン増だと。流石だなA64。

“ぐだぐだ低レベルプログラミング(141)ARM64(AArach64)SIMD fcmeq” の続きを読む

部品屋根性(107) SSD1315制御のOLEDのArduino Uno R4/R3接続

SSD1315_OLED128x64
Joseph Halfmoon

別シリーズでルネサスマイコン搭載のArduino Uno R4を使用中。自発光の小型ディスプレイを接続したくなり長らく眠っていたOLEDの小基板を取り付けることに。まずはUno R3で動作確認作業を行おうとしてハマリました。最初からUno R4でやってればよかったんであります。R3でトラブルような周辺装置もあるのだと。

“部品屋根性(107) SSD1315制御のOLEDのArduino Uno R4/R3接続” の続きを読む

データのお砂場(108) R言語、claridge、左利きと遺伝、{boot}

Joseph Halfmoon

R言語のパッケージbootには、ブートストラップ法のサンプルデータセット多数、しかし今回もブートストラップ法は試みておりませぬ。いつやるの?さて、今回のデータセット名は claridge です。そのお名前で検索すると「五つ星」高級ホテルがドーンと見つかりますが関係ないみたい。左利きの傾向と遺伝に関するデータらしいっす。

“データのお砂場(108) R言語、claridge、左利きと遺伝、{boot}” の続きを読む