モダンOSのお砂場(91) ArduinoとNucleo(Mbed OS6)間シリアル通信

Nucleo_Arduino_schematic
Joseph Halfmoon

Arduino APIと比較しながらArm純正RTOS、Mbed OS6の入出力API群を練習中。前回はUARTといいつつ自分に送信するループバック試験。今回は「通信」らしくお相手Arduino UNO R4と接続してみます。また前回はBufferedSerialでしたが、今回はUnbefferedSerialを使用。

“モダンOSのお砂場(91) ArduinoとNucleo(Mbed OS6)間シリアル通信” の続きを読む

モダンOSのお砂場(90) NucleoでArduinoからMbed OS6、シリアル通信

DUT_schematic
Joseph Halfmoon

Arduino APIと比較しながらArm純正RTOS、Mbed OS6の入出力API群を練習してます。前回はシリアル通信といいつつ、デバッグ用のUSB経由ホスト行きのコマゴマしたところを確認。今回は実際にシリアル通信してみたいと思います。ありがちな「ループバック試験」だけれども。自分で自分と通信してみるもの。

“モダンOSのお砂場(90) NucleoでArduinoからMbed OS6、シリアル通信” の続きを読む

モダンOSのお砂場(89) NucleoでArduinoからMbed OS6、printf

println_printf
Joseph Halfmoon

Arduino APIとの比較を通じてArm純正RTOS、Mbed OS6の入出力API群を練習してます。今回は入出力というより、デバッグ用のAPIです。printfね。USBを通じてホストPCの仮想シリアルポートにいろいろ情報を送り出すもの。いつもお世話になっておりますが、改めて再確認っと。

“モダンOSのお砂場(89) NucleoでArduinoからMbed OS6、printf” の続きを読む

モダンOSのお砂場(88) NucleoでArduinoからMbed OS6、アナログ出力

STM32_AnalogOUT
Joseph Halfmoon

Arduino APIとの比較を通じてArm純正RTOS、Mbed OS6の入出力API群を練習してます。前回はPWM出力、今回はDAコンバータを使った「真の」アナログ出力です。対応ボードの都合上、Arduino側はUNO R4のみ。Mbed OS6側はNUCLEO‐F446REのみです。出力電圧を観察するだけ。
“モダンOSのお砂場(88) NucleoでArduinoからMbed OS6、アナログ出力” の続きを読む

モダンOSのお砂場(87) NucleoでArduinoからMbed OS6、PWM出力

STM32_PWMOUT
Joseph Halfmoon

Arduino API比較をしつつ、Mbed OS6の入出力API群を練習中。前回はアナログ入力。順番からして今回はアナログ出力ですが、まずはPWM出力から。Arduino環境でanalogWrite()というとPWM出力だからです。電圧はデジタルだけれども時間方向はアナログ(時間の最小単位はデジタルだけれども。)
“モダンOSのお砂場(87) NucleoでArduinoからMbed OS6、PWM出力” の続きを読む

モダンOSのお砂場(86) NucleoでArduinoからMbed OS6、アナログ入力

AIN_DUT
Joseph Halfmoon

Arduino APIとの比較をしながら、Mbed OS6の入出力API群を練習してます。前回は基本のキの字のデジタル入出力でした。今回はアナログ入力です。ADコンバータを使ってアナログ電圧を読み取るもの。コマケー話はいろいろあるケド、まずは読み取るところから。アナログ出力の方は2系統やらないとならないのでまた今度ね。

“モダンOSのお砂場(86) NucleoでArduinoからMbed OS6、アナログ入力” の続きを読む

モダンOSのお砂場(85) NucleoでArduinoからMbed OS6、デジタルIO

F401DUT
Joseph Halfmoon

過去回でSTM32 NUCLEOボード上のMbed OSの練習実施。RTOSなのでついThread(Mbed OSではTaskでなくThreadと称します)だの同期だのに走ってました。しかしMbed OSはIOドライバも含めた立派なOSなのでIOの練習もいるよな、できればArduinoとの比較付でと思い至りました。
“モダンOSのお砂場(85) NucleoでArduinoからMbed OS6、デジタルIO” の続きを読む

