i2c通信で使用する。
スレーブアドレス:0x18
・バージョン確認 [コマンド番号:0]
DakeJacketバージョン番号を取得する。
【使い方】
WriteしてからReadする。
(0x18<<1, 0)
(0x18<<1 + 1) -> バージョン番号 1byte(1以上の数字)が返ってくる。
・OUT(一括指定) [コマンド番号:1]
全てのOUTポートを一括で制御する。
【使い方】
(0x18<<1, 1, OUT下位8bit, OUT上位8bit)
・OUT(ポート指定) [コマンド番号:2]
指定したOUTポートを制御する。(-1でINポートに変更)
【使い方】
(0x18<<1, 2, OUTポート番号, 0または1または-1)
・PWM(Latte仕様) [コマンド番号:3]
OUT2~5にパルスを出力する。(単位はus。周期は指定できない。)
【使い方】
(0x18<<1, 3, PWMポート番号, パルス幅[us]下位8bit, パルス幅[us]上位8bit)
・PWMT [コマンド番号:4]
パルスの周期を指定する。(単位はus。)
【使い方】
(0x18<<1, 4, 周期[us]下位8bit, 周期[us]上位8bit)
・PWM(Jam仕様) [コマンド番号:5]
OUT2~5にパルスを出力する。(単位は0.01ms。周期を指定できる。)
【使い方】
(0x18<<1, 5, PWMポート番号, パルス幅[0.01ms]下位8bit,
パルス幅[0.01ms]上位8bit, 周期[0.01ms]下位8bit, 周期[0.01ms]上位8bit)
・IN(ポート指定) [コマンド番号:6]
指定したINポートの値を取得する。
【使い方】
WriteしてからReadする。
(0x18<<1, 6, INポート番号)
(0x18<<1 + 1) -> INの値 1byte(0または1)が返ってくる。
・IN(一括指定) [コマンド番号:7]
INポートの値を一括で取得する。
【使い方】
WriteしてからReadする。
(0x18<<1, 7)
(0x18<<1 + 1) -> INの値 2byte(下位8bit,上位8bit)が返ってくる。
・ANA [コマンド番号:8]
指定したポート番号のアナログ値を取得する。
【使い方】
WriteしてからReadする。
(0x18<<1, 8, ANAポート番号)
(0x18<<1 + 1) -> アナログ値 2byte(下位8bit,上位8bit)が返ってくる。
・CLO [コマンド番号:9]
OUTポートを初期状態にする。
【使い方】
(0x18<<1, 9)
・TX [コマンド番号:10]
UARTでデータを送信する。(MAX 256byte)
【使い方】
(0x18<<1, 10, データバイト0, ..., データバイト255)
・RX [コマンド番号:11]
UARTでデータを受信する。(MAX 256byte)
【使い方】
WriteしてからReadする。
(0x18<<1, 11, Readするデータバイト数)
(0x18<<1 + 1) -> Read可能なバイト数 + 1 byte
(Read可能なバイト数:n, データバイト0, ..., データバイトn-1) が返ってくる。
・UARTBPS [コマンド番号:12]
UART通信速度(BPS)を設定する。デフォルトは115200bps。
【使い方】
uint32_t bps
(0x18<<1, 12, bps&0xff, (bps>>8)&0xff, (bps>>16)&0xff, (bps>>24)&0xff)
・WS.LED [コマンド番号:13]
RGBLED WS2812Bを制御する。 (色指定MAX 34個)
【使い方】
(0x18<<1, 13, 色指定の数, 繰り返す数, 1つ目の色{緑:2byte(下位8bit,上位8bit), 赤:2byte(下位8bit,上位8bit), 青:2byte(下位8bit,上位8bit)}, 2つ目の色{}, ...)