Documente Academic
Documente Profesional
Documente Cultură
5
1. The iTach Modular Design Concept
The iTach family of products' modular design provides a variety of capabilities. Each module provides a particular function: power and network connections, infrared (I !, digital input ( "#$#!, and contact closures (relay!. % module may also support one or more connectors of the same type. &or e'ample, an I module has three independent I connectors( whereas, a serial module has only one serial "#$# connector. This is due to the fact that the number of connectors a module can support is dictated by its ).* inch physical width. It is important to understand that a module+s address is determined solely by its physical position within the iTach enclosure. Each module occupies ).* inches of front panel space, even if it is part of a larger product. %t power on, module addresses are assigned starting with ,-, for the left.most module (containing the network and power connectors! and increasing se/uentially to the right until all module addresses are assigned (see figure!. This presents a consistent programming interface as additional modules are added. % connector's address is its position within a module, starting at ) on the left, and increasing se/uentially as you move to the right. % complete connector address includes the module address and the connector location in the module, separated by a colon. In figure ) below, one I module is contained in the iTach I0#I , and is located in module ). The first I connector on the I module has an address of ):), whereas the third I connector has an address of ):$. Note: In iTach units containing infrared (I ! and relay contact closure (11! modules, those modules are always physically located in module ) ():2!. 3owever, modules ) through $ will be accepted in commands to the I , and ) through * will be accepted by the 11. This is deliberate and allows drivers developed for the 41.)-- 5etwork %dapter series of products to function without change. !a"ple: 6oth of the following commands will set the first relay to closed: setstate,):),) setstate,*:),) I# Connectors: "upport for an I blaster is enabled on the third (2:$! I connector on an I module. This can be configured via command, or must be selected on the web site. %ttempts to configure connectors other than 2:$ as an I blaster will result in a returned error message.
1:1 1:3
correct module number ():2! incorrect module but is an accepted, functional command
Module 0 &igure )
iTach API Specification Effective A!"!st #5, #011 P( 100)15*01 ver+ 1+5 ) of )7
Module 1
160 East California Street, PO Box 1659 $ac%sonville, Ore"on 9&5'0 Phone 5)1*,99*),00 -ax 5)1*,99*),0, ...+"lo/alcache+co0
Infor0ation s!/1ect to chan"e .itho!t notice+
5. Co""and Set
1ommands are initiated by short %"1II string representing the command type. Typically, physical address and data information will follow. The structures of iTach commands are described in the following sections. Te't enclosed in brackets (Bte'tE! must be substituted by its %"1II definition. @ultiple %"1II choices are divided by separator ( L ! characters. Note: 1ommands are case sensitive. !a"ple: The network settings are /ueried with the getD5ET command: getD5ET,BconnectoraddressE where( BconnectoraddressE is -:) (network module address! The command %"1II string sent to the iTach is: getD5ET,-:) Note: getD5ET command is documented fully in section 5.1 below. 5.1 ,eneral Co""ands getde(ices This iTach command is used to determine installed modules and capabilities. Each module responds with its address and type. This process is completed after receiving an endlistdevices response. "ent to iTach: getdevices de(ice "ent from each iTach module in response to getdevices: device,BmoduleaddressE,BmoduletypeE (one sent for each module! where for iTach products( BmoduleaddressE is L-L)L BmoduletypeE is L8I&ILET3E 5ETL$ EG%ML$ I L) "E I%GL %ll modules are included in the response followed by endlistdevices The following are the possible iTachI responses to a getdevices command. device,-,- 8I&Idevice,),$ I endlistdevices device,-,- 8I&Idevice,),) "E I%Gendlistdevices
iTach API Specification Effective A!"!st #5, #011 P( 100)15*01 ver+ 1+5 $ of )7
for 8i&i to three relays for I0 to three infrared for I0 to one serial for I0 to three relays
get-S #IA/ This command will retrieve the current iTach serial settings. getD"E I%G,):)
iTach API Specification Effective A!"!st #5, #011 P( 100)15*01 ver+ 1+5 * of )7 160 East California Street, PO Box 1659 $ac%sonville, Ore"on 9&5'0 Phone 5)1*,99*),00 -ax 5)1*,99*),0, ...+"lo/alcache+co0
Infor0ation s!/1ect to chan"e .itho!t notice+
iTach API Specification Effective A!"!st #5, #011 P( 100)15*01 ver+ 1+5 7 of )7
160 East California Street, PO Box 1659 $ac%sonville, Ore"on 9&5'0 Phone 5)1*,99*),00 -ax 5)1*,99*),0, ...+"lo/alcache+co0
Infor0ation s!/1ect to chan"e .itho!t notice+
I ,):),BI L"E5"= L"E5"= D5=TI&MLI D6G%"TE LGE>DGI43TI54E stopir % stopir command is used to halt I transmission. %ny remaining BrepeatE counts will be discarded. % stopir command sent to a connector configured as an input will return an error message. %n I transmission halted with the stopir command will return a stopir response. &urthermore, if an I command is halted before its completion by another connection, the originating I connection and the connection sending stopir will both receive a stopir response. If stopped, the originating connection will not receive a completeir response. "ent to iTach: stopir,):) stopir,):# stopir,):$ to stop the )st I connector transmission to stop the #nd I to stop the $rd I connector transmission connector transmission
"ent from iTach in response to stopir command: stopir,BconnectoraddressE where( BconnectoraddressE is as defined in stopir command % stopir command always returns a stopir response regardless if the connector is idle or an I transmission is actually halted. % stopir response means only that the stopir command was successfully sent to the iTach, and any transmission has been halted from the designated BconnectoraddressE.
iTach API Specification Effective A!"!st #5, #011 P( 100)15*01 ver+ 1+5 < of )7 160 East California Street, PO Box 1659 $ac%sonville, Ore"on 9&5'0 Phone 5)1*,99*),00 -ax 5)1*,99*),0, ...+"lo/alcache+co0
Infor0ation s!/1ect to chan"e .itho!t notice+
for the )st "ensor input or elay for the #nd "ensor input or elay for the $rd "ensor input or elay
0eriod
<
: )- )) )# )$ ); )* )7 )< )H ): #160 East California Street, PO Box 1659 $ac%sonville, Ore"on 9&5'0 Phone 5)1*,99*),00 -ax 5)1*,99*),0, ...+"lo/alcache+co0
Infor0ation s!/1ect to chan"e .itho!t notice+
iTach API Specification Effective A!"!st #5, #011 P( 100)15*01 ver+ 1+5 )- of )7
Boff#E C *
5.+.. Sending I# 1ontrol of I devices is accomplished through use of the sendir command. "ince I commands may take up to )--m" to complete, the iTach provides a completeir acknowledgment to indicate when it is ready to accept the ne't I command for the connector in use. sendir "ent to iTach: sendir,BconnectoraddressE,BI>E,Bfre/uencyE,BrepeatE,BoffsetE,Bon)E, Boff)E,Bon#E,Boff#E,O.,Bon5E,Boff5E (where 5 is less than #7- or a total of *#numbers! where( BconnectoraddressE is as defined in section ). BI>E is L-L)L#LOL7**$*L ()! (for the completeir response, see below! Bfre/uencyE is L)*---L)*--)LO.L*-----L (in hertP! 2repeat3 is L)L#LO.L*-L (#! (the I command is sent BrepeatE times!
BoffsetE is L)L$L*LO.L$H$L ($! (used if BrepeatE is greater than ), see below! Bon)E is L)L#LOL7*7$*L (;! (number of pulses! Boff)E is L)L#LOL7*7$*L (;! (absence of pulse periods of the carrier fre/uency!
()!
The BI>E is an %"1II number generated by the sender of the sendir command, which is included later in the completeir command to confirm completion of each respective sendir transmission.
(#!
The BrepeatE is the number of times an I transmission is sent, if it is not halted early via a stopir or another I command (see section *.;!. Nalues above *- are accepted, but I commands are sent only the ma'imum *- times. In all cases, the preamble is only sent once (see BoffsetE below!.
($!%n
BoffsetE applies when the BrepeatE is greater than ). &or I commands that have preambles, an BoffsetE is employed to avoid repeating the preamble during repeated I timing patterns. The BoffsetE value indicates the location within the timing pattern to start repeating the I command as indicated below. The BoffsetE will always be an odd value since a timing pattern begins with an BonE state and must end with an BoffE state. BoffsetE odd value ) $ O. n.)
iTach API Specification Effective A!"!st #5, #011 P( 100)15*01 ver+ 1+5 )) of )7
should not point here Boff)E Boff#E O. off(n9#!E where n is an even number
160 East California Street, PO Box 1659 $ac%sonville, Ore"on 9&5'0 Phone 5)1*,99*),00 -ax 5)1*,99*),0, ...+"lo/alcache+co0
Infor0ation s!/1ect to chan"e .itho!t notice+
no preamble
"ince I transmissions ends in an BoffE condition, there must be an e/ual number of BonE and BoffE states. %lso, every BonE and BoffE state must meet an H-S" minimum time re/uirement for the iTach to work properly. !a"ple: 8ith a carrier fre/uency of ;H F3P, the minimum value for BonE and BoffE states is calculated below. BoffE min C BonEmin T H-S" 2 R C H-S" 2 ;HF3P C $.H; &or proper iTach operation, all BonE and BoffE values in the timing pattern must be ; or higher. %ll of the conditions above must be met for valid sendir commands. 8hen a variable is missing or outside the accepted range, an unknowncommand will be sent by the iTach. %s an e'ercise, the sendir commands below will trigger an iTach unknowncommand response. sendir,*:$,$;*7,#$;--,),),#;,;H,#;,:7- Response: E Response: E Response: E D-:-,--# not an e/ual number of BonE and BoffE BoffsetE is an even number D):#,-)D):$,--< sendir,):#,#$$$$,;----,#,$,#;,;H,#;,;H,:7- sendir,):$,-,;----,#,#,#;,;H,#;,:7- iTach module * does not e'ist
(;!
I compressed format assigns the first )* unique BonEBoffE pairs capital letters (i.e. %,6,1, etc.! to represent them. In the event that a pair is used in many places inside an I command, commands can be written with the capital letter in place of the designated pair without being offset by commas. !a"ple: The simple I command sendir,):#,#;;*,;----,),),;,*,;,*,H,:,;,*,H,:,H,: can be shortened with this feature: (U;,*V is assigned %, and UH,:V is assigned 6! sendir,):#,#;;*,;----,),),;,*%H,:%66 6oth commands are syntactically correct, are accepted by the iTach, and will transmit an identical I command. co"pleteir %ll successful sendir commands are acknowledged with a completeir response from the iTach after completion of the I transmission. The completeir response associates with the sendir command through an BI>E. 8hen utiliPed, the BI>Es can provide a uni/ue identifier to determine which I transmission has completed. "ent from iTach in response to successful sendir: completeir,):),BI>E completeir,):#,BI>E completeir,):$,BI>E where( BI>E is L-L)L#LOL7**$*L
iTach API Specification Effective A!"!st #5, #011 P( 100)15*01 ver+ 1+5 )# of )7
connector connector
commands are shown below: timing se/uence illustrated in figure ;.#a to the #nd I connector on the
The following will send the I iTach shown in &igure ). "ent to iTach:
sendir,):#,#;;*,;----,),),;,*,7,* "ent by iTach in response to sendir: completeir,):#,#;;* In the ne't e'ample, the following two I commands will send the same I timing pattern. timing pattern of #;,)#,#;,:7- four times with a preamble 6elow are two ways to send the same simple I of $;,;H:
sendir,):#,;;;;,$;*--,),),$;,;H,#;,)#,#;,:7-,#;,)#,#;,:7-,#;,)#,#;,:7-,#;,)#,#;,:7- sendir,):#,$;,$;*--,;,$,$;,;H,#;,)#,#;,:7- %cknowledgments for above I completeir,):#,;;;; completeir,):#,$; %lthough the same command is sent four times by both sendir commands, the BI>Es are different, and therefore cannot be considered the same command. The second I command structure is the recommended method, avoiding long commands and allowing repetition of the command to be halted if re/uested. 5.+.4 S"ooth Continuous I# Co""ands % general discussion is necessary to better understand how smooth continuous I commands are e'ecuted by the iTach. This desirable feature is utiliPed for smooth volume control or repeating an operation without the appearance of choppy actions. The approach of sending an I command with very large repeat counts and stopping it upon re/uest will work, but can lead to undesirable incidents. 1onsider the scenario of large repeat count I command for raising the volume in a smooth fashion. The command works properly until the connection is broken. % repeating I command is sent, volume continuously increases, then the controlling i0hone is une'pectedly dropped. The volume continues to rise (possibly damaging e/uipment! until a stopir command is ultimately received. The iTach solution is to limit the repeat count. 3ence, to create a smooth I operation, the iTach resets the I repeat count each time the identical I command (from the same I0 connection! is resent. This method will not interrupt and restart the I command, but reset the I repeat count back to the original value. !a"ple: If the I repeat count is set to *, and the I command has transmitted $ times, receipt of the same command causes the repeat count to be reset back to *. This process can continue indefinitely while a volume button is held down to create a smooth operation. 3owever, at no time can the command repeat more than * times after the button is released or an I0 connection is inadvertently lost, preventing a potentially serious issue. 6y selecting an appropriate BrepeatE value, the need for a stopir command is eliminated. In this e'ample the volume continues to increase smoothly by retransmitting repeated I commands due to the volume
iTach API Specification Effective A!"!st #5, #011 P( 100)15*01 ver+ 1+5 )$ of )7 160 East California Street, PO Box 1659 $ac%sonville, Ore"on 9&5'0 Phone 5)1*,99*),00 -ax 5)1*,99*),0, ...+"lo/alcache+co0
Infor0ation s!/1ect to chan"e .itho!t notice+
commands are:
iTach API Specification Effective A!"!st #5, #011 P( 100)15*01 ver+ 1+5 ); of )7
160 East California Street, PO Box 1659 $ac%sonville, Ore"on 9&5'0 Phone 5)1*,99*),00 -ax 5)1*,99*),0, ...+"lo/alcache+co0
Infor0ation s!/1ect to chan"e .itho!t notice+
rror Message
E E E E E E E E E E E E E E E E E E E E E E E E E E E D-) D-# D-$ D-; D-* D-7 D-< D-H D-: D)D)) D)# D)$ D); D)* D)7 D)< D)H D): D#D#) D## D#$ D#; D#* D#7 D#<
!planation
Invalid command. 1ommand not found. Invalid module address (does not e'ist!. Invalid connector address (does not e'ist!. Invalid I> value. Invalid fre/uency value. Invalid repeat value. Invalid offset value. Invalid pulse count. Invalid pulse data. ?neven amount of BonLoffE statements. 5o carriage return found. epeat count e'ceeded. I command sent to input connector. 6laster command sent to non.blaster connector. 5o carriage return before buffer full. 5o carriage return. 6ad command synta'. "ensor command sent to non.input connector. epeated I transmission failure. %bove designated I BonLoffE pair limit. "ymbol odd boundary. ?ndefined symbol. ?nknown option. Invalid baud rate setting. Invalid flow control setting. Invalid parity setting. "ettings are locked.
iTach API Specification Effective A!"!st #5, #011 P( 100)15*01 ver+ 1+5 )* of )7
160 East California Street, PO Box 1659 $ac%sonville, Ore"on 9&5'0 Phone 5)1*,99*),00 -ax 5)1*,99*),0, ...+"lo/alcache+co0
Infor0ation s!/1ect to chan"e .itho!t notice+
iTach API Specification Effective A!"!st #5, #011 P( 100)15*01 ver+ 1+5 )7 of )7
160 East California Street, PO Box 1659 $ac%sonville, Ore"on 9&5'0 Phone 5)1*,99*),00 -ax 5)1*,99*),0, ...+"lo/alcache+co0
Infor0ation s!/1ect to chan"e .itho!t notice+