Common_API -

ate
auto_armed
Clock_Frequency
code
data_length
data_length_enable
data_length_offset
delay
Dump_Directory
guard_length
loop_count
marker1_enabled
marker1_polarity
marker1_start
marker1_width
marker2_enabled
marker2_polarity
marker2_start
marker2_width
marker3_enabled
marker3_polarity
marker3_start
marker3_width
memory_clock
memory_clock_advance
memory_depth
memory_dll
memory_dump
module_id_number
over_sampling_rate
slave_mode
status
sync_T1
sync_T2
synci_enable
synco_enable
trigger
upage_available
user_page
user_page_used_count
waveform_parameter_u0...7


Please note that any methods or properties that appear in your Object Browser but are not mentioned in this API manual should not be used. They exist for back-compatibility with older modules, but they cannot be used in the current AWG modules.


ate

Description

Specifies ATE setting.

Syntax

Boolean ate

Read

Gets current status of ATE.

Example

bool ateStatus;
ateStatus = awg.ate;

Write

Sets new ATE status;

Example

awg.ate = false;

Notes

Please refer to the AWG manual for a more detailed description of ATE.

return to top


auto_armed

Description

Specifies Auto-Arm status.

Syntax

Boolean auto_armed

Read

Gets status of Auto-Arm.

Example

bool autoArmStatus;
autoArmStatus = awg.auto_armed;

Write

Sets Auto-Arm status.

Example

awg.auto_armed = false;

Notes

Usually you should only use Auto-Arm if you are in Master mode. For a more detailed explanation of Auto-Arm please see the AWG manual.

return to top


Clock_Frequency

Description

Specifies the input clock into the AWG

Syntax

Double Clock_Frequency

Read

Gets the current input clock frequency

Example

double inputClock;
inputClock = awg.Clock_Frequency;

Write

Sets new input clock frequency

Example

awg.Clock_Frequency = 2e9;

Notes

The Clock_Frequency should be specified in units of Hz.

return to top


code

Description

Specifies waveform code.

Syntax

Int32 code

Read

Gets the current waveform code.

Example

int wfCode;
wfCode = awg.code;

Write

Sets new waveform code.

Example

awg.code = 1;

Configurations

Code Description Waveform Parameters
1 Sine Frequency (Hz)
2 Sine A/B A=numerator,
B=denominator,
where A/B is a fraction of the clock frequency
3 Two Tones A=numerator,
B=denominator,
where A/B is a fraction of the clock frequency for tone 1
C=numerator, D=denominator,
where C/D is a fraction of the clock frequency for tone 2
4 N Tones Frequency,
Amplitude (dBc) relative to full scale,
Phase (degrees)
21 Chirp
(Phase Coherent)
Fstart=Start Frequency,
Fstop=Stop Frequency,
T1=Delay until Fstart,
T2=Chirp time,
T3=Delay after Fstop
22 Chirp
(Phase Continuous)
Fstart=Start Frequency,
Fstop=Stop Frequency,
T1=Delay until Fstart,
T2=Chirp time,
T3=Delay after Fstop
31 Ramp A=numerator,
B=denominator,
where A/B is the slope of the ramp.
50 Pulse Tini=Start time,
Tr=Rise time,
T=Pulse Width,
Tf=Fall time,
Amp=Amplitude [hex]
101 Constant Value [hex] in absolute value
256 User Defined .uda user defined waveform file or user_define_bulk method

Notes

You must specify the waveform code so that the API knows how to use the waveform parameters you specify. 

return to top


data_length

Description

Specifies the Data Length which is the amount of memory addresses to make available for the waveform. The larger the Data Length, the more data that can be output.

Syntax

UInt64 data_length

Read

Gets the current Data Length.

Example

unsigned wfDL;
wfDL = awg.data_length;

Write

Sets the new Data Length.

Example

awg.data_length = 0x40;

Notes

