Advent Instruments AI-7280 Programmer's Manual

Central office line simulator
Hide thumbs Also See for AI-7280:

Advertisement

Quick Links

AI-7280
Central Office
Line Simulator
Programmers Guide
Direct Control
Advent Instruments Inc.
Release 2.0a

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the AI-7280 and is the answer not in the manual?

Questions and answers

Summary of Contents for Advent Instruments AI-7280

  • Page 1 AI-7280 Central Office Line Simulator Programmers Guide Direct Control Advent Instruments Inc. Release 2.0a...
  • Page 2 Copyright 2012 - Advent Instruments Inc. All rights reserved. Printed in Canada Advent Instruments Inc. 111 - 1515 Broadway Street Port Coquitlam, BC, V3C6M2 Canada Internet: techsupport@adventinstruments.com sales@adventinstruments.com Web Site: http://www.adventinstruments.com Telephone: (604) 944-4298 Fax: (604) 944-7488...
  • Page 3: Table Of Contents

    3.13 FILTER Properties 3.14 FSK Properties 3.15 FSKDROP Properties 3.16 MEASURE Properties 3.17 METERPULSE Properties 3.18 MFGEN Properties 3.19 NOISE Properties 3.20 RING Properties 3.21 SCHEDULER Properties 3.22 SIGNALIO Properties 3.23 SOURCE Properties 3.24 STATUS Properties AI-7280 Programmers Guide - Direct Control...
  • Page 4 Process Blocks Function & Subroutine Blocks Variables & Constants Statements Built in Routines and Properties Appendix A: Firmware Revisions Appendix B: Property Listing by Index Appendix C: Error Codes Appendix D: Support Glossary of Terms AI-7280 Programmers Guide - Direct Control...
  • Page 5: Getting Started

    .NET assembly cannot perform the specific task, this form of communication and control may be the best option. It is possible to use the AI-7280's USB port for direct control; however, the correct USB drivers are required for this functionality. Currently drivers are available for Windows, Linux, and Apple OS-X operating systems.
  • Page 6: Firmware Overview

    1.2 Firmware Overview At its most basic level, the AI-7280 firmware can be broken down into three logical elements. They are the command processor, program execution units, and the hardware abstraction layer. While overly simplistic, the following figure shows the structure of those logical elements.
  • Page 7 In addition to set and get are other commands used to control the program execution units. The AI-7280 contains a number of virtual processors that can be programmed for a wide variety of tasks. These are the program execution units shown in the previous figure.
  • Page 8: Communication Basics

    Note: It is important to limit the length of any commands to less than 128 characters. This is because the AI-7280 must buffer all of the command characters prior to the <CR> character. The size of the buffer is fixed and this requires that all commands are less than 128 characters in length (including the <CR>...
  • Page 9: Serial Rs-232 Port

    HAL property (Comm.Baud). If the AI-7280 detects a line break (at least 11 consecutive space bits), it resets the baud rate back to the default value of 9600 bps and flushes any unprocessed commands from its internal buffer.
  • Page 11: Command Reference

    2.2 Get & Set Commands From a programming point of view, the AI-7280 can be represented as a large collection of registers. Some of these registers control various hardware settings (like the HAL properties), while others access variable memory used by executing programs or registers controlling the state of program execution.
  • Page 12 AI-7280. In addition, the data returned by the AI-7280 is always terminated with only a <CR> character. In each of the get commands used above, the AI-7280 reads the contents of the register and returns its value. Reading "HN112" returns the frequency of the ringing generator, which by default is 22 Hz.
  • Page 13 Send the following command: >GS1="He said ""never"", and left the room." If the AI-7280 cannot correctly interpret a command, its response is in the format of: 'ERR=x', where 'x' is an integer value representing the error condition. For a listing of all...
  • Page 14: Program Control Commands

    In order to properly use the get and set data commands, it is important to understand the purpose of each of the AI-7280's registers. A summary of all HAL properties is listed in Appendix B: Property Listing by Index, while section 3. HAL Properties provides detailed information for each property.
  • Page 15: Start Program From Ram: Ps(N)M

    Starts executing the program loaded into RAM. The value (n) must be between 1 and 6 and specifies which program execution unit (PEU) is used to execute the program. The AI-7280 can run up to 6 programs or processes at the same time. Example: Start PEU #1 running a program loaded into RAM...
  • Page 16: Single Step: Pt(N)

    Use caution with the 'PA' command, since if used improperly it can cause programs to be overwritten in memory. Note: While not shown in the examples above, every command sent to the AI-7280 must be terminated with the <CR> character (0Dh), and optionally may be followed by the <LF>...
  • Page 17: Hal Properties

    The Hardware Abstraction Layer (HAL) properties represent a collection of registers that control all of the signal processing and hardware aspects of the AI-7280. By writing to or reading from various properties, the AI-7280 can be configured to perform a wide variety of tasks.
  • Page 18: Accap Properties

    All of the properties in the following sections are listed in alphabetical order. For a listed by ID number, see: Appendix B: Property Listing by Index Note: The property descriptions that follow assume an AI-7280 firmware version of at least 4.14. If an earlier version is used, some of the following properties may not be available.
  • Page 19 Once it reaches zero, playback stops. To stop a playback in progress, write the value 0. If a value if -1 is written, then playback continues indefinitely. Note that a two sample delay is incurred when playback is started. AI-7280 Programmers Guide - Direct Control...
  • Page 20 Reading this property returns the sample value pointed to by the SAMPLEINDEX property. Writing to this property sets the value pointed to by the SAMPLEINDEX property. Either reading or writing to this property causes the SAMPLEINDEX property to increment by 1. AI-7280 Programmers Guide - Direct Control...
  • Page 21: Bulk Properties

    (or both) by modifying the SYSTEM.HALTCMDS property. Once the transfer completes, the original value of SYSTEM.HALTCMDS is restored. Note, terminating a transfer by setting LENGTH to zero does not restore SYSTEM.HALTCMDS. It must be restored manually. AI-7280 Programmers Guide - Direct Control...
  • Page 22 A single byte is not a complete sample. When writing into the capture buffers, the initial index value is calculated from either the ACCAP.SAMPLEINDEX or DCCAP.READINDEX property at the moment the LENGTH property is set to a non- AI-7280 Programmers Guide - Direct Control...
  • Page 23: Comm Properties

    Name: Type: COMM.CTS Numeric - w/o Description: Controls the state of the CTS pin on the RS-232 connector. Is asserted by writing a non- zero value and de-asserted by writing zero. AI-7280 Programmers Guide - Direct Control...
  • Page 24 Data bytes stored in the transmit buffer are transmitted at a speed determine by the BAUD property setting. AI-7280 Programmers Guide - Direct Control...
  • Page 25: Data Properties

    The number of bits added to the buffer will be 9 plus the STOPBITS setting. The value must be in the range of 0 to 255. The PARITY setting has NO effect on this property. AI-7280 Programmers Guide - Direct Control...
  • Page 26 Data.PatternLength = 4 Data.AddPattern = 2 ‘ adds the four bits 0100 to the FSK buffer Example 2: Data.PatternLength = 8 Data.AddPattern = 1 ‘ adds the eight bits 1000 0000 to the FSK buffer AI-7280 Programmers Guide - Direct Control...
  • Page 27 If reading this property and the BITINDEX property is invalid (greater than DATA.BITCOUNT), then a value of -1 is returned. Any read or write access to this property causes the BITINDEX property to increment by one, provided BITINDEX is within zero and BITCOUNT less 1. AI-7280 Programmers Guide - Direct Control...
  • Page 28 (space), followed by 8 data/parity bits (LSB first), and ends with one for more stop bits (mark). The number of stop bits added is set by this property, and can range from 1 to 200. AI-7280 Programmers Guide - Direct Control...
  • Page 29: Dccap Properties

    These properties are used to control the sampling process. Up to 8191 voltage and current measurements may be stored to a buffer. The sampling rate of the AI-7280 is fixed at 1000 samples per second.
  • Page 30 Sets where in the capture buffer the voltage and current readings are read from. The valid range is from 0 to 8191. Name: Type: DCCAP.VOLTAGE Numeric - r/o Description: Returns the voltage sample (in units of Volts) from the buffer location specified by READINDEX. AI-7280 Programmers Guide - Direct Control...
  • Page 31: Dcprofile Properties

    They remain at the last sample read from the buffer. Note, if the AI-7280 contains the Extended Line Feed Option (AI-E702) the range of voltages is increased to +/-105 volts. MODE = 1 (high voltage / ringing) This mode configures the AI-7280 to use its high voltage ringing amplifier for generating the DC voltage profile.
  • Page 32 • Do not access the DCPROFILE.VOLTAGE property during play out. Older AI-7280's will not support this mode of operation due to a hardware limitation. The MODE property will always return a zero when read. The hardware limitation can be removed if the unit is returned for calibration.
  • Page 33: Dio Properties

    The following properties are used to set the function of the three digital outputs (A, B, C) present at the rear panel of the AI-7280. In addition, the state of the two digital inputs (A, B) can be read by the INA and INB properties.
  • Page 34: Dtmf Properties

    DTMF digits. Use the DTMFCAP properties to perform additional timing checks and buffer of digit detection. The signal source used by the DTMF analyzer is determined by the SOURCE.ANALYZER property value. AI-7280 Programmers Guide - Direct Control...
  • Page 35 0 to 2.0. Both the low and high group tones must be within a frequency window set by this parameter in order for a digit to be detected. Name: Type: DTMF.HIGHFREQ Numeric - r/o Description: Returns the last frequency measurement for the high group (column) tone in units of Hz. AI-7280 Programmers Guide - Direct Control...
  • Page 36: Dtmfcap Properties

    (or oldest digit) digit, while 1 the next digit, and so on. Digits can be removed from the buffer by writing to the DELETE property. Digits are always removed starting from the oldest detected digit (INDEX zero). AI-7280 Programmers Guide - Direct Control...
  • Page 37 Returns the low group tone frequency in Hz for the digit specified by the INDEX property. Name: Type: DTMFCAP.LOWLEVEL Numeric - r/o Description: Returns the low group tone level in Vrms for the digit specified by the INDEX property. AI-7280 Programmers Guide - Direct Control...
  • Page 38: Echo Properties

    If set to zero, then echoes are disabled (regardless of the tap settings). By default, the value at power up is 1.0 (enabled), but the individual tap enables are set to zero (disabled). AI-7280 Programmers Guide - Direct Control...
  • Page 39: File Properties

    The FILE properties allow access to the non-volatile flash memory contained within the AI-7280. The flash memory contains a collection of files used to store system level programs and data along with user programs. Only read access to the flash memory is allowed by these properties.
  • Page 40 (as returned by ITEMTYPE) is either 3 or 4. Note that for type 4 (big string), only up to the first 64 characters are returned. AI-7280 Programmers Guide - Direct Control...
  • Page 41: Filter Properties

    Up to two notch filters can be applied before the signal meter's secondary level meter. The following figure shows the relationship between the filter locations and the measurement points. Filter(s) .Type .LoFreq .HiFreq Measurements .Level .Freq Notch Filters .NumNotch .N1Freq .N2Freq Measurements .NotchLevel AI-7280 Programmers Guide - Direct Control...
  • Page 42 Sets the number of secondary notch filters placed before the second level meter (MEASURE.NOTCHLEVEL). This can range from 0 to 2. Writing to this property resets the N1FREQ and N2FREQ values to 1000 Hz. AI-7280 Programmers Guide - Direct Control...
  • Page 43: Fsk Properties

    INDEX, BYTEVALUE, and BYTESTATUS properties. Name: Type: FSK.ACTIVE Numeric Description: Enables the FSK decoder if set to a non-zero value. If set to zero all FSK decoding stops; however, any bytes stored in the buffer remain accessible. AI-7280 Programmers Guide - Direct Control...
  • Page 44 Numeric - r/o Description: Returns the last byte value decoded. Name: Type: FSK.LEVELTHRESHOLD Numeric Description: Sets the minimum acceptable FSK signal level in units of Volts peak. Signals below this level are not decoded. AI-7280 Programmers Guide - Direct Control...
  • Page 45: Fskdrop Properties

    Name: Type: FSKDROP.BITINDEX Numeric Description: Sets the FSK bit position where the gain adjustment is applied. Note that the level adjustment is made AFTER the specified bit. The minimum value is 1. AI-7280 Programmers Guide - Direct Control...
  • Page 46: Measure Properties

    As the value is increased up to a maximum of 1, the measurements are progressively averaged with an exponential weighting of prior readings. A value of 1 freezes the readings. AI-7280 Programmers Guide - Direct Control...
  • Page 47 The SMOOTHING property sets the amount of averaging applied to this level measurement. Normally this property is used in conjunction with the LEVEL reading when performing a THD+N measurement. See the FILTER properties for information on how to set the secondary notch filters. AI-7280 Programmers Guide - Direct Control...
  • Page 48: Meterpulse Properties

    30 ms. 3.17 METERPULSE Properties The following properties control the operation of the metering pulse generator. The generator creates a sine wave signal of a specified frequency and amplitude. Its duration AI-7280 Programmers Guide - Direct Control...
  • Page 49 Sets the repeat interval for the metering pulses. The valid range is from 1 to 1,000,000 For example, if set to 1000 ms, the metering pulses starts every 1000 ms with duration specified by the DURATION property. AI-7280 Programmers Guide - Direct Control...
  • Page 50: Mfgen Properties

    Note, if either TONEC, TONED, or ringing is enabled, the MF generator cannot be started and will always return zero. The MF tone generator uses the wave shape settings of tone generator C and tone generator D. AI-7280 Programmers Guide - Direct Control...
  • Page 51 Writing to the FREQOFFSET2 property causes the frequency of tone #2 for the first 16 symbols to be adjusted by the specified value in units of Hz. For DTMF applications this represents the COLUMN tone frequencies. AI-7280 Programmers Guide - Direct Control...
  • Page 52 The units are in milliseconds. Writing to this property changes the off-time for all 20 symbols. If an off-time of zero is used, the phase of the tone generators is continuous at symbol transitions. AI-7280 Programmers Guide - Direct Control...
  • Page 53: Noise Properties

    VALUE property. 3.19 NOISE Properties A pseudo-random noise generator is controlled with the following two properties. The noise generator produces a flat spectral response up to approximately 18 kHz. AI-7280 Programmers Guide - Direct Control...
  • Page 54: Ring Properties

    TELINT.VOLTAGE setting. This value can range from 0 to 72 volts. Note, if ringing is started with a DC offset voltage setting of 15 volts or less, the RING.TRIP property is automatically forced to 1. AI-7280 Programmers Guide - Direct Control...
  • Page 55 (RING.ENABLE=0) when an off-hook condition is detected. Note, if ringing is started with a DC offset voltage setting of 15 volts or less, this property is automatically forced to 1. AI-7280 Programmers Guide - Direct Control...
  • Page 56: Scheduler Properties

    The value written to ACTION is not in the above list. • The maximum number of actions has been created and no more can be added. • The ATCOUNT property is set to a negative value. AI-7280 Programmers Guide - Direct Control...
  • Page 57 PEU is affected. A value of zero affects all PEUs. Name: Type: Numeric - w/o SCHEDULER.RESET Description: Resets the scheduler. All actions that have been created and waiting for a trigger are erased. Reading COUNT returns zero. AI-7280 Programmers Guide - Direct Control...
  • Page 58: Signalio Properties

    2 = telephone interface hybrid output (rejects signals transmitted by the AI-7280) 3 = rear panel BNC input connector 4 = tone generators (tone A,B,C,D, MF, and FSK generator, waveform playback) 5 = telephone interface transmit (signal applied to the telephone line by the AI-7280) AI-7280 Programmers Guide - Direct Control...
  • Page 59 3 = rear panel BNC input connector 4 = tone generators (tone A,B,C,D, MF, and FSK generator, waveform playback) 5 = telephone interface transmit (signal applied to the telephone line by the AI-7280) 6 = input to signal meter (following optional filter)
  • Page 60: Status Properties

    3. HAL Properties Advent Instruments Inc. 3.24 STATUS Properties The two status properties are read-only and return integer values where each bit position represents the operational state of the AI-7280. Name: Type: STATUS.A Numeric - r/o Description: Returns an integer with each bit representing the following:...
  • Page 61: System Properties

    Reads a value from the system error stack. If zero is read then the error stack is empty and the READY led is returned to solid on from a possible flashing state (if serious errors were recorded). For a listing of standard error codes, see Appendix A of the AI-7280 User Guide.
  • Page 62 Writes a value to the system error stack. Depending on the value written, the READY led may start to flash indicating a serious error. For a listing of standard error codes, see Appendix A of the AI-7280 User Guide. Name: Type: SYSTEM.FFSID...
  • Page 63 At this time no options are defined. Name: Type: Numeric - w/o SYSTEM.RESET Description: Writing any value to this property causes a reset of the AI-7280. All properties are returned to their power up default value. AI-7280 Programmers Guide - Direct Control...
  • Page 64 Accesses a low level system call parameter. Do not use. Name: Type: SYSTEM.SUBVALUE Numeric Description: Accesses a low level system call parameter. Do not use. Name: Type: SYSTEM.UNITID String - r/o Description: Returns a 16 hexadecimal value representing the device's unique ID code. AI-7280 Programmers Guide - Direct Control...
  • Page 65: Telint Properties

    The version numbers are enclosed in [ ] brackets. 3.26 TELINT Properties The TELINT properties control the settings of the AI-7280's telephone interface. This includes the line voltage, loop current, and line impedance. Additional properties determine the how signals are routed to the telephone interface and how signals are measured from the telephone interface.
  • Page 66 Sets the off-hook loop current in units of mA. If a value of -1 is written to this property, the AI-7280 changes into a constant voltage mode of operation. In this mode, the loop current is determined solely by the programmed line voltage and the total loop resistance.
  • Page 67 This property determines how signals are sensed from the AI-7280's front panel RJ-11 jack. A value of zero (default) forces the AI-7280 to perform all AC and DC voltage measurements from the inner two conductors of the RJ-11 jack. These pins are connected to the telephone interface of the AI-7280.
  • Page 68: Timer Properties

    TIMER.FAST Numeric Description: Fast update timer. This timer counts up every 25.6 microseconds to a maximum of 100 seconds. It can be written to with any value within the range of 0 to 100. AI-7280 Programmers Guide - Direct Control...
  • Page 69 Description: Used to count the number of times TIMER.SLOW has reached the TIMER.ROLLAT value and been reset to zero. When TIMER.SLOW resets this property value is converted to an integer and incremented by one. AI-7280 Programmers Guide - Direct Control...
  • Page 70: Tone Properties

    Note that as the timer value increases, the precision by which it can be read decreases. This is due to limitations in the 32 bit floating point format used by the AI-7280. If TIMER.ROLLAT is set to a positive value this timer resets to zero when it reaches the TIMER.ROLLAT value, which also causes TIMER.ROLLCOUNT to incremented by...
  • Page 71: Tonea Properties

    If the MODULATION property is set to AM (2), then the ToneB generator is used as the modulating source, while ToneA is the carrier frequency. The level of ToneB is ignored as the modulation depth is controlled solely by this property. AI-7280 Programmers Guide - Direct Control...
  • Page 72 Type: TONEA.FREQMARK Numeric Description: When using the FSK modulator mode of operation this property sets the frequency of the mark tone. The value must be in the range of 10.0 Hz to 18,000 Hz. AI-7280 Programmers Guide - Direct Control...
  • Page 73 Numeric - r/o Description: The total number of FSK data bits stored in the data buffer is returned by this property. Clearing the data buffer or adding bits to it is controlled by the DATA properties. AI-7280 Programmers Guide - Direct Control...
  • Page 74 Performs an instantaneous phase adjustment to the tone generator's output between the range of 0 to 360 degrees. For example, writing a value of 90 advances the phase of the tone generator by 90 degrees. AI-7280 Programmers Guide - Direct Control...
  • Page 75: Toneb Properties

    Name: Type: TONEB.FREQ Numeric Description: Sets the tone frequency from 10 Hz to 18 kHz. Name: Type: TONEB.LEVEL Numeric Description: Sets the tone level from 0 to 4 Vrms. AI-7280 Programmers Guide - Direct Control...
  • Page 76: Tonec Properties

    Note, if ringing is enabled the tone generator cannot be enabled. In addition the tone generator is forced off when ringing is started. Name: Type: Numeric TONEC.FREQ Description: Sets the tone frequency from 10 Hz to 18 kHz. AI-7280 Programmers Guide - Direct Control...
  • Page 77: Toned Properties

    Writing a non-zero value enables the tone generator. Writing zero turns off the tone generator. Note, if ringing is enabled the tone generator cannot be enabled. In addition the tone generator is forced off when ringing is started. AI-7280 Programmers Guide - Direct Control...
  • Page 78: Usb Properties

    USB port. However enabling the port may not allow communications unless the USB cable is plugged in and the PC has enumerated this device and the driver is installed. Use the STATUS property to check if communication with the PC is enabled. AI-7280 Programmers Guide - Direct Control...
  • Page 79 This read only property returns the amount of free space left in the transmit buffer. It is important not to write any data bytes into the transmit buffer unless this property returns a value greater than zero. AI-7280 Programmers Guide - Direct Control...
  • Page 80 Advent Instruments Inc. Note: The properties to receive data bytes should not be accessed unless the SYSTEM.HALTCMDS property has bit 2 set. Otherwise the command processor will automatically remove bytes from the receive data buffer. AI-7280 Programmers Guide - Direct Control...
  • Page 81: Programming

    PEUs, while the higher level test control tasks performed by the PC. Capabilities The AI-7280 contains six program execution units (PEU). Each one can be thought as a very simple processor executing instructions that manipulate HAL properties in order to perform user specified tasks.
  • Page 82: Program Development

    AI-7280 that do not exist on the older AI-80 product. 4.2 Programming Example The basic concepts in creating a program for the AI-7280 are explored in this section and the steps needed to create a program using the TRsSim software are described in a tutorial fashion.
  • Page 83: What Is Trssim

    This includes the AI-7280. Using TRsSim with the AI-7280 makes it easy to perform complex telephony related tests such as dialing verification, ring generation, call display testing, and fixed line SMS testing.
  • Page 84 Advent Instruments Inc. For this example, ensure that Device Script is selected and that the target device is the AI-7280. Optionally a name for the project may be entered in the text box at the top of the window. By selecting Device Script the TRsSim scripting environment knows that the program compiled will be executed directly within AI-7280.
  • Page 85 End Loop End With End Process The above program uses one of the AI-7280's four tone generators to create a logarithmic frequency sweep from 100 to 3000 Hz. All of the statements are contained inside the process block called . This is the only START process block in the program and will be the one executed when the program is started.
  • Page 86 If the program has been compiled without error, TRsSim then downloads the program into the AI-7280's RAM and begins its execution. While a program runs on the AI-7280 the start button on the tool bar (green arrow) is disabled. However, the pause button (blue bars) and stop button (red box) are enabled.
  • Page 87 Reset settings on start: If checked TRsSim ensures that before program execution is started all of the AI-7280's HAL properties are set to match either the current TRsSim settings, or the power up default AI-7280 Programmers Guide - Direct Control...
  • Page 88: Direct Program Loading

    AI-80. Direct Program Loading While the TRsSim software can be used to compile an AI-7280 device script, in some situations it may be desirable to manage the loading of the programs and their execution from another application. Applications can load and control AI-7280 programs by either sending commands directly as described in previous sections of this document, or using the available Windows DLL.
  • Page 89: Script Language Basics

    Windows Notepad shows the object code created by the TRsSim compiler. The contents of this file can either be passed to the AI-7280 Windows DLL for download into theAI-7280, or combined with the 'PL' command described in section 2.3 Program Control Commands for manual download.
  • Page 90: Function & Subroutine Blocks

    SUB statement. If the number of parameters is different or the data types do not match an error is reported. The syntax for calling a subroutine is: CALL <identifier> [ ( <param1> [ , <param2> ] ) ] AI-7280 Programmers Guide - Direct Control...
  • Page 91: Variables & Constants

    LOCAL, GLOBAL, EXPORT, IMPORT • <register> An integer value used to force the compiler to use the specified register number as the storage location for the variable. This field is AI-7280 Programmers Guide - Direct Control...
  • Page 92 If no scoping keyword is supplied then all constants defined inside a routine are assumed to be LOCAL and all constants defined outside a routine are assumed to be GLOBAL. AI-7280 Programmers Guide - Direct Control...
  • Page 93: Statements

    LOOP command. It steps a variable either higher or lower between a start value and end value. Optionally, EXIT FOR is used to break out of the loop. IF-THEN-ELSE-ELSEIF Usage: <expression> THEN <statements> [ELSEIF <expression> THEN <statements> AI-7280 Programmers Guide - Direct Control...
  • Page 94 LAUNCH PROCESS <identifier> WITH <PEU number> STOP <PEU number> | ME HALT <PEU number> | ME RESUME <PEU number> The LAUNCH statement is used to start execution of a process block, either within the same AI-7280 Programmers Guide - Direct Control...
  • Page 95 It causes program execution to jump to the specified label. When the RETURN statement is encountered program execution resumes at the next statement following the GOSUB statement. Note, GOSUB and RETURN statements are only allowed inside PROCESS blocks. WITH Usage: WITH <property> <statements> AI-7280 Programmers Guide - Direct Control...
  • Page 96: Built In Routines And Properties

    PEU. Built in Routines and Properties The script compiler includes a number of pre-defined subroutines, functions, and properties that may be accessed by AI-7280 programs. The following table describes their operation. Functions:...
  • Page 97 The valid range for the character position is between 1 and the length of the string. NEG: Negate value Usage: NUMERIC NEG(<NUMERIC>) Returns the negative of the passed value. NOT: Logical inversion Usage: NUMERIC NOT(<NUMERIC>) AI-7280 Programmers Guide - Direct Control...
  • Page 98 ME.FLAGS: Process interrupt flag set Usage: write-only NUMERIC Sets the PEU's interrupt flag register to the specified value. All negative values are forced to -1 which sets all bits. ME.TIMER: Process timer Usage: read/write NUMERIC AI-7280 Programmers Guide - Direct Control...
  • Page 99 ;cycle starts immediately. Me.Flags = -1 Loop ;Wait for the interrupt flags to be set Numeric Flag = HaltUntil(0) ;Ring for 750 ms Ring.Enable = 1 Me.Wait = 750 Ring.Enable = 0 End Loop AI-7280 Programmers Guide - Direct Control...
  • Page 101: Appendix A: Firmware Revisions

    This permits the firmware to be upgraded anytime without concern for breaking applications that were developed with older versions of the firmware. For the most current listing of the AI-7280's firmware's revision history, please see: http://www.adventinstruments.com/Products/AI-7280/Support/Firmware%20Revisions AI-7280 Programmers Guide - Direct Control...
  • Page 103: Appendix B: Property Listing By Index

    All of the Hardware Abstraction Layer (HAL) properties are listed by index number in the following table. Note that the property table assumes an AI-7280 firmware version of at least 4.14. If an earlier version is used, some of the following properties may not be available.
  • Page 104 ToneB.Phase Numeric ToneB.Waveshape Numeric ToneC.Enable Numeric ToneC.Freq Numeric ToneC.Level Numeric ToneC.Phase Numeric ToneC.Waveshape Numeric ToneD.Enable Numeric ToneD.Freq Numeric ToneD.Level Numeric ToneD.Phase Numeric ToneD.Waveshape Numeric ToneA.Enable Numeric ToneA.Freq Numeric ToneA.FreqMark Numeric ToneA.Level Numeric ToneA.LevelMark Numeric AI-7280 Programmers Guide - Direct Control...
  • Page 105 Read Only DTMF.Enable Numeric DTMF.Digit Numeric Read Only DTMF.FreqTol Numeric DTMF.FreqTime Numeric DTMF.MinLevel Numeric DTMF.LowFreq Numeric Read Only DTMF.LowLevel Numeric Read Only DTMF.HighFreq Numeric Read Only DTMF.HighLevel Numeric Read Only Echo.TapIndex Numeric Echo.TapDelay Numeric AI-7280 Programmers Guide - Direct Control...
  • Page 106 MeterPulse.Repeat Numeric Echo.Enable Numeric Echo.RingDisable Numeric (see #156, #157, #158 for additional Echo properties) Ring.Trip Numeric (see #111 to #116 for additional Ring properties) Source.PhaseRef Numeric (see #63 to #65 for additional Source properties) AI-7280 Programmers Guide - Direct Control...
  • Page 107 (see #216 to #221 for additional DcProfile properties) Scheduler.Reset Numeric Write Only Scheduler.Action Numeric Scheduler.AtCount Numeric Scheduler.AtTime Numeric Scheduler.Parameter Numeric Scheduler.Count Numeric Read Only ToneA.PhaseAdj Numeric Write Only (see #95 to #110 for additional ToneA properties) AI-7280 Programmers Guide - Direct Control...
  • Page 108: Appendix C: Error Codes

    Appendix C: Error Codes Advent Instruments Inc. Appendix C: Error Codes If commands sent to the AI-7280 cannot be interpreted correctly, an error response is returned. The format of the error response is: ERR=<x> Where <x> represents the error code as an integer value. The following table lists all of the possible command error codes.
  • Page 109 Attempting to get (?) the value of a HAL register which is write-only. 18xxxx Attempting to get (?) the value of a HAL register with an incompatible data type. Mismatch between numeric and character string data types. AI-7280 Programmers Guide - Direct Control...
  • Page 111: Appendix D: Support

    Port Coquitlam, BC, V3C6M2 Canada • In Asia: Tel: (852) 8108-1338 Fax: (852) 2900-9338 Mail: Advent Instruments (Asia) Ltd. Unit No. 7, 9/F, Shatin Galleria 18 - 24 Shan Mei Street Fotan, Shatin, N.T. Hong Kong AI-7280 Programmers Guide - Direct Control...
  • Page 113: Glossary Of Terms

    0 dBm = -2.218 dBV, or 0 dBV = 2.218 dBm. Unit of signal voltage level. Calculated as 20 times the base 10 logarithm of the signal's voltage. For example, 1 Vrms = 0 dBV, 0.1 Vrms = -20 dBV. AI-7280 Programmers Guide - Direct Control...
  • Page 114 Uses signals comprised of two, or possible more, tones from a standardized list of frequencies. Off-Hook A state in which a TE draws loop current from the tip/ring interface. Denotes that the device is in use or active. AI-7280 Programmers Guide - Direct Control...
  • Page 115 Single Data Message Format: A data structure that may be used to send Type I Caller ID data consisting of date/time and calling number information. See also MDMF. Short Message: Information sent between SME's using the Short Message Service (SMS) AI-7280 Programmers Guide - Direct Control...
  • Page 116 Commonly refers to the ratio in signal level between the row and column tones of DTMF, or the mark and space tones of FSK. The ratio is normally expressed in decibels (dB). In the case of DTMF, positive twist indicates that the column signal level is greater than the AI-7280 Programmers Guide - Direct Control...
  • Page 117 Caller ID data transmission occurring while the TE is in the off-hook state. V.23 An FSK modulation standard that uses 1300 Hz for the mark tone frequency and 2100 Hz for the space tone frequency. The baud rate used is 1200 bits per second. AI-7280 Programmers Guide - Direct Control...

Table of Contents