質問編集履歴
3
呼び出し元メソッド追記
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
不変⇢不定へ修正
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
ソースコード修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -48,7 +48,7 @@
|
|
48
48
|
else
|
49
49
|
{
|
50
50
|
uiOnCode = Byte2Uint(byRxCodes, uiCodeCnt);
|
51
|
-
blOffFlg =
|
51
|
+
blOffFlg = true;
|
52
52
|
continue;
|
53
53
|
}
|
54
54
|
|