Galil DMC-13X8 Home Theater Server User Manual


 
Chapter 7 Application Programming 126 USER MANUAL
significant byte of the fraction. The characters can be individually separated by using bit-wise
operations as illustrated in the following example:
#TEST Begin main program
IN "ENTER",LEN{S6} Input character string of up to 6 characters into variable ‘LEN’
FLEN=@FRAC[LEN] Define variable ‘FLEN’ as fractional part of variable ‘LEN’
FLEN=$10000*FLEN Shift FLEN by 32 bits (IE - convert fraction, FLEN, to integer)
LEN1=(FLEN&$00FF) Mask top byte of FLEN and set this value to variable ‘LEN1’
LEN2=(FLEN&$FF00)/$100 Let variable, ‘LEN2’ = top byte of FLEN
LEN3=LEN&$000000FF Let variable, ‘LEN3’ = bottom byte of LEN
LEN4=(LEN&$0000FF00)/$100 Let variable, ‘LEN4’ = second byte of LEN
LEN5=(LEN&$00FF0000)/$10000 Let variable, ‘LEN5’ = third byte of LEN
LEN6=(LEN&$FF000000)/$1000000 Let variable, ‘LEN6’ = fourth byte of LEN
MG LEN6 {S4} Display ‘LEN6’ as string message of up to 4 chars
MG LEN5 {S4} Display ‘LEN5’ as string message of up to 4 chars
MG LEN4 {S4} Display ‘LEN4’ as string message of up to 4 chars
MG LEN3 {S4} Display ‘LEN3’ as string message of up to 4 chars
MG LEN2 {S4} Display ‘LEN2’ as string message of up to 4 chars
MG LEN1 {S4} Display ‘LEN1’ as string message of up to 4 chars
EN
This program will accept a string input of up to 6 characters, parse each character, and then display
each character. Notice also that the values used for masking are represented in hexadecimal (as
denoted by the preceding ‘$’). For more information, see section
Sending Messages.
To illustrate further, if the user types in the string “TESTME” at the input prompt, the controller will
respond with the following:
T Response from command MG LEN6 {S4}
E Response from command MG LEN5 {S4}
S Response from command MG LEN4 {S4}
T Response from command MG LEN3 {S4}
M Response from command MG LEN2 {S4}
E Response from command MG LEN1 {S4}
Functions
FUNCTION DESCRIPTION
@SIN[n] Sine of n (n in degrees, with range of -32768 to 32767 and 16-bit fractional resolution)
@COS[n] Cosine of n (n in degrees, with range of -32768 to 32767 and 16-bit fractional resolution)
@TAN[n] Tangent of n (n in degrees, with range of -32768 to 32767 and 16-bit fractional resolution)
@ASIN*[n]
Arc Sine of n, between -90° and +90°. Angle resolution in 1/64000 degrees.
@ACOS* [n}
Arc Cosine of n, between 0 and 180°. Angle resolution in 1/64000 degrees.
@ATAN* [n]
Arc Tangent of n, between -90° and +90°. Angle resolution in 1/64000 degrees
@COM[n] 2’s Compliment of n