LED の状態を変更するコマンドは次のとおりです。
+------+------+------+------+------+------+------+ ------+------+
| | CLA | イン | P1 | P2 | LC | データ |
+------+------+------+------+------+------+------+ ------+------+
| | 0xFF | 0x00 | 0x40 | SC | SC | 0x04 | T1 | T2 | #R | 0x00 |
+------+------+------+------+------+------+------+ ------+------+
ここで、SC は LED の状態 (連続オン/オフ、点滅) を定義し、T1/T2 は点滅波形を定義し、#R は点滅波形の繰り返し回数を定義します。
したがって、LED がどのように点滅し、点滅が終了した後にどのように見えるかを定義する主なパラメーターは SC です。これは 8 ビットのフィールドです。
- ビット 0: このフラグは、点滅終了後の赤色 LED の状態を定義します (ビット 2 も参照)。
- ビット 1: このフラグは、点滅終了後の緑色 LED の状態を定義します (ビット 3 も参照)。
- ビット 2: このフラグがセット (1) されている場合のみ、赤色 LED の状態は点滅終了後にビット 0 の値に設定されます。このフラグをクリア (0) すると、赤色 LED は LED 制御コマンドを発行する前の状態に戻ります。
- ビット 3: このフラグがセット (1) されている場合のみ、点滅終了後に緑色 LED の状態がビット 0 の値に設定されます。このフラグをクリア (0) すると、緑色 LED は LED 制御コマンドを発行する前の状態に戻ります。
- ビット 4: このフラグは、LED 制御コマンドの実行開始時に赤色 LED が設定されるべき状態を定義します。
- ビット 5: このフラグは、LED 制御コマンドの実行開始時に緑色の LED が設定されるべき状態を定義します。
- ビット 6: このフラグは、赤い LED を波形の点滅でトグルするかどうかを定義します。
- ビット 7: このフラグは、緑色の LED を波形の点滅で切り替えるかどうかを定義します。
したがって、SC のビット 4 と 6 を設定 (および残りをクリア)、つまり SC = 0x50 と仮定します。さらに、T1 = 5 (0x05)、T2 = 10 (0x0A)、#R = 2 (0x02) を設定します。したがって、次のコマンドがあります。
+------+------+------+------+------+------+------+ ------+------+
| | 0xFF | 0x00 | 0x40 | 0x50 | 0x04 | 0x05 | 0x0A | 0x02 | 0x00 |
+------+------+------+------+------+------+------+ ------+------+
その後、緑色の LED が消灯し、赤色の LED が次の波形で 2 回点滅します。
赤オン ----------\ /----------\
| | | | | |
赤オフ \--------------------/ \--------------------
\________/ \____/ \________/ \__________________/
T1 = 500ms T2 = 1000ms T1 = 500ms T2 = 1000ms
\_____________________________/ \_______________/
繰り返し 1 繰り返し 2
ここで、緑の LED も点滅させたいと仮定しますが、初期状態はオフに設定されています (赤と光なしではなく、赤と緑の間で点滅が切り替わるように)。したがって、SC のビット 7 も設定します。つまり、SC = 0xD0 です。したがって、次のコマンドがあります。
+------+------+------+------+------+------+------+ ------+------+
| | 0xFF | 0x00 | 0x40 | 0xD0 | 0x04 | 0x05 | 0x0A | 0x02 | 0x00 |
+------+------+------+------+------+------+------+ ------+------+
次に、赤の LED と緑の LED が次の波形で交互に 2 回点滅します。
赤オン ----------\ /----------\
| | | | | |
赤オフ \--------------------/ \--------------------
グリーンオン /--------------------\ /--------------------
| | | | | |
グリーンオフ ----------/ \----------/
\________/ \____/ \________/ \__________________/
T1 = 500ms T2 = 1000ms T1 = 500ms T2 = 1000ms
\_____________________________/ \_______________/
繰り返し 1 繰り返し 2
ここで、点滅が終了した後、赤色の LED を連続的にオンにし、緑色の LED を連続的にオフにしたいとします。したがって、2 つの LED の最終状態を定義できるようにするには、ビット 2 と 3 を設定する必要があります。(これらのビットを設定しない場合、ビット 0 と 1 の値は単純に無視されます。) 次に、赤オン (ビット 0 = 1) と緑オフ (ビット 1 = 0) の最終状態を定義します。したがって、SC = 0xDD が得られます。したがって、次のコマンドがあります。
+------+------+------+------+------+------+------+ ------+------+
| | 0xFF | 0x00 | 0x40 | 0xDD | 0x04 | 0x05 | 0x0A | 0x02 | 0x00 |
+------+------+------+------+------+------+------+ ------+------+
その後、赤色LEDと緑色LEDが交互に2回点滅し、点滅後に赤色LEDが点灯し、緑色LEDが消灯します。次の波形が得られます。
赤オン ----------\ /----------\ /--------------...
| | | | | | | |
レッドオフ \--------------------/ \--------------------/
グリーンオン /--------------------\ /--------------------\
| | | | | | | |
グリーンオフ ----------/ \----------/ \--------------...
\________/ \____/ \________/ \__________________/
T1 = 500ms T2 = 1000ms T1 = 500ms T2 = 1000ms
\_____________________________/ \_______________/ \______________...
繰り返し 1 繰り返し 2 最終状態
最後に、繰り返し回数を 1 に減らし (#R = 0x01)、点滅波形の高位相と低位相を反転させます (T1 = 0x0A および T2 = 0x05)。したがって、次のコマンドがあります。
+------+------+------+------+------+------+------+ ------+------+
| | 0xFF | 0x00 | 0x40 | 0xDD | 0x04 | 0x0A | 0x05 | 0x01 | 0x00 |
+------+------+------+------+------+------+------+ ------+------+
次の波形が得られます。
赤オン--------------------\ /--------------...
| | | |
赤オフ \----------/
グリーンオン /----------\
| | | |
グリーンオフ ------/ \--------------...
\____/ \________/
T1 = 1000ms T2 = 500ms
\_____________________________/ \_____________...
繰り返し 1 最終状態