background image

24

MAS7.1 Suplemental Guide, Rev 1.1, 9/28/07

K.I.S.S.™

 

 Keep It Simple Serial

Using Bitmapped Parameters

Some commands accept “Bitmapped” parameters. These are decimal values that represent a series of flags, 
or bits, that control, enable and/or disable different device operations.

Binary arithmetic is used to represent bitmapped parameters, it is assumed the reader has some familiarity 
with binary arithmetic.

An example of a command that uses a bitmapped parameter is the “

XS settings<CR>

” command, which is 

defined as:

XS 

settings

<CR>

Where ‘

settings

’ is a bitmapped parameter:

AS - 0=Master / Slave mode.

1=Asynchronous Mode.

FP

- 0=Disable Front Panel.

1=Front Panel Enabled

IRE - 0=Disable IR Control.

1=Enable IR Control.

IRS - 0=Turn off IR Sensor.

1=Turn on IR Sensor.

IRJ - 0=Turn off IR Jack.

1=Turn on IR Jack.

CSE - 0=Disable CS and CRC-8

1=Append either Checksums or CRC-8 to responses.

CRC- 0=Append Checksums,

1=Append CRC-8’s, to responses.

12V - 0=+12V disabled

1=Use IR Jack as +12V On / Off Control

The ‘Decimal Value’ in the table’s header, refers to the values added together to create the decimal parameter 
used by the command. For instances if the bits ‘AS’ and ‘IRS’ where to be set to 1, and the rest of the bits set 
to zero, the parameter value would be calculated as: 8+1, making the parameter value: 9.

The command to directly set those two bits, and reset all the others would be:

XS 9<CR>

Individual bits of a bitmapped parameter can be set or reset without affecting the other bits, by prefixing the bit-
mapped parameter with a ‘+’ to set individual bits, or a ‘-’ to reset individual bits.

For instance in the above example the bitmapped value has been set to ‘9’. If we would now like to enable the 
IR remote, by setting the ‘IRE’ bit, the following command can be issued:

XS +4<CR>

The will set the ‘IR’ bit, and have no affect on the others, and the new “XS” value would be: 13

If we’d like to now disable the IR jack and the IR remote functions and the Front Panel,  by clearing the ‘IRJ’, 
‘IRE’ & ‘FP’ bits, we’d use the value “16+4+2”, or 22, and issue the command:

XS -22<CR>

leaving the new “XS” value to be: 1.

Using Command Checksums and CRC-8 Checkcodes

A checksum or CRC-8 checkcode may be appended to any command, and if given, will be calculated by the 
device and compared with the given value. If a mismatch occurs an error will be returned and the command will 
not be executed. This can be used to help assure reliable operation in noisy environments. Checksums are 
more commonly used in serial protocols, however CRC-8 checkcodes offer a more secure means of insuring 
error free communications.

A checksum or CRC-8 checkcode is appended to the command by adding a semicolon (‘;’) for a checksum, or 
a colon (‘:’) for a CRC-8 checkcode.

Decimal Value

+128

+64

+32

+16

+8

+4

+2

+1

Bit Position

7

6

5

4

3

2

1

0

Name

12V

CRC

CSE

IRJ

IRS

IRE

FP

AS

Factory  Settings

0

0

0

1

1

1

1

0

Содержание MAS7.1

Страница 1: ...Home Theater Solutions RS 232 Serial Protocol Reference MAS7 1...

Страница 2: ...t Learnable IR Code 14 LI Front Panel Light Intensities and Mode 14 MCS Multi Channel Split 15 MZ Mute 16 P Power Control 16 PSM Primary Secondary Mapping 16 Q Query Status 17 QZ Query for Zone Inform...

Страница 3: ...cable The MAS7 1 can also be used with any USB to RS 232 conversion cable these are all typically straight through cables Be sure to install any drivers that come with the USB to RS 232 cable you are...

Страница 4: ...modes if you send a command and don t get a response in 100ms something s wrong with the connection There are three different types of responses Acknowledgements Errors and Query Strings The Acknowled...

Страница 5: ...e when the power is tog gled See Master Slave and Asynchronous Modes of Operation on page 27 Checksums and CRC8 s You can optionally append a checksum or a CRC8 checkcode to the end of any serial comm...

Страница 6: ...these commands a Zektor universal driver can be more easily written Table of MAS7 1 Commands U Command Description Comments x P p Power control p power state 0 off 1 on toggle x SZ 1 n Set zone to in...

Страница 7: ...A number between 1 and 3 indicating which primary button you re pressing If the Sync LED is lit the both the primary and secondary LEDs will change if it is not lit only the primary LEDs will change...

