background image

10

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

MAS7.1 Command Reference

Command Definitions

The commands are defined in alphabetical order.

(*) In an effort to make “Zektor Universal Drivers” easier to write, Zektor has adopted a subset of “Universal 
Commands”. By using only these commands, it should be possible to write a driver that works with all Zektor 
products. Reducing the effort of writing drivers for multiple Zektor products. The commands that are part of the 
Universal Command Set will be marked with a (*).

‘B’ Button Emulation

This command allows access to the internal keyboard handling of the MAS7.1, and is very hardware depen-
dent. Button values returned by the MAS7.1 may and most likely will be different than button values returned 
by other Zektor devices.

Each button generates a value upon being pressed, and a different value upon release.

The Power toggle button also generates a unique value when held for 4 seconds, which is used to enter the 
setup mode. Other combinations may also generate unique codes.

This command allows the controller to detect front panel button presses even when the front panel is disabled. 
This allows the controller very 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 operations of the MAS7.1. 

When used in combination with the “Read Last IR Code” command, even IR commands can be handled by the 
user, outside the MAS7.1’s firmware.

Because of the tight link between this command and the MAS7.1’s firmware, there are some caveats when 
using this command. The Zektor firmware expects a button press code to always be followed by a button 
release code. Sending these codes out of logical order will not harm the MAS7.1, but may result in unpredict-
able behavior (buttons codes ignored, or unexpected state changes).

b1

,

bn

...

Send one or more button codes to the MAS7.1.

B ?

Query for any buffered button presses.

B

Query for any buffered button presses.

Response String:

=B 

b1

,

bn

...

Where:

b1

,

bn

..

= A variable number of button codes (1 to 16 codes per command).

In the Master / Slave mode, only the last 16 button presses will be logged between queries, after that, new but-
ton presses overwrite the old ones in the internal buffer and will be lost to the controller.

The maximum number of button codes that can be sent is 16. If more than 16 button codes are sent a “param-
eter count error” will be returned and only the first 16 button codes will be accepted.

Summary of Contents for MAS7.1

Page 1: ...Home Theater Solutions RS 232 Serial Protocol Reference MAS7 1...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Page 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...

Reviews: