Text preview for : LS28-35 ETAP Commands.pdf part of Bose LS 28,35 series I Bose LS 28-35 Serial Commands



Back to : LS28-35 ETAP Commands.pdf | Home

Postman ETAP (Extended Test Access Port) Command Set 8/22/02,
Guide to Arguments in the Following Table:
An ETAP command consists of a command plus optional arguments. This entire string is referred to as the command line. If an argument or delimiter is not enclosed in brackets- ][ or braces- }{ then it is required on the command line. Arguments enclosed in brackets are optional. Arguments enclosed in braces indicate a set of possible arguments, one of which is required. Individual arguments within a set (enclosed by braces) are separated by commas, which are not part of the actual command line. Commas within brackets are a required part of the command line. Arguments given with a dash, such as 0-5, represent a set (implicit braces) that consists of the specified range, all of which are valid arguments; from which only one argument is given. Nested braces indicate nested sets; the outermost pair of braces still indicates just one member of the enclosed set(s). Brackets and braces are not an actual part of the command line. An ellipsis is used as an abbreviated notation for a command that takes many sequential arguments, or it is used when the command can take a variable number of arguments. The ellipsis itself is not part of the command line.

Command and Arguments
AR [arg1,arg2,...,argn]

Description
Argument test. Whatever arguments are entered on the command line are echoed back out; shown interpreted as hex arguments and as string arguments. Use this to verify how the ETAP parser is interpreting your arguments. Prints the ETAP greeting, ETAP version number, and feature set. Breakpoint. Implementation specific. Add the line "break TAP_BreakPoint" to your gdb.ini file, and every time you run the debugger you will be able to break execution through the TAP port. Bose Wave Radio IR control. Send and I2C command through the Cirrus API. If data is not specified, then the chip register is read and the result is printed. Clear the event log. Query/set tuner channel spacing. If given without arguments, prints the current tuner channel spacing. Spacing: 0 U.S.A. 1 Europe. 2 Japan. Display memory as ASCII starting at the given address (plus optional base address). Use # character in front of address to specify absolute address (no base address is added). If no length is specified, 16 bytes are printed. See also DB, DM. Display or set base address for DM, DA, SB, SW, SL commands. Display list of all registered ETAP functions. Print DVD-ROM drive parameters. Display the event log. Display memory at given address (plus optional base address). Use # character in front of address to specify absolute address (no base address is added). Length is number of bytes to display. If no length is specified, 16 bytes are printed. See also DA, DB.

BO BR

BW command CC addr,reg[,data] CE CS [spacing]

DA [#]addr[,length]

DB [value] DC DD DE DM [#]addr[,length]

DS DT EK {c,r,i,d},{0,1}

Display statistics. Displays the list of active Nucleus Plus tasks along with flags. Enable or disable keypress echoing. Key Echo Type: c: Console keys. r: RF Remote keys. i: Filtered IR remote keys. d: Raw IR remote received key. Disable or enable system status dumps. FLASH Update. Reset all user parameters to manufacturing defaults and commit all parameters to non-volatile FLASH memory. Generate region code unlock reference key. Returns a 4-byte hex value. Prints help-text or comment for command. Send I2C commands to any chip on the bus. Send a command to the UEI IR blaster. Simulate a keypress on the console. If no argument is given, prints the raw keyscan value. Perform a single loopback test suite and report the results. Testnum Ranges: 00-1B Phase 0 loopback tests. 1C-1E Final fixture loopback tests. Memory tests. If one argument is given, then it is assumed to be the PLL register control value. If three arguments are given, then they are used as the k, m, and n parameters for the PLL circuit. If no arguments are given, the current DRAM speed is used. Query power-fail sense status. Returns answer as "PFAIL on" or "PFAIL off." On means that the power-fail sense line is low, off means that the sense line is high. Turn performance monitor on/off. The performance monitor measures the main loop cycle time. The second argument given is the number of samples to average before displaying. The third argument is the color in which the monitor is drawn. Reprints the results of the power-on-self-tests. If no argument is given, then the high level summary is printed. Result Printout Type: c: Complete test results. d: Details only.

ES {0,1} FU GK HE IC IR KP

[command] addr,n1[,n2,...,nx] n1[,n2,...,nx] [keynumber]

LT testnum

MT {[pll_reg],[k,m,n]}

PF

PM {0,1}[,average[,color]] PS [c,d]

2

PT testnum

Perform one of the self-test phases or other self-test actions. Testnum: 0: Boot product and end self-test phase. 1: Phase 1 tests. 2: Phase 2 & 3 tests. 3: Phase 3 tests only. 4: Hardware tests. 5: Re-test all A/V loopbacks and report. 6: Re-print A/V loopback results in expanded form. 7: Re-print A/V loopback results in single-line form. 8: Re-assert phase 1 output pattern. 9: Final fixture loopback tests. a: Light all icons on VFD display. b: Restore VFD to normal operation. c: Output NTC-7 video test pattern. d: Output splash screen. e: Restore normal video operation. f: Hold product in self-test mode. Query tuner station. Shut down or start up RISC0. 0 = Shut down, 1 = Start up. Sets or prints the region code. If no argument is given then the current region code is printed. If the region code scheme is RPC1, then the unlock key derived from the reference key must be given within five seconds of the GK command. The algorithm for deriving the unlock key is given in a separate document. See also GK. Values for code: 0: Region free. 1-6: Region code. x: Print RPC scheme and other parameters. -1: Change RPC scheme to RPC0 (no region code management). -2: Change RPC scheme to RPC1 (region code managed in software). Simulate an RF keypress. If room or zone is not given, they are assumed to be Room A, Zone 1. Report or manually set tuner calibrations. If no arguments are given, then all of the tuner calibrations are printed. To set a calibration, specify the parameter and the desired value. Tuner Calibrations: 0: Set AM seek/stop threshold. 1: Set FM seek/stop threshold. 2: Set FM stereo/mono threshold. 3: Set FM IF offset. 4: Set FM nominal volume. 5: Set FM IF offset, and re-tune with new offset. If given without arguments, resets the entire chip, otherwise resets a particular submodule. Submodule to Reset: 0: Reset RISC0. 1: Reset RISC1. d: Reset DSP. p: Reset PCM. m: Reset MPEG decoder.

QS R0 {0,1} RC [code[,unlock_key]]

RF key[,room[,zone]] RM [0-5,value]

RS [{0,1,d,p,m}]

3

RT testnum

RF test suite. Argument selects which test is performed. RF Test: 0: Transmit continuous. 1: Transmit square wave. 2: Receive continuous. 3: Restore normal operation. Write a byte at the given address (plus optional base address). Use # character in front of address to specify absolute address (no base address is added). See also DB, SW, SL. Send bytes out the I2C bus addressed to a particular chip. You may send as many bytes as will fit on the command line. The I2C address can be odd if the audio product implements two I2C busses. Set or display the event logging level. Levels 1-9 cause events that have lower log levels to be stored into the event log. Level 0 is a special level that causes all events to be printed to the ETAP port immediately. Set or print the video display properties. If entered with no argument, the current video display properties are printed. Video Setting: 0: 0 IRE 7: 7.5 IRE N: NTSC P: PAL Y: YPbPr C: Composite + SVideo R: RGB Set/print house code. Writes a long word (four bytes) at the given address (plus optional base address). Use # character in front of address to specify absolute address (no base address is added). See also DB, SB, SW. Set/print serial number. Send a smart speaker command. The checksum is automatically calculated. Prints all software and hardware module versions. See also BO, VR. Writes a word (two-bytes) at the given address (plus optional base address). Use # character in front of address to specify absolute address (no base address is added). See also DB, SB, SL.

SB [#]addr,value SC I2C_addr,n1[,n2,...,nx]

SE [level]

SF [{0,7,N,P,Y,C,R}]

SH [house_code] SL [#]addr,value

SN [serial_number_string] SS header,address,argument SV SW [#]addr,value

4

T {0-B, F}

Automatic tuner manufacturing command. The argument specifies the function to perform. Many of these tests require the proper test signal generator and setup to work correctly. Tuner Calibration Command: 0: AM Alignment @ 600kHz. 1: AM Alignment @ 1500kHz. 2: AM Stop Level @ 1080kHz. 3: FM Stop Level @ 98.1MHz. 4: FM Stop Level @ 83.0MHz. 5: FM Stereo Threshold @ 98.1MHz. 6: FM Stereo Threshold @ 83.0MHz. 7: FM IF Centering @ 98.1MHz, best offset. 8: FM IF Centering @ 83.0MHz, best offset. 9: FM IF Centering @ 98.1MHz, second best offset (must issue T7 first). A: FM IF Centering @ 83.0MHz, second best offset (must issue T8 first). B: End of tuner calibrations, commit parameters to non-volatile memory. F: Enable tuner manufacturing commands. This will set appropriate rooms to full volume, raise the speaker enable lines, and enable commands T0-TB. Cause the tuner to take the specified action. Tuner Command: 0: Stop tuner. 1: Re-tune station. 2: Tune down. 3: Tune up. 4: Seek down. 5: Seek up. 6: Scan down. (Not implemented in Postman). 7: Scan up. (Not implemented in Postman). Tune to station. Query the video encoder by register. Without arguments, prints the results of entire register set. If no data is specified then the register is read and the result is printed. If data is specified, then the data is written into the register. Encoder query by name. With no arguments, prints the results of the query. If a parameter is given, then the setting is applied to that parameter. Parameters: n: Encoder NTSC/PAL l: Encoder luma delay c: Encoder chroma LPF select e: Encoder chroma LPF enable p: Encoder pedestal select b: Encoder color bar enable h: Encoder hue adjust s: Encoder sync phase adjust w: Encoder wide screen signaling

TC command

TS station VE [reg[,data]]

VN [parameter,setting]

5

VR VS zone,room,volume VW [parameter,setting]

Prints ROM-coded software ID, product version number(s), and copyright information. Set volume. Zone = 1, 2; room = 0-6, volume = 0-64 (hex). Video and DRAM settings. Without any arguments, prints the video and DRAM status. If a parameter is given, then the setting is applied to that parameter. Parameters: m: DRAM PLL, M n: DRAM PLL, N k: DRAM PLL, K h: Horizontal Filter v: Vertical Filter a: Anti-Flicker Filter Print zone status. If given with no arguments, prints status for all rooms and zones.

ZS [zone[,room]]

Using TAP Functions
Functions in ETAP.C:
(include etap.h in your file to gain access to these commands) char TAP_RegisterCommand(ETAPFunctionPtr Function, char *CommandString, char *CommentString); Use this command to register a TAP command with the command interpreter. Commands are limited to two characters long right now, but can be easily changed. Returns success or fail. Fails if there is no more room to accept commands. You can add single character commands also. The command interpreter begins by looking for the longest commands that match and continues to the shortest. For instance, if you register a command called "TF" and you register a command called "T", and then you type "TFE" on the command line, the command TF would be executed with an argument of "E" rather than the "T" command being executed with an argument of "FE". Keep this in mind when choosing command names. Example:
TAP_RegisterCommand (TAP_DisplayMemory, "DM", "Display memory");

A TAP function is typed as follows:
void (char *CommandString)

A pointer to the entire command line is passed to every TAP command. This command line string is the original string entered by the user except that the characters corresponding to the command have been capitalized. In this way, all commands are case insensitive, although their arguments may make use of case. There are macros defined so that you can prototype and define TAP functions without having to remember the pointer to the command line.
#define TAPCommandPrototype(x) #define TAPCommand(x) extern void x (char *CommandString) void x (char *CommandString)

void TAP_NewLine(unsigned char NumLines);

6

Use this to print any number of carriage returns and or new lines to the TAP port. void TAP_StripSpaces(char *String, unsigned char Action); Use this to strip spaces from an ASCII string. Action: 0 = Strip all spaces, 1 = Strip leading spaces.

void TAP_Print(const char *String); Use this to print a null-terminated string to the TAP port.

void tprintf(char *formatstring, ...); Use exactly like printf, except that output is sent to the TAP port.

char TAP_CheckNumberOfArgs(char *CommandString, unsigned char NumArgs); Checks that the number of hex arguments on the command line is at least NumArgs. Returns 0 for success, otherwise prints "Missing Arguments" and returns ­1.

unsigned long TAP_GetHexArg(char *CommandString, unsigned char Argnum); Gets the Argnum-nth hex argument from the command line. All non-hex characters are ignored.

unsigned char TAP_GetASCIIArg(char *CommandString, unsigned char Argnum, char *UserString, unsigned char MaxChars, unsigned char Modifier); Gets the Argnum-nth ASCII argument from the command line. Copies only up to MaxChars into the space pointed to by *UserString. The modifier argument controls any special string handling. Any number of string handling modifications can be performed by using the appropriate binary combination of modifier values (see below), although some are mutually exclusive. Stripped spaces do not count towards the number of characters copied (MaxChars). Modifier Values: 0x00 No change. 0x01 Strip leading spaces. 0x02 Strip inner spaces. 0x04 Strip trailing spaces. 0x08 Convert to upper case. 0x10 Convert to lower case.

unsigned char TAP_CountHexArgs(char *CommandString);

7

Returns the number of hex arguments on the command line. unsigned char TAP_CountASCIIArgs(char *CommandString); Returns the number of ASCII arguments on the command line.

Functions in ETAPPOST.C:
(include etappost.h in your file to gain access to this command) void logprintf(char *formatstring, ...); Use this command to print output to the event log. Works exactly like printf, except that a couple of new format characters have been defined: %1t High resolution time-stamp. Decimal time stamp is inserted. Fastest timer rate. %2t Medium resolution time-stamp. Decimal time stamp is inserted. 1.66ms timer rate. %3t Low resolution time-stamp. Decimal time stamp is inserted. 100ms timer rate. %_v Event logging level. This is not printed, but is used as the event logging level. Logging levels: 0 = Always log. 1-9 = Logging level. 1 = Highest priority, 9 = Lowest priority. Use different logging levels to indicate different levels of severity. Therefore with TAP commands, events of certain severity or higher can be turned off. Events with level 0 cannot be turned off. Default level is zero. Examples: logprintf("This event will always be logged!\n"); logprintf("%1v This event was generated at time %2t.\n"); logprintf("%3v Keypress %u detected at time %3t.\n", Keyval);

8