The Data Length should always be either shorter or equal to the Memory Depth. If you want the AWG to go back to the starting value before reaching the Memory Depth, you should turn on the Data Length Enable feature using the data_length_enable property. You would use the Data Length Enable feature if the number of data values in your waveform is not equal to Memory Depth settings. Please note that even if the Data Length Enable feature is disabled, you should still specify the correct Data Length. For example, if the number of data values in your desired waveform were 65,536, and if you then set the Memory Depth to 65536 and disabled the Data Length Enable feature, you still would need to set Data Length to the hexadecimal equivalent of 65536 (10000).

The Data Length is useful for users who want a duty cycle waveform. To do this, set the Data Length but set the data_length_enable to "false". The module will output the waveform data up to the Data Length and then will output the starting amplitude until it reaches the Memory Depth. To see the different patterns of waveforms available, please see the AWG Manual.

Users who want a duty cycle waveform but who have a total number of data values not equal to one of the Memory Depth settings can use the user_define_bulk or the user_define_file functions.

Data Length will not work for waveforms that have data shorter than 1000 values even if Data Length is enabled.

return to top


data_length_enable

Description

Specifies whether Data Length Enable is enabled or disabled.

Syntax

Boolean data_length_enable

Read

Sees if Data Length Enable is enabled or disabled.

Example

bool dataLengthEnable;
dataLengthEnable = awg.data_length_enable;

Write

Enables or disables Data Length Enable.

Example

awg.data_length_enable = true;

Notes

Data Length Enable causes the Memory Depth to match the Data Length. Data Length will not be available to you for waveforms that have data shorter than 1000 values even if Data Length Enable is enabled.

return to top


data_length_offset

Description

Specifies the Data Length Offset. At 2.5 Ghz, it is best to set this to 0x192.

Syntax

UInt64 data_length_offset

Read

Gets current Data Length Offset.

Example

unsigned dataLengthOffset;
dataLengthOffset = awg.data_length_offset;

Write

Sets new Data Length Offset.

Example

awg.data_length_offset = 0x192;

return to top


delay

Description

Specifies the delay which is the number of memory addresses to keep at the start value before the waveform starts.

Syntax

UInt64 delay

Read

Gets current delay.

Example

unsigned wfDelay;
wfDelay = awg.delay;

Write

Sets new delay.

Example

awg.delay = 0xFF;

Notes

Please note that the delay length is included in the Data Length and Memory Depth. This means that if you had 100 data values in the waveform and you had Memory Depth (or Data Length) set to 100 points and delay set to 10 points, then the AWG will output the start value for the first 10 points and then will only proceed through the first 90 values (including the start value) that you specified before then starting over again.

return to top


Dump_Directory

Description

Specifies where to save memory dump files.

Syntax

String Dump_Directory

Read

Gets the current location of memory dump files.

Example

String^ dumpDirectory;
dumpDirectory = awg.Dump_Directory;

Write

Sets new location for memory dump files. Specified as a string so must have double quotes.

Example

awg.File_Directory = ".\MD";

return to top


guard_length

Description

Specifies the guard length before starting the first waveform output.

Syntax

UInt16 guard_length

Read

Gets the current guard length. 

Example

unsigned guardLength;
guardLength = awg.guard_length;

Write

Sets the new guard length.

Example

awg.guard_length = 0x30;

Notes

The default guard_length is 0x40. If you are operating multiple modules with a master-slave configuration, you should shorten the guard length of the slave module(s) to compensate for the delay in receiving the synchronization input (SYNCI) signal. If this value is set too close to zero, then the first waveform output may have errors.

return to top


loop_count

Description

Specifies the loop count of the waveform.

Syntax

UInt32 loop_count

Read

Gets the current loop count.

Example

unsigned loopCount;
loopCount = awg.loop_count;

Write

Sets the new loop count.

Example

awg.loop_count = 0xA;

Notes

When this property is set to "0", the loop count is set to infinite so the module will be in Free Run mode. Be sure to set this property at the start of every waveform, especially if you want the module to be operated in Free Run mode. Failure to set loop_count might result in unpredictable behavior by the module.

return to top


marker1_enabled

Description

Specifies marker signal status.

Syntax

Boolean marker1_enabled

Read

Gets Marker 1 status.

Example

bool markerStatus;
marker1Status = awg.marker1_enabled;

Write

Read-Only

Notes

There are three sets of markers listed in the Object Browser. Marker 1 is always enabled and its polarity cannot be changed.