モダンOSのお砂場(84)STM32 NucleoでMbed OS6、RAM使用量の取得

memINFO
Joseph Halfmoon

別シリーズ「やっつけな日常」第69回でMbed OS6に「流れ着き」ました。久しぶりにKeil Studio Cloudを開いたところ、いろいろ改良進んでいるみたいです。ただしビルド後の表示ではRAMは全量OSが使っているような表示で「実際どのくらい使っているのか?」が分かりませんでした。今回はAPIに聞いてみます。

“モダンOSのお砂場(84)STM32 NucleoでMbed OS6、RAM使用量の取得” の続きを読む

モダンOSのお砂場(83)UNO R4でFreeRTOS、Renesas RA4M1基礎知識

UNOR4_EC
Joseph Halfmoon

ArduinoやFreeRTOSのAPIレベルから少しハードよりに「ダイブ」しようとしてルネサスRA4M1マイコンについて無知なことを露呈しました。今回はタイマなどの周辺ハードウエアの直接アクセスをするための準備作業として、ルネサス様の用語など基礎知識を勉強したいと思います。 “モダンOSのお砂場(83)UNO R4でFreeRTOS、Renesas RA4M1基礎知識” の続きを読む

モダンOSのお砂場(82)UNO R4でFreeRTOS、ブラウザからUNO R4のLEDを操作

UNOR4_UART_BlockDiagram
Joseph Halfmoon

手元で使っているArduino UNO R4は「お求めやすい」Minimaです。WiFiの搭載はありません。そこで2番目のUARTを介して伝統的なUSBシリアルインタフェースFT232RLを経由してホストPCへ接続。ホスト上で動作するPythonスクリプトでラズパイ上で動いているMQTTブローカからの指令を得ることに。 “モダンOSのお砂場(82)UNO R4でFreeRTOS、ブラウザからUNO R4のLEDを操作” の続きを読む

モダンOSのお砂場(81)UNO R4でFreeRTOS、第2のUARTで指令を送る(だけ)

UNOR4_Serial1_DUT
Joseph Halfmoon

前回は規定温度を超えでPassiveブザーをPWMで鳴らす機能を追加。今回は第2UARTを使って外部から「指令」を受信する機能を付け加えたいと思います。UNO R4はUSBシリアルに向いているチャネルとは別にもう一本UARTを使えるのでこれとのやり取りをTask1にお任せします。今のところ指令を受信するだけだけれども。
“モダンOSのお砂場(81)UNO R4でFreeRTOS、第2のUARTで指令を送る(だけ)” の続きを読む

モダンOSのお砂場(80)UNO R4でFreeRTOS、規定温度越えたらブザーを鳴らす

UNOR4_buzzor_DUT
Joseph Halfmoon

前回AD22100温度センサで「温度監視」。といいながら温度をOLEDに表示するだけでお茶を濁してました。何か監視した結果っぽいアクションを起こしたいデス(形だけですが。)そこでブザー(パッシブ型)を接続、規定温度を超えたらブザーを鳴らして警告するようにしてみました。タスク間の通知にNotification使用。

“モダンOSのお砂場(80)UNO R4でFreeRTOS、規定温度越えたらブザーを鳴らす” の続きを読む

モダンOSのお砂場(79)UNO R4でFreeRTOS、AD22100で温度監視?

UNO_R4_AD22100_DUT_EC
Joseph Halfmoon

別シリーズにてAD22100、電圧出力型温度センサを練習。-50℃から+150℃という広い温度範囲で装置の温度を簡単にモニタできる優れものです。規定の温度範囲を超えたらファンを回すとかいろいろ使えそう?今回は前回作成した「OLED表示」をお願いするだけのタスクの一方を温度監視タスク的な雰囲気にしてみます。

“モダンOSのお砂場(79)UNO R4でFreeRTOS、AD22100で温度監視?” の続きを読む

モダン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行” の続きを読む