User manual - WK-210 MIDIインプリメンテーション

29
Blockのビットフィールドの割り当て方
Parameter Block2次元以上の配列構造を持つ場合は、このBlock番号を表す21bitを、以下に説明するような
ルールに従って、所定の長さを持つビットフィールドに分割して使用します。
ケース1
配列のネスティングが3以下で、各次元の配列数が128以下であるときは、3つの7bitフィールドの下位
から割り当てます。未使用領域は0にしておきます。
例:
parameter[A][B][C]
A=8 (3bit), B=5 (3bit), C=10 (4bit),
といった3次元配列のパラメータではBlockのビットフィールドを
Block = 0000aaa 000bbb ccccccc (Binary) と割り当てます。
ケース2
ケース1の条件を満たさない場合は、各次元の配列数に必要な最小限のフィールドをBlockの下位ビット
から確保していきます。未使用領域は0にしておきます。(本機ではこのケースはありません)
例1:
parameter[A][B][C][D]
A=3 (2bit), B=4 (2bit), C=3 (2bit), D=4 (2bit)
といった4次元配列のパラメータではBlockのビットフィールドを
Block = 0000000 00000a abbccdd (Binary) と割り当てます。
例2:
parameter[A][B]
A=3 (2bit), B=200 (8bit)
といった2次元配列のパラメータではBlockのビットフィールドを
Block = 0000000 000aab bbbbbbb (Binary) と割り当てます。
19.3.10 pkt : Packet Number
1つのParameter Setを転送するのに分割されたパケットの番号kkkkkkkjjjjjjjiiiiiiiB (Binary)
します。
19.3.11 prm : Parameter ID
Parameter IDはパラメータの種類を表すものです。 (後述のV Parameter List参照)
Parameter個別転送の時に転送対象となるParameterをこのフィールドのParameter IDによって表します。
19.3.12 idx : Data Index Number
Parameterが文字列などのように配列構造を持っているときに、転送を開始する配列の先頭の配列番号を表しま
す。
19.3.13 len : Data Length
以下に示すように、Individual Parameter 転送の場合と、Bulk Parameter Set 転送の場合で意味が異なります。
Format: 0iiiiiiiB (LSB) 0jjjjjjjB 0kkkkkkkB (MSB)
Format: 0pppppppB (LSB) 0qqqqqqqB (MSB)
Format: 0iiiiiiiB (LSB) 0jjjjjjjB (MSB)
Format: 0lllllllB (LSB) 0mmmmmmmB (MSB)