return to top


marker1_polarity

Description

Selects the polarity of the output marker.

Syntax

Boolean marker1_polarity

Read

Gets polarity of output marker.

Example

bool markerPolarity;
markerPolarity = awg.marker1_polarity;

Write

Read-Only

Notes

There are three sets of markers listed in the Object Browser.  Marker 1 is always enabled and its polarity cannot be changed.

return to top


marker1_start

Description

Specifies the starting point of the output marker.

Syntax

UInt32 marker1_start

Read

Gets the starting point of the marker.

Example

unsigned markerStart;
markerStart = awg.marker1_start;

Write

Sets the starting point of the marker.

Example

awg.marker1_start = 10;

Notes

There are three sets of markers listed in the Object Browser.

return to top


marker1_width

Description

Specifies how many data points the marker is active for.

Syntax

UInt32 marker1_width

Read

Gets the width of the marker.

Example

unsigned markerWidth;
markerWidth = awg.marker1_width;

Write

Sets the width of the marker.

Example

awg.marker1_width = 100;

Notes

There are three sets of markers listed in the Object Browser.

return to top


marker2_enabled

Description

Specifies marker signal status.

Syntax

Boolean marker2_enabled

Read

Gets markers status.

Example

bool markerStatus;
markerStatus = awg.marker2_enabled;

Write

Sets new markers status.

Example

awg.marker2_enabled = true;

Notes

There are three sets of markers listed in the Object Browser.

return to top


marker2_polarity

Description

Selects the polarity of the output marker.

Syntax

Boolean marker2_polarity

Read

Gets polarity of output marker.

Example

bool markerPolarity;
markerPolarity = awg.marker2_polarity;

Write

Sets polarity of output marker.

Example

awg.marker2_polarity = false;

Notes

There are three sets of markers listed in the Object Browser.

return to top


marker2_start

Description

Specifies the starting point of the output marker.

Syntax

UInt32 marker2_start

Read

Gets the starting point of the marker.

Example

unsigned markerStart;
markerStart = awg.marker2_start;

Write

Sets the starting point of the marker.

Example

awg.marker2_start = 10;

Notes

There are three sets of markers listed in the Object Browser.

return to top


marker2_width

Description

Specifies how many data points the marker is active for.

Syntax

UInt32 marker2_width

Read

Gets the width of the marker.

Example

unsigned markerWidth;
markerWidth = awg.marker2_width;

Write

Sets the width of the marker.

Example

awg.marker2_width = 100;

Notes

There are three sets of markers listed in the Object Browser.

return to top


marker3_enabled

Description

Specifies marker signal status.

Syntax

Boolean marker3_enabled

Read

Gets markers status.

Example

bool markerStatus;
markerStatus = awg.marker3_enabled;

Write

Sets new markers status.

Example

awg.marker3_enabled = true;

Notes

There are three sets of markers listed in the Object Browser.

return to top


marker3_polarity

Description

Selects the polarity of the output marker.

Syntax

Boolean marker3_polarity

Read

Gets polarity of output marker.

Example

bool markerPolarity;
markerPolarity = awg.marker3_polarity;

Write

Sets polarity of output marker.

Example

awg.marker3_polarity = false;

Notes

There are three sets of markers listed in the Object Browser.

return to top


marker3_start

Description

Specifies the starting point of the output marker.

Syntax

UInt32 marker3_start

Read

Gets the starting point of the marker.

Example

unsigned markerStart;
markerStart = awg.marker3_start;

Write

Sets the starting point of the marker.

Example

awg.marker3_start = 10;

Notes

There are three sets of markers listed in the Object Browser.

return to top


marker3_width

Description

Specifies how many data points the marker is active for.

Syntax

UInt32 marker3_width

Read

Gets the width of the marker.

Example

unsigned markerWidth;
markerWidth = awg.marker3_width;

Write

Sets the width of the marker.

Example

awg.marker3_width = 100;

Notes

There are three sets of markers listed in the Object Browser.

return to top

memory_clock

Description

Toggles memory clock either low or high;

Syntax

Int16 memory_clock

Read

Write-Only

Write

