Hayato Kikuchi / Mbed OS MonitoringTest

Dependencies:   SoftPWM

Files at this revision

API Documentation at this revision

Comitter:
kikuchi8810
Date:
Thu Dec 23 05:52:48 2021 +0000
Parent:
0:a33375289d79
Child:
2:fd0c21600586
Commit message:
modified

Changed in this revision

CommunicationMonitoring.cpp Show annotated file Show diff for this revision Revisions of this file
CommunicationMonitoring.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/CommunicationMonitoring.cpp	Wed Dec 22 11:15:12 2021 +0000
+++ b/CommunicationMonitoring.cpp	Thu Dec 23 05:52:48 2021 +0000
@@ -29,7 +29,14 @@
     if(comminfo[_device_num].count_ms > comminfo[_device_num].time_out_ms * 1000) comminfo[_device_num].count_ms = comminfo[_device_num].time_out_ms; //オーバーフロー対策
 }
 
-bool CommunicationMonitoring::getAvailable(int _device_num)
+bool CommunicationMonitoring::isAvailable(int _device_num)
 {
     return comminfo[_device_num].Available;
 }
+bool CommunicationMonitoring::isAllAvailable(void)
+{
+    bool checker = true;
+    for(int i = 0; i <= device_num; i++) checker *= comminfo[i].Available;
+
+    return checker;
+}
--- a/CommunicationMonitoring.h	Wed Dec 22 11:15:12 2021 +0000
+++ b/CommunicationMonitoring.h	Thu Dec 23 05:52:48 2021 +0000
@@ -20,7 +20,8 @@
         
         int init(int _time_out_ms, int _int_time_ms);
         void Monitoring(bool commCheck, int _device_num);
-        bool getAvailable(int _device_num);
+        bool isAvailable(int _device_num);
+        bool isAllAvailable(void);
 
     private:
 
--- a/main.cpp	Wed Dec 22 11:15:12 2021 +0000
+++ b/main.cpp	Thu Dec 23 05:52:48 2021 +0000
@@ -4,10 +4,10 @@
 
 #include "mbed.h"
 #include "platform/mbed_thread.h"
-#include "Controller.h"
-#include "ControllerForMbed.h"
-#include "CommunicationMonitoring.h"
-#include "define.h"
+#include "Controller.h"// DS4のみ通信が確認できているバージョンで,プロジェクトに公開しているクラス
+#include "ControllerForMbed.h"//宇井コンとの通信をmbedで行えるように変更を加えたクラスでプロジェクトに公開していない.
+#include "CommunicationMonitoring.h" //複数のデバイスの通信状況を確認するクラス(通信監視クラス)
+#include "define.h" //コントローラクラスにのみ対応
  
 #define INT_TIME 0.001
 #define INT_TIME_MS INT_TIME*1000
@@ -21,7 +21,7 @@
 #endif
 
 CommunicationMonitoring commMonitor;
-int contoller_num;
+int contoller_num; //通信監視クラス内でのコントローラのデバイス番号
  
 DigitalOut led_user(LED_USER);
 DigitalOut led_red(LED_RED);
@@ -60,7 +60,7 @@
     #elif CON_TYPE == CON_ADACHI
         conmbed.inti(1000, INT_TIME_MS*10);
     #endif
-    contoller_num = commMonitor.init(1000, INT_TIME_MS*10);
+    contoller_num = commMonitor.init(1000, INT_TIME_MS*10); //コントローラのタイムアウトと受信周期を設定し,デバイス番号を取得
     
     interrupt.attach(&interrupt_func, INT_TIME);
     
@@ -70,9 +70,9 @@
         {
             #if CON_TYPE == CON_DS4
                 //con.update(); //main関数のflag内で呼び出す.
-                commMonitor.Monitoring(con.update(), contoller_num);
+                commMonitor.Monitoring(con.update(), contoller_num); //コントローラの通信状況を監視
                 //if(con.available())
-                if(commMonitor.getAvailable(contoller_num))
+                if(commMonitor.isAvailable(contoller_num)) //コントローラと通信しているかを確認
                 {
                     int buttonState = con.getButtonState();
                     uint8_t joyRx = con.readJoyRXbyte();