うさちゃんと一緒(6) Scapyから送ったUDPパケットをオウム返し、Rabbit4000

WSK000
Joseph Halfmoon

うさちゃん(Rabbit4000)相手のネットワーク通信の練習も、そろそろデータを載せてみたいです。今回は高々4文字、UDPでラズパイからうさちゃんへ、うさちゃんからラズパイへと相互にパケットを投げつけあってみたいと思います。わたしゃ止めることを全然気にしていなかったこと発覚。1つ間違えたら自分で自分にDDoS攻撃?

“うさちゃんと一緒(6) Scapyから送ったUDPパケットをオウム返し、Rabbit4000” の続きを読む

モダンOSのお砂場(45) Zephyr、抽象度?高っ!GPIOをトグルするまでのあれこれ

ZephyrGPIO_EC
Joseph Halfmoon

大分前にZephyr RTOSのサンプルをビルドした後進捗なく過ごしておりましたのは他でもありません、Device Treeの抽象度の高さにGPIOの端子をトグルさせるのもどうしてよいか分からない状態だったからです。その辺FreeRTOSもArm MbedOSも分かり易いのでZephyr避けてました。GWだし再開。

“モダンOSのお砂場(45) Zephyr、抽象度?高っ!GPIOをトグルするまでのあれこれ” の続きを読む

Pico三昧(14) PicoでもGo! TinyGoのオブジェクトがPico上で走るまで

TinyGoTarget
Joseph Halfmoon

別シリーズでGo言語を勉強したりしているのですが、インタプリットもでき、バイナリにビルドもできでなかなか良いものです。マイクロコントローラでもGoのオブジェクトを走らせられるということで今回やってみましたです。ターゲットはラズパイPico。その母艦は例によってラズパイ4です。C/C++SDKと同様で実行可能。

“Pico三昧(14) PicoでもGo! TinyGoのオブジェクトがPico上で走るまで” の続きを読む

MicroPython的午睡(67) ラズパイPico、5V信号IF取り付け、動作確認

RpiPico_5VIF_TEST_CIRCUIT
Joseph Halfmoon

進捗が捗々しくなかったのは大したことない配線本数を敬遠していたからに違いありません。何時までもメンドイなどと言っていると一生できないのでGWでもあり配線することにいたしました。ラズパイPicoに5V系のあるデバイスを接続する一件であります。重い腰を上げた今回は5V変換チップを接続して動作チェックまで。刻むね、自分。

“MicroPython的午睡(67) ラズパイPico、5V信号IF取り付け、動作確認” の続きを読む

うさちゃんと一緒(5) ScapyでARPしてICMP、一歩づつ? Rabbit 4000

Rabbit4000_EC
Joseph Halfmoon

ふと見ると「うさちゃん」ボードに薄っすらと埃が積もってました(うさちゃんの御近影は冒頭に。)前回から大分間が空いてしまいました。今回は前回の続きでARPパケットにお返事をもらい、リプライの中から必要な情報を取り出し、次なる送信パケットを組み立てたいと思います。

“うさちゃんと一緒(5) ScapyでARPしてICMP、一歩づつ? Rabbit 4000” の続きを読む

手習ひデジタル信号処理(33) sin関数とFastSin関数の実行サイクル数測定

Result
Joseph Halfmoon

前回は正弦波を計算で生成するためにミニマックス近似を使ったFastSin関数を使わせていただきました。12ビットの精度なら十分使えて「速い」と三上先生の御本にはあるのです。しかしどのくらい速いのだか気になります。今回は実機(Arm Cortex-M4F)上でどのくらい速いのだか測定してみたいと思います。

“手習ひデジタル信号処理(33) sin関数とFastSin関数の実行サイクル数測定” の続きを読む

モダンOSのお砂場(44) Mbed OS6、SemaphoreでISRの中から排他制御

SemaphoreSampleDUT
Joseph Halfmoon

前回Mutex(2つあるうちのRTOS Mutexと呼ばれている方)を使ってみました。スレッド間の同期には有効なAPIですが、残念ながらISR(割り込みサービスルーチン)との間では使用できません。そこで今回はSemaphoreを使って、ISRとThreadの間で排他制御を行ってみます。

“モダンOSのお砂場(44) Mbed OS6、SemaphoreでISRの中から排他制御” の続きを読む