Страница 8: ...S7 1 for its current state use the as the only parameter and the MAS7 1 will respond with a followed by the command with the current settings as parameters To read the power on state of the MAS7 1 P C...

Страница 9: ...ror 5 Too many or too few parameters 6 Device busy cannot process command 7 Buffer overflow And some more detailed descriptions of their meanings Error 1 The command given was not recognized as a MAS7...

Страница 10: ...ry tight control over the MAS7 1 By disabling the front panel see XS Control Settings on page 21 and by then processing the front panel button presses of the MAS7 1 the user can redefine the operation...

Страница 11: ...ut it will be ignored if the MAS7 1 is not in a setup mode By issuing 0 codes the MAS7 1 can be returned to a known state regardless of any possible setup state it might be in The 0 button code is als...

Страница 12: ...o prefix is used all channels will be set to the given delay The nn is a variable and indicates the delay time in milliseconds Not all parameters have to be present and they do not have to appear in a...

Страница 13: ...for every IR code detected by the front panel IR sensor or IR jack if enabled regardless as to whether the IR code detected was used to control the MAS7 1 The uses for this command are two fold 1 The...

Страница 14: ...that the MAS7 1 is able to learn they are IRCmd Description 1 Toggle Power 2 Select Input 1 3 Select Input 2 4 Select Input 3 5 Select Input S1 6 Select Input S2 7 Select Input S3 8 Toggle SYNC 9 Dis...

Страница 15: ...L Left stereo audio connector R Right stereo audio connector This command uses a bitmapped parameter See Using Bitmapped Parameters on page 24 Each bit represents the mapping for one connector as def...

Страница 16: ...hich channel is being muted If no pre fix is used all channels will be affected The m is a variable and indicates the mute setting 0 Not muted 1 Muted Not all parameters have to be present and they do...

Страница 17: ...EEPROM would be PSM 6 If the settings are changed but the suffix is not used the new settings will not be restored after a power fail ure The suffix is used to backup the new settings in EEPROM which...

Страница 18: ...s breakaway_opt_x A variable number of breakaway options This command is used to determine the number of inputs zones and the different breakaway options available to a device Its response string is s...

Страница 19: ...OM To save the new LI settings you can issue the LI command with just a LI Or you can use the SS command to save all unsaved data which will include the LI setting SS 2 The SS command is also used to...

Страница 20: ...return SZ 1 M2 A3 D1 H2 V Version Query Query for the current firmware version of the MAS7 1 V Request version string V Request version string Response String V MAS7 1 firmware_ver firmware_serial_num...

Страница 21: ...anged FPC 1 Front panel settings have changed PSM 1 Primary secondary mappings have changed This command uses a bitmapped parameter see Using Bitmapped Parameters on page 24 The parameter is a Backup...

Страница 22: ...trol Settings will also backup the Transmit Enable Settings see XE Transmit Enable Settings on page 20 The IR control IRE and the IR jack IRS work differently when disabled Disabling IR control by set...

Страница 23: ...erpreted as P 1 When a command has more than one parameter the parameters are separated by either whitespace s or a comma or both whitespace s and a comma for instance LI 3 3 80 CR or LI 3 3 80 CR wil...

Страница 24: ...set those two bits and reset all the others would be XS 9 CR Individual bits of a bitmapped parameter can be set or reset without affecting the other bits by prefixing the bit mapped parameter with a...

Страница 25: ...e ESC character can be issued to clear the buffer and reset any checksum or CRC 8 checkcode calculations This is useful when communications with the Zektor device is being initialized and the state of...

Страница 26: ...er to use a single rou tine to issue a command and check for an Acknowledgement or an Error Response String whether or not the command queries for a response An example of an error response IL CR Sent...

Страница 27: ...here is a Query Status command available to the control ler that return the status state of the device as a bitmap of flags indicating which states have changed and need querying This allows the contr...

Страница 28: ...ceived One approach would be to write a Get Response routine that handles all Query Response internally by looking for the character and only passing through non query responses By using such a routin...

Страница 29: ...nding more and different types of errors than a checksum can A good description of its capability is described in the above referenced articles but a simple example show some of the differences Here s...

Страница 30: ...calculated checksum appended to it You can download this source code at http www zektor com downloads ckstst c include stdio h int main void char TestString LI 3 2 80 unsigned char cksum int index ch...

Страница 31: ...e bits of the polynomial are reversed from the polynomial s order This allows us to read in each bit starting with bit 0 of each byte instead of bit 7 This is done because the UART sends its LSB first...

Страница 32: ...ng LI 3 2 80 unsigned char crc8 int index char token crc8 CRC8_INIT initialize checkcode CRC8 all of TestString index 0 while TestString index 0 crcByte crc8 TestString index Add the CRC 8 token chara...

Отзывы: