Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 1:6633661058ec, committed 2021-12-23
- Comitter:
- kikuchi8810
- Date:
- Thu Dec 23 05:52:48 2021 +0000
- Parent:
- 0:a33375289d79
- Child:
- 2:fd0c21600586
- Commit message:
- modified
Changed in this revision
--- 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();