手習ひデジタル信号処理(32) 正弦波の信号発生器、sin関数計算編その1

sinEC
Joseph Halfmoon

今回から信号の発生に入るのですが最初は正弦波の発生です。音を作るにせよ、無線にせよ、何が無くても正弦波。デジタルな計算で波形を作るのに私のような素人でも思いつくのがsin()関数を使うことです。しかしsin()のような関数の計算には時間がかかる、そこで信号処理の人はいろいろテクを使うんでありますな。

“手習ひデジタル信号処理(32) 正弦波の信号発生器、sin関数計算編その1” の続きを読む

モダンOSのお砂場(43) Mbed OS6、Mutexと近縁APIの微妙な関係?

MutexDUT
Joseph Halfmoon

前回はThread間の通信に便利なMail APIを使ってみました。今回から排他制御に入りたいと思います。しかし似たようなAPIが複数あって何をどこに使ったら良いんだかRTOS素人の私にはサッパリです。今回は一番単純そうなMutexを実験しつつ、近縁?らしいAPIのいくつかについてまとめてみました。

“モダンOSのお砂場(43) Mbed OS6、Mutexと近縁APIの微妙な関係?” の続きを読む

MicroPython的午睡(66) ラズパイPico、非反転アンプのオフセットとゲイン調整

AMP_CircuitEC
Joseph Halfmoon

前回前々回とMicroChip社製MCP4018デジタルポテンショメータをラズパイPicoで制御してみています。今回やってみるのは非反転アンプのオフセットとゲインの調整です。やってみて直ぐに分かったのが兄弟チップMCP4017が欲しいということ。MCP4018だけだと片手落ちです。

“MicroPython的午睡(66) ラズパイPico、非反転アンプのオフセットとゲイン調整” の続きを読む

手習ひデジタル信号処理(31) Weaver変調器、周波数シフタその4、COS掛けてLPF

WeaverDrawCOSPATH
Joseph Halfmoon

前回は入り口のBPFの特性を観察したので今回は真ん中辺です。BPFの出力に「中間周波数の」COS波かSIN波かけてLPFかけて低い方の信号を取り出す部分。その1で計算上はそういう操作をすればこうなる、と理解したつもりでいても実際に目の当たりにすると不思議。

“手習ひデジタル信号処理(31) Weaver変調器、周波数シフタその4、COS掛けてLPF” の続きを読む

ぐだぐだ低レベルプログラミング(58) RISC-V、整数と浮動小数の変換命令

fcvt_EC
Joseph Halfmoon

今回は浮動小数と整数の間で変換を行う命令fcvtを動かしてみたいと思います。16種類もあります。オペコード空間を節約しているRISC-V的にはかなり大きな一族です。それは、単精度と倍精度の浮動小数、32ビット幅と64ビット幅の整数、符号付と無、変換の方向の組み合わせがあるからです。今回は端折って4命令だけ動かしてみます。

“ぐだぐだ低レベルプログラミング(58) RISC-V、整数と浮動小数の変換命令” の続きを読む

鳥なき里のマイコン屋(153) ルネサスRX210マイコン、Lチカまでの手続きに心が折れる

R5F5210BBDFP
Joseph Halfmoon

最近ルネサス様もArmに力を入れているだけでなく、RISC-Vまで始めたみたいです。世界の趨勢に追いついた?しかし、ヒネクレものとしては、「残された」ルネサス独自コアが気になります。今回「お手頃価格」のRX210ボードを入手したので、まずはLチカをやり、ルネサス御家流を復習したいと思います。

“鳥なき里のマイコン屋(153) ルネサスRX210マイコン、Lチカまでの手続きに心が折れる” の続きを読む

MicroPython的午睡(65) ラズパイPico、アナログコンパレータのトリップ電圧

RPiPico_MCP4018_NJU7031
Joseph Halfmoon

前回MicroChip社製MCP4018デジタルポテンショメータをラズパイPicoに取り付けて制御。I2Cで制御できる「可変抵抗」です。今回は応用例としてデータシートに載っているアナログコンパレータの閾値調整をやってみます。想定の応用はセンサなどからのアナログ信号がある閾値を超えたらマイコンに割り込むとか。

“MicroPython的午睡(65) ラズパイPico、アナログコンパレータのトリップ電圧” の続きを読む