Toggles memory clock for "1" and "0" for low.

Example

awg.memory_clock = 0;

Notes

You should only toggle the memory clock when the memory is stopped.

return to top


memory_clock_advance

Description

Specifies how many memory addresses to skip.

Syntax

UInt32 memory_clock_advance

Read

Write-Only

Write

Advances memory by amount user specifies.

Example

awg.memory_clock_advance = 6;

Notes

You should only advance the memory address when the memory is stopped.

return to top


memory_depth

Description

Specifies the Memory Depth which is the maximum number of memory addresses to make available in the device.

Syntax

UInt64 memory_depth

Read

Gets the current Memory Depth.

Example

unsigned memoryDepth;
memoryDepth = awg.memory_depth;

Write

Sets a new Memory Depth.

Example

awg.memory_depth = 0x100000;

Notes

Memory Depth is a hardware limited setting.

You should always set the memory depth to 0x100000 to be able to use the full memory depth. If the number of data in your waveform is not equal to the memory depth, you must set the Data Length using the data_length property.

return to top


memory_dll

Description

Gets memory DLL status.

Syntax

Boolean memory_dll

Read

Sees if memory DLL is on or off.

Example

bool memDLLStatus;
memDLLStatus = awg.memory_dll;

Write

Sets new memory DLL status.

Example

awg.memory_dll = true;

Notes

For a more detailed explanation of the memory DLL please see the AWG manual.

return to top


memory_dump

Description

Gets memory dump setting status.

Syntax

Boolean memory_dump

Read

Sees if memory dump is on or off.

Example

bool memDumpStatus;
memDumpStatus = awg.memory_dump;

Write

Sets memory dump status on or off.

Example

awg.memory_dump = true;

Notes

The memory dump contains the data you plan to download to the module. If you ever need to debug your code, it may at times be helpful to dump the memory and see if your code is generating the data you expect.

return to top


module_id_number

Description

Specifies the identification number of the board

Syntax

UInt32 module_id_number

Read

Reads the identification number of board.

Example

unsigned moduleID;
moduleID = awg.module_id_number;

Write

Read-only.

Notes

If you have various Euvis modules, you may want to ensure that you are running your code on the correct module by checking the module_id_number at the beginning of your code.

return to top


over_sampling_rate

Description

Specifies the oversampling factor.

Syntax

Int16 over_sampling_rate

Read

Gets the current oversampling factor.

Example

int oversamplingFactor;
oversamplingFactor = awg.over_sampling_rate;

Write

Sets new oversampling factor.

Example

awg.over_sample_rate = 2;

Notes

When this property is set to "1", the oversampling factor is 1. When set to "2", the oversampling factor is 2. When set to "3", the oversampling factor is 4. For more information regarding the oversampling factor, please see the AWG manual.

return to top


slave_mode

Description

Specifies the Slave mode status.

Syntax

Boolean slave_mode

Read

Gets current Slave mode status.

Example

bool slaveModeStatus;
slaveModeStatus = awg.slave_mode;

Write

Sets new Slave mode status.

Example

awg.slave_mode = false;

Notes

If you intend to be in Master or Slave mode, please remember to set the loop count with the loop_count property.

This property is also used to arm the Slave mode board. To arm the board, simply set the property to "true":

awg.slave_mode = true;
		

return to top


status

Description

Specifies updated status of device.

Syntax

UInt32 status

Read

Gets the status of the device. Refer to table below for description of status configurations.

Example

unsigned deviceStatus;
deviceStatus = awg.status;

Write

Read-Only

Configurations

Decimal Hex Code Binary Code Status
1 0x1 00000001 Armed
2 0x2 00000010 Triggered
4 0x4 00000100 In Loop
8 0x8 00001000 Auto-Armed
16 0x10 00010000 Slave
32 0x20 00100000 Slave Wait
64 0x40 01000000 Infinite Loop
128 0x80 10000000 Data Length Enabled

Note that the device can be simutaneously be in multiple states. In binary code, each "1" bit represents a state. If there is more than one state, then the binary code will have multiple "1" bits. For example if the device was Armed, Triggered, In Loop and Auto-Armed, then the binary code would be "00001111". Status can be output in any format so it is best to output it in binary code.

