teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

呼び出し元メソッド追記

2019/07/21 04:15

投稿

matusmon
matusmon

スコア12

title CHANGED
File without changes
body CHANGED
@@ -75,4 +75,26 @@
75
75
  }
76
76
  }
77
77
  }
78
+ ```
79
+
80
+
81
+ 呼び出し元は以下のようにしています。
82
+ これにより、2secごとに[USB赤外線リモコンアドバンス](http://bit-trade-one.co.jp/product/module/adir01p/)へ保存されたデータを取り出しています。
83
+ ```c#
84
+ public async void ReadIR()
85
+ {
86
+ byte[] byRxCodes;
87
+ uint uiBitLen = 0;
88
+ while (MainWindow.blRecFlg == false)
89
+ {
90
+ byRxCodes = new byte[8192];
91
+ USBIR.recUSBIRData_Start(Handle, IRFREQ);
92
+ await Task.Delay(2000);
93
+ USBIR.recUSBIRData_Stop(Handle);
94
+ USBIR.readUSBIRData(Handle, ref byRxCodes, (uint)byRxCodes.Length, ref uiBitLen);
95
+
96
+ SetSonyFormat(byRxCodes);
97
+ }
98
+ }
99
+
78
100
  ```

2

不変⇢不定へ修正

2019/07/21 04:15

投稿

matusmon
matusmon

スコア12

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  [USB赤外線リモコンアドバンス](http://bit-trade-one.co.jp/product/module/adir01p/)と[ライブラリ](http://bit-trade-one.co.jp/support/download/)を用いて、特定の赤外線コードを受信したことをトリガーにして、任意のプログラムを実行させたいと考えています。
4
- [USB赤外線リモコンアドバンス](http://bit-trade-one.co.jp/product/module/adir01p/)の赤外線受光部と、発信機(リモコン)が至近距離であれば、受信コードは常に同一の値となりますが、距離を離すと不となってしまいます。
4
+ [USB赤外線リモコンアドバンス](http://bit-trade-one.co.jp/product/module/adir01p/)の赤外線受光部と、発信機(リモコン)が至近距離であれば、受信コードは常に同一の値となりますが、距離を離すと不となってしまいます。
5
5
  赤外線の点滅間隔によって1,0が決まるため、距離が離れることによって誤差が生じているものと考えています。
6
6
  そのため、「特定の赤外線コードを受信したこと」を判定することが困難な状況に陥っています。
7
7
  よって、誤差を吸収して常に一定のデータとして判定するための知恵を頂きたいです。

1

ソースコード修正

2019/07/21 03:37

投稿

matusmon
matusmon

スコア12

title CHANGED
File without changes
body CHANGED
@@ -48,7 +48,7 @@
48
48
  else
49
49
  {
50
50
  uiOnCode = Byte2Uint(byRxCodes, uiCodeCnt);
51
- blOffFlg = false;
51
+ blOffFlg = true;
52
52
  continue;
53
53
  }
54
54