-
📍CPU ... RP2040🔗
- 📍CPU0 ... ARM Cortex-M0+🔗
- 📍CPU1 ... ARM Cortex-M0+🔗
-
📍CPU ... RP2350🔗
- 📍CPU0 ... ARM Cortex-M33🔗
- 📍CPU1 ... ARM Cortex-M33🔗
-
📍OS ... FreeRTOS🔗
- 📍CPU0 ... ✅FreeRTOS (搭載済み)
- 📍CPU1 ... ✅FreeRTOS (搭載済み)
-
📍I2C
-
📍IDE
-
📍基板
- 📍RP2040
- 📍RP2350
-
📍拡張基板
凡例(✅実装&テスト完了、🆗実装済み、🚩TODO、❌TBD)
- 📍CPU
- 📍Core0 ... ドライバCPU
- 📍OS ... FreeRTOS
- ✅Core0メインタスク
- 🚩TODO
- ✅センサータスク
- ✅BME280から湿度、温度、気圧を取得
- ✅Bluetoothタスク📶
- ✅Bluetoothシリアル
- ✅ボタンタスク
- 🚩ボタン処理
- 🚩ボタン単押し ... TODO
- 🚩ボタン複数押し判定 ... TODO
- 🚩ボタン長押し判定 ... TODO
- 🚩ボタン超長押し判定 ... TODO
- 🚩ボタン処理
- ✅Core0メインタスク
- 📍OS ... FreeRTOS
- 📍Core1 ... アプリCPU
- 📍OS ... FreeRTOS
- ✅Core1メインタスク
- 🚩TODO
- ✅センサータスク
- ✅BME280 湿度、温度、気圧センサ (@I2C)
- ✅OLEDタスク
- 英語、日本語、科学計算の結果をOLEDに表示(@I2C)
- ✅モニタプログラムタスク(@USBシリアル)
- ✅RTCのR/W
- ✅EEPROMのR/W
- ✅S/Wリセット
- ✅計算アプリ
- マンデルブロ集合、円周率π、自然数の底e、黄金比、フィボナッチ数列、高速逆平方根
- ✅システムレジスタ表示
- SYSINFO/M0PLUS or M33/SIOのCPUIDレジスタRead
- ✅SDカードのR/W(@SPI)
- ✅ベンチマークテスト
- ✅四則演算(整数、浮動小数 float & double)
- ✅sin, cos, tan, atan2, sqrt
- ✅メモリ, GPIOトグル
- ✅Core1メインタスク
- 📍OS ... FreeRTOS
- 📍Core0 ... ドライバCPU
-
📍I2C
- ✅(センサー)BME280から湿度、温度、気圧を取得
- ✅(EEPROM)AT24C32のR/W
- ✅(RTC)DS3231からRTCの時刻をR/W
-
📍SPI
- ✅SDカードのR/W、ディレクトリ表示
-
📍GPIO
- 📍RGB LED (NeoPixel)
- ✅赤🔴 : 初期化中、オフライン状態(WiFi,Bluetooth未接続)
- ✅青🔵 : オンライン状態(WiFi,Bluetooth接続中)
- ✅緑🟢 : F/W正常(FreeRTOSで処理中)
- ✅白⚪ : F/W正常(FreeRTOSはアイドル状態)
- ✅紫🟣 : F/Wエラー
- 📍RGB LED (NeoPixel)
-
📍割込み(IRQ)
- ✅タイマーIRQ⏰
- ✅アラーム 0 ⏰(TIMER_IRQ_0) ... 1ms周期
- ✅アラーム 1 ⏰(TIMER_IRQ_1) ... 8ms周期
- ✅LEDのPWM(フェード)
- ✅アラーム 2 ⏰(TIMER_IRQ_2) ... 20ms周期
- ✅アラーム 3 ⏰(TIMER_IRQ_3) ... 1000ms周期
- ✅ボタンIRQ (@GPIO24)
- ✅
ボタン単押し判定
... ボタン一回押しを検知 - ✅
ボタン複数押し判定
... 短時間に複数回ボタン押しを検知 - ✅
ボタン長押し判定
...ボタン長押し
= 1000ms = 1sec - ✅
ボタン超長押し判定
...ボタン長押し
= 3000ms = 3sec
- ✅
- ✅タイマーIRQ⏰