return to top


sync_T1

Description

Specifies the TSYNC1 time.

Syntax

UInt32 sync_T1

Read

Gets the current TSYNC1 time.

Example

unsigned tSync1;
tSync1 = awg.sync_T1;

Write

Sets a new TSYNC1 time. Minimum value of "0x0" and maximum value of "0xFF" (255).

Example

awg.sync_T1 = 0xAA;

Notes

This property is only available if SYNCO is enabled with the synco_enable property. For a more detailed discussion of the TSYNC1 time, please see the AWG Manual.

return to top


sync_T2

Description

Specifies the TSYNC2 time.

Syntax

UInt32 sync_T2

Read

Gets the current TSYNC2 time.

Example

unsigned tSync2;
tSync2 = awg.sync_T2;

Write

Sets a new TSYNC2 time. Specified. Minimum value of "0x0" and maximum value of "0xFF" (255).

Example

awg.sync_T2 = 0xBB;

Notes

This property is only available if SYNCO is enabled with the synco_enable property. For a more detailed discussion of the TSYNC1 time, please see the AWG Manual.

return to top


synci_enable

Description

Specifies internal SYNCI status.

Syntax

Boolean slave_mode

Read

Gets status of internal SYNCI.

Example

bool synciStatus;
synciStatus = awg.synci_enable;

Write

Sets new internal SYNCI status.

Example

awg.synci_enable = false;

Notes

For more information on the Internal SYNCI signal please see the AWG manual.

return to top


synco_enable

Description

Specifies SYNCO signal status.

Syntax

Boolean synco_enable

Read

Gets current status of SYNCO signal.

Example

bool syncoStatus;
syncoStatus = awg.synco_enable;

Write

Sets new SYNCO signal status.

Example

awg.synco_enable = true;

Notes

The SYNCO signal should normally only be used to synchronize a Slave board. The SYNCO signal is always off when in Slave mode regardless of the synco_enable setting.

return to top


trigger

Description

Pulses the software trigger

Syntax

Boolean trigger

Read

Write-only

Write

Activates the software trigger

Example

awg.trigger = 1;

Notes

To activate the trigger, simply set the property to "1". There is no need to reset it to "0" after activating it.

return to top


upage_available 

Description

Specifies the number of uPage memory partitions that remain available to use.

Syntax

Int16 upage_available

Read

Gets number of available uPages.

Example

int uPageAvailable;
uPageAvailable = awg.upage_available;

Write

Read-only.

Notes

There are 15 uPage memory partitions available. A user page may use more than one uPage, however a uPage cannot be used for more than one user page..

return to top


user_page 

Description

Specifies the user page to use for the current waveform.

Syntax

Int16 user_page

Read

Gets current user page number.

Example

int userPageNumber;
userPageNumber = awg.user_page;

Write

Sets new user page number.

Example

awg.user_page = 0;

Notes

The first user page is numbered 0. Remember to set the user page again before starting the waveform. After starting the waveforms on each page, you can switch to the other pages without having to restart the waveforms.

return to top


user_page_used_count 

Description

Specifies the number of user pages already used.

Syntax

Int16 user_page

Read

Gets the number of user page already used.

Example

int userPageUsed;
userPageUsed = awg.user_page_used_count;

Write

Read-only.

Notes

The maximum number of user pages you can have is 15, if the data length of each user page does not exceed one uPage. The only data length restriction on a user page is that it must not exceed the remaining available memory.

return to top


waveform_parameter_u0...7  

Description

Specifies the waveform-specific parameters to use.

Syntax

UInt32 user_page

Read

Write-only

Write

Sets new waveform parameter(s).

Example

awg.waveform_parameter_u0 = 1;
awg.waveform_parameter_u1 = 0x10;

Notes

The waveform parameters are used to calculate the data used for the waveforms, and the purpose of each parameter depends on which waveform style you specified earlier using the code parameter.

Sine A/B uses two parameters, one for the numerator and the other for the denominator. Any extra parameters you set will be ignored. For a list of the Waveform Parameters corresponding to each waveform style, please see the table in the description of the code parameter.

return to top