New types for turbo formats

New chunks for turbo formats (PWM encoded data)

pwms (PWM settings)

This is the equivalent of "baud" chunk for FSK data, describing the parameters of signal.

Name Raw bytes value
type $70 $77 $6d $73 "pwms" identifier
length $02 $00 Length of data is 2 bytes
aux1 $xx see below for description
aux2 $00 currently not used
data $LL $MM sample rate, the base to specify width of impulses in the rest of PWM blocks


aux1 - two least significant bits describe the type of impulse:

01 -  the impulse starts with a falling edge and lasts until the next falling edge.  Distances between subsequent edges (falling,rising,falling) are equal. The times of two subsequent states triggered by those edges are equal.
10 -  the impulse starts with a rising edge and lasts until the next rising edge.  Distances between subsequent edges (rising,falling,rising) are equal. The times of two subsequent states triggered by those edges are equal.
00 -  reserved
11 -  reserved

aux1 - bit 2 determines the order of bits in byte (endian)

0 -  from least to most significant (little endian)
1 -  from most to least significant (big endian)

pwml (PWM levels)

This chunk stores series of signal levels (low and high).

Name Raw bytes value
type $70 $77 $6d $6c "pwml" identifier
length $LL $MM Length of data is $MMLL
aux $LL $MM IRG (silence) in miliseconds
data $LL $MM $LL $MM $LL $MM ... Length/2 values specifying the widths of subsequent signal states, in samples. The first state is determined from aux1 in preceding "pwms" chunk  (low for '01' and high for '10')

 

pwmc (PWM cycles)

This chunk stores series of impulses of equal width  (for example sync signal, series of identical bits etc.).

Name Raw bytes value
type $70 $77 $6d $63 "pwmc" identifier
length $LL $MM Length of data is $MMLL
aux $LL $MM IRG (silence) in miliseconds
data $xx $LL $MM $xx $LL $MM $xx $LL $MM ... (Length/3) of trios: impulse width in samples (1 byte), number of impulses ($MMLL - 2 bytes)

 

pwmd (PWM data)

This chunk stores pure data.

Name Raw bytes value
type $70 $77 $6d $64 "pwmd" identifier
length $LL $MM Length of data is $MMLL
aux1 $xx width of impulse corresponding to bit "0", in samples
aux2 $yy width of impulse corresponding to bit "1", in samples
data ... (Lenght) bytes of data

Previous page: New types for standard format
Next page: Installation