4Misc_Start4Platform@ ROGIXXpp<4!*K1winspoolMicrosoft XPS Document WriterXPSPort:Microsoft XPS Document WriterX odXXLetterDINU"L r SMTJMicrosoft XPS Document WriterInputBinFORMSOURCERESDLLUniresDLLInterleavingOFFImageTypeJPEGMedOrientationPORTRAITCollateOFFResolutionOption1PaperSizeLETTERColorMode24bpp MXDW ROGIXXpp<4!*K1winspoolMicrosoft XPS Document WriterXPSPort:Microsoft XPS Document WriterX odXXLetterDINU"L r SMTJMicrosoft XPS Document WriterInputBinFORMSOURCERESDLLUniresDLLInterleavingOFFImageTypeJPEGMedOrientationPORTRAITCollateOFFResolutionOption1PaperSizeLETTERColorMode24bpp MXDW ROGIXXpp<4!*K1winspoolMicrosoft XPS Document WriterXPSPort:Microsoft XPS Document WriterX odXXLetterDINU"L r SMTJMicrosoft XPS Document WriterInputBinFORMSOURCERESDLLUniresDLLInterleavingOFFImageTypeJPEGMedOrientationPORTRAITCollateOFFResolutionOption1PaperSizeLETTERColorMode24bpp MXDW  ROGIXXpp<4!*K1winspoolMicrosoft XPS Document WriterXPSPort:Microsoft XPS Document WriterX odXXLetterDINU"L r SMTJMicrosoft XPS Document WriterInputBinFORMSOURCERESDLLUniresDLLInterleavingOFFImageTypeJPEGMedOrientationPORTRAITCollateOFFResolutionOption1PaperSizeLETTERColorMode24bpp MXDW^Graph*@@??edWDashSettings#  !-Normal@ Arial<HHHH$$-Normal@ Arial<HHHH$$444444 XANormal@ Arial<HHHH$$4 4 4 4 4 4 homeZRdȊC:Users:Clowers:Google Drive:Multiplexing:LTQ Sync:C:Users:Clowers:Google Drive:Multiplexing:LTQ Sync(P(wl P<PwXL'wX=pKvloKv@\! (\ISvoKvcc 5RecentWindowsHelp BrowserIgor Reference.ihfNIDAQ Tools MX Help.ihfNIDAQ Tools MX Reference.ihfNIDAQmxWaveFormGenProcs.ipfNotebook0Original_With_6601:Original With 6601Programming.ihfWaveform Generator for Dev1 4Misc_End4XOPState_StartData BrowserIgor Reference.ihfGizmoEdges() PeakFunctions2NIDAQmxrocs.ipfNotebook05taHDF5alling} TofDaqXop Help BrowserXLLoadWaveInterpolateoKvccData Browserroot4XOPState_EndV_Flag@waveCount@curWaveIndex@S_nameTable1S_waveNames wave0;wave1;S_pathamesS_fileName ClipboardoutListmeSweep;Dummy;Sweep;SweepMake/O/N=1000 signal=sin(2*pi*x*50/1000) Display root:signal Make/O/N=10000 signal=sin(2*pi*x*50/1000) While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device Dev1:-200341: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is wr itten or explicitly when the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Extended info: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is written or explicitly wh en the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Onboard Memory Size: 2048 Required Buffer Size in Samples: 10000 Task Name: Dev1AO Status Code: -200341 Display root:signal Edit root:signal signal*=2.5 Display root:signal Make/O/N=1000 signal=sin(2*pi*x*50/1000) SetAxis/A ModifyGraph mode=4 ModifyGraph mode=6 Edit root:signal signal *=2.5 signal +=2.5 Make/O/N=100000 signal2=sin(2*pi*x*50/1000) Display root:signal2 Display root:signal Display root:signal2 Display root:FT_Seq_5_10005_8s While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device Dev1:200040: Measurements: Sample clock rate specified is so high that it violates the settling time requirements for the generation. Reduce the sample clock rate, or the accuracy of the generated signal might be compromised. Extended info: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is written or explicitly wh en the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Onboard Memory Size: 2048 Required Buffer Size in Samples: 10000 Task Name: Dev1AO Status Code: -200341 While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device Dev1:200040: Measurements: Sample clock rate specified is so high that it violates the settling time requirements for the generation. Reduce the sample clock rate, or the accuracy of the generated signal might be compromised. Extended info: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is written or explicitly wh en the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Onboard Memory Size: 2048 Required Buffer Size in Samples: 10000 Task Name: Dev1AO Status Code: -200341 Display root:FT_Seq_5_10005_8s Redimension/B FT_Seq_5_10005_8s Display root:FT_Seq_5_10005_8s While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device Dev1:200040: Measurements: Sample clock rate specified is so high that it violates the settling time requirements for the generation. Reduce the sample clock rate, or the accuracy of the generated signal might be compromised. Extended info: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is written or explicitly wh en the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Onboard Memory Size: 2048 Required Buffer Size in Samples: 10000 Task Name: Dev1AO Status Code: -200341 print "Go" Go While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device Dev1:200040: Measurements: Sample clock rate specified is so high that it violates the settling time requirements for the generation. Reduce the sample clock rate, or the accuracy of the generated signal might be compromised. Extended info: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is written or explicitly wh en the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Onboard Memory Size: 2048 Required Buffer Size in Samples: 10000 Task Name: Dev1AO Status Code: -200341 While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device Dev1:-200341: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is wr itten or explicitly when the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Extended info: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is written or explicitly wh en the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Onboard Memory Size: 2048 Required Buffer Size in Samples: 133300 Task Name: Dev1AO Status Code: -200341 While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device Dev1:-200341: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is wr itten or explicitly when the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Extended info: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is written or explicitly wh en the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Onboard Memory Size: 2048 Required Buffer Size in Samples: 100000 Task Name: Dev1AO Status Code: -200341 While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device Dev1:200040: Measurements: Sample clock rate specified is so high that it violates the settling time requirements for the generation. Reduce the sample clock rate, or the accuracy of the generated signal might be compromised. Extended info: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is written or explicitly wh en the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Onboard Memory Size: 2048 Required Buffer Size in Samples: 100000 Task Name: Dev1AO Status Code: -200341 displayPulseTrainControl() NI-DAQmx driver error while calling function DAQmxStartTask; device Dev1:-89136: Specified route cannot be satisfied, because the hardware does not support it. Extended info: Specified route cannot be satisfied, because the hardware does not support it. Property: DAQmx_CO_Pulse_Term Destination Device: Dev1 Destination Terminal: PFI0 Task Name: Dev1_CTR_0 Status Code: -89136 NI-DAQmx driver error while calling function DAQmxStartTask; device Dev1:-89136: Specified route cannot be satisfied, because the hardware does not support it. Extended info: Specified route cannot be satisfied, because the hardware does not support it. Property: DAQmx_CO_Pulse_Term Destination Device: Dev1 Destination Terminal: PFI1 Task Name: Dev1_CTR_0 Status Code: -89136 NI-DAQmx driver error while calling function DAQmxStartTask; device Dev1:-89136: Specified route cannot be satisfied, because the hardware does not support it. Extended info: Specified route cannot be satisfied, because the hardware does not support it. Property: DAQmx_CO_Pulse_Term Destination Device: Dev1 Destination Terminal: PFI1 Task Name: Dev1_CTR_0 Status Code: -89136 NI-DAQmx driver error while calling function DAQmxStartTask; device Dev1:-89136: Specified route cannot be satisfied, because the hardware does not support it. Extended info: Specified route cannot be satisfied, because the hardware does not support it. Property: DAQmx_CO_Pulse_Term Destination Device: Dev1 Destination Terminal: PFI0 Task Name: Dev1_CTR_1 Status Code: -89136 NI-DAQmx driver error while calling function DAQmxStartTask; device Dev1:-89136: Specified route cannot be satisfied, because the hardware does not support it. Extended info: Specified route cannot be satisfied, because the hardware does not support it. Property: DAQmx_CO_Pulse_Term Destination Device: Dev1 Destination Terminal: PFI2 Task Name: Dev1_CTR_1 Status Code: -89136 NIDAQ Tools error for device Dev1:10023: with counter 0 NI-DAQmx driver error while calling function DAQmxStartTask; device Dev1:-89136: Specified route cannot be satisfied, because the hardware does not support it. Extended info: Specified route cannot be satisfied, because the hardware does not support it. Property: DAQmx_CO_Pulse_Term Destination Device: Dev1 Destination Terminal: PFI2 Task Name: Dev1_CTR_1 Status Code: -89136 NIDAQ Tools error for device Dev1:10023: with counter 0 NI-DAQmx driver error while calling function DAQmxStartTask; device Dev1:-89137: Specified route cannot be satisfied, because it requires resources that are currently in use by another route. Extended info: Specified route cannot be satisfied, because it requires resources that are currently in use by another route. Property: DAQmx_CO_Pulse_Term Destination Device: Dev1 Destination Terminal: PFI3 Required Resources in Use by Task Name: Dev1_CTR_1 Source Device: Dev1 Source Terminal: MasterTimebase Destination Device: Dev1 Destination Terminal: Ctr1Source Required Resources Also in Use by Task Name: Dev1_CTR_1 Source Device: Dev1 Source Terminal: 20MHzTimebase Destination Device: Dev1 Destination Terminal: MasterTimebase Task Name: Dev1_CTR_1 Status Code: -89137 Edit root:FT_Seq_5_10005_8s Display root:FT_Seq_5_10005_8s ModifyGraph mode=6 SetAxis/A SetAxis/A FT_Seq_5_8338_7s_5V *=2.5 FT_Seq_5_8338_7s_5V +=2.5 FT_180D_5_8338_7s_5V *=-1 FT_180D_5_8338_7s_5V *=2.5 FT_180D_5_8338_7s_5V +=2.5 While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device Dev1:-200341: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is wr itten or explicitly when the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Extended info: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is written or explicitly wh en the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Onboard Memory Size: 2048 Required Buffer Size in Samples: 100000 Task Name: Dev1AO Status Code: -200341 Edit root:wave0 Edit root:wave0 Pulse_B10_O3_3069_5V *=5 Display root:Pulse_B10_O3_3069_5V ModifyGraph mode=6 Edit root:Pulse_B10_O3_3069_5V While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device Dev1:-200341: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is wr itten or explicitly when the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Extended info: Measurements: Generation was configured to use only onboard memory, but the corresponding buffer is larger than onboard memory. Buffer size is provided implicitly when data is written or explicitly wh en the buffer is configured. Configure the generation so that the Use Only Onboard Memory property is false. Alternatively, you can make sure the number of samples written and/or the size of the configured buffer do not exceed th e onboard memory size. Onboard Memory Size: 2048 Required Buffer Size in Samples: 3069 Task Name: Dev1AO Status Code: -200341 NIDAQmxEventCntMod#displaySimpleEventCounterPanel() NIDAQ Tools error for device Dev1:10023: with counter 0 NIDAQ Tools error for device Dev1:10023: with counter 0 NI-DAQmx driver error while calling function DAQmxConnectTerms; device Dev1:-89121: Destination terminal to be routed could not be found on the device. Make sure the terminal name is valid for the specified device. Refer to Measurement & Automation Explorer or your hardware documentation for valid terminal names. Extended info: Destination terminal to be routed could not be found on the device. Make sure the terminal name is valid for the specified device. Refer to Measurement & Automation Explorer or your hardware documentation for valid terminal names. Source Device: Dev1 Source Terminal: ctr0InternalOutput Destination Device: Dev1 Destination Terminal: PFI12 Status Code: -89121 NI-DAQmx driver error while calling function DAQmxConnectTerms; device Dev1:-89121: Destination terminal to be routed could not be found on the device. Make sure the terminal name is valid for the specified device. Refer to Measurement & Automation Explorer or your hardware documentation for valid terminal names. Extended info: Destination terminal to be routed could not be found on the device. Make sure the terminal name is valid for the specified device. Refer to Measurement & Automation Explorer or your hardware documentation for valid terminal names. Source Device: Dev1 Source Terminal: ctr0InternalOutput Destination Device: Dev1 Destination Terminal: PFI13 Status Code: -89121 NI-DAQmx driver error while calling function DAQmxConnectTerms; device Dev1:-89121: Destination terminal to be routed could not be found on the device. Make sure the terminal name is valid for the specified device. Refer to Measurement & Automation Explorer or your hardware documentation for valid terminal names. Extended info: Destination terminal to be routed could not be found on the device. Make sure the terminal name is valid for the specified device. Refer to Measurement & Automation Explorer or your hardware documentation for valid terminal names. Source Device: Dev1 Source Terminal: ctr0InternalOutput Destination Device: Dev1 Destination Terminal: PFI13 Status Code: -89121 NI-DAQmx driver error while calling function DAQmxConnectTerms; device Dev1:-89121: Destination terminal to be routed could not be found on the device. Make sure the terminal name is valid for the specified device. Refer to Measurement & Automation Explorer or your hardware documentation for valid terminal names. Extended info: Destination terminal to be routed could not be found on the device. Make sure the terminal name is valid for the specified device. Refer to Measurement & Automation Explorer or your hardware documentation for valid terminal names. Source Device: Dev1 Source Terminal: ctr1InternalOutput Destination Device: Dev1 Destination Terminal: PFI12 Status Code: -89121 NIDAQ Tools error for device Dev1:10023: with counter 0 NIDAQmxEventCntMod#displaySimpleEventCounterPanel() NIDAQ Tools error for device Dev1:10023: with counter 1 NIDAQmxEventCntMod#displaySimpleEventCounterPanel() Display root:Input0 Display root:Input0 Display root:Input0 Display root:Input0 Edit root:Input0 Pulse_B10_O6_6138_5V*=5 Edit root:Pulse_B10_O6_6138 Pulse_B10_O6_6138_5V*=5 While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxCreateAOVoltageChan; device Dev1:-201003: Measurements: Device cannot be accessed. Possible causes: Device is no longer present in the system. Device is not powered. Device is powered, but was temporarily without power. Device is damaged. Ensure the device is properly connected and powered. Turn the computer off and on again. If you suspect that the device is damaged, contact National Instruments at ni.com/support. Extended info: Measurements: Device cannot be accessed. Possible causes: Device is no longer present in the system. Device is not powered. Device is powered, but was temporarily without power. Device is damaged. Ensure the device is properly connected and powered. Turn the computer off and on again. If you suspect that the device is damaged, contact National Instruments at ni.com/support. Device Specified: Dev1 Task Name: Dev1AO Status Code: -201003 NIDAQmxEventCntMod#displaySimpleEventCounterPanel() NIDAQ Tools error for device Dev2:10023: with counter 0 Edit root:FT_180D_5_8338_7s_5V TestDaq() fDAQmx_ErrorString() TestDaq() TestDaq() TestDaq() print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device dev2:-89130: Device not available for routing. It is possible that the device needs to be reset or that the device is being reset. If you are resetting the device, wait for the reset to complete. For example, if you have used the device through Traditional NI-DAQ, you must reset the device before the requested route can be made. For SCXI devices, you must reset the communicator DAQ device. Ca ll the Traditional NI-DAQ Device Reset VI or the Init_DA_Brds function. To reset all devices in Traditional NI-DAQ, right-click the Traditional NI-DAQ Devices folder in MAX and select Reset Driver for Traditional NI-DAQ. Extended info: Device not available for routing. It is possible that the device needs to be reset or that the device is being reset. If you are resetting the device, wait for the reset to complete. For example, if you have used the device through Traditional NI-DAQ, you must reset the device before the requested route can be made. For SCXI devices, you must reset the communicator DAQ device. Ca ll the Traditional NI-DAQ Device Reset VI or the Init_DA_Brds function. To reset all devices in Traditional NI-DAQ, right-click the Traditional NI-DAQ Devices folder in MAX and select Reset Driver for Traditional NI-DAQ. Task Name: dev2AO Status Code: -89130 TestDaq() print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device dev2:-89130: Device not available for routing. It is possible that the device needs to be reset or that the device is being reset. If you are resetting the device, wait for the reset to complete. For example, if you have used the device through Traditional NI-DAQ, you must reset the device before the requested route can be made. For SCXI devices, you must reset the communicator DAQ device. Ca ll the Traditional NI-DAQ Device Reset VI or the Init_DA_Brds function. To reset all devices in Traditional NI-DAQ, right-click the Traditional NI-DAQ Devices folder in MAX and select Reset Driver for Traditional NI-DAQ. Extended info: Device not available for routing. It is possible that the device needs to be reset or that the device is being reset. If you are resetting the device, wait for the reset to complete. For example, if you have used the device through Traditional NI-DAQ, you must reset the device before the requested route can be made. For SCXI devices, you must reset the communicator DAQ device. Ca ll the Traditional NI-DAQ Device Reset VI or the Init_DA_Brds function. To reset all devices in Traditional NI-DAQ, right-click the Traditional NI-DAQ Devices folder in MAX and select Reset Driver for Traditional NI-DAQ. Task Name: dev2AO Status Code: -89130 TestDaq() print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device dev2:-89130: Device not available for routing. It is possible that the device needs to be reset or that the device is being reset. If you are resetting the device, wait for the reset to complete. For example, if you have used the device through Traditional NI-DAQ, you must reset the device before the requested route can be made. For SCXI devices, you must reset the communicator DAQ device. Ca ll the Traditional NI-DAQ Device Reset VI or the Init_DA_Brds function. To reset all devices in Traditional NI-DAQ, right-click the Traditional NI-DAQ Devices folder in MAX and select Reset Driver for Traditional NI-DAQ. Extended info: Device not available for routing. It is possible that the device needs to be reset or that the device is being reset. If you are resetting the device, wait for the reset to complete. For example, if you have used the device through Traditional NI-DAQ, you must reset the device before the requested route can be made. For SCXI devices, you must reset the communicator DAQ device. Ca ll the Traditional NI-DAQ Device Reset VI or the Init_DA_Brds function. To reset all devices in Traditional NI-DAQ, right-click the Traditional NI-DAQ Devices folder in MAX and select Reset Driver for Traditional NI-DAQ. Task Name: dev2AO Status Code: -89130 TestDaq() print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device dev2:-89130: Device not available for routing. It is possible that the device needs to be reset or that the device is being reset. If you are resetting the device, wait for the reset to complete. For example, if you have used the device through Traditional NI-DAQ, you must reset the device before the requested route can be made. For SCXI devices, you must reset the communicator DAQ device. Ca ll the Traditional NI-DAQ Device Reset VI or the Init_DA_Brds function. To reset all devices in Traditional NI-DAQ, right-click the Traditional NI-DAQ Devices folder in MAX and select Reset Driver for Traditional NI-DAQ. Extended info: Device not available for routing. It is possible that the device needs to be reset or that the device is being reset. If you are resetting the device, wait for the reset to complete. For example, if you have used the device through Traditional NI-DAQ, you must reset the device before the requested route can be made. For SCXI devices, you must reset the communicator DAQ device. Ca ll the Traditional NI-DAQ Device Reset VI or the Init_DA_Brds function. To reset all devices in Traditional NI-DAQ, right-click the Traditional NI-DAQ Devices folder in MAX and select Reset Driver for Traditional NI-DAQ. Task Name: dev2AO Status Code: -89130 print fDAQmx_ErrorString() NIDAQ Tools error for device dev2:10021: No waveform operation is currently running for that device. TestDaq() print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxCreateTask; device /Dev2:-200552: Measurements: Specified string is not valid, because it contains an invalid character. Extended info: Measurements: Specified string is not valid, because it contains an invalid character. Position of Invalid Character: 0 Invalid String: /Dev2AO Task Name: /Dev2AO Status Code: -200552 TestDaq() TestDaq() TestDaq() print fDAQmx_ErrorString() NIDAQ Tools error for device /Dev2/:10021: No waveform operation is currently running for that device. TestDaq() TestDaq() TestDaq() 1 print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxResetDevice; device /Dev2/:-200220: Measurements: Device identifier is invalid. Extended info: Measurements: Device identifier is invalid. Device Specified: /Dev2/ Status Code: -200220 TestDaq() 1 print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxResetDevice; device /Dev2:-200220: Measurements: Device identifier is invalid. Extended info: Measurements: Device identifier is invalid. Device Specified: /Dev2 Status Code: -200220 TestDaq() 1 print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxResetDevice; device /dev2:-200220: Measurements: Device identifier is invalid. Extended info: Measurements: Device identifier is invalid. Device Specified: /dev2 Status Code: -200220 TestDaq() 0 print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxResetDevice; device /Dev2/:-200220: Measurements: Device identifier is invalid. Extended info: Measurements: Device identifier is invalid. Device Specified: /Dev2/ Status Code: -200220 TestDaq() 0 TestDaq() 0 print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device dev2:-89120: Source terminal to be routed could not be found on the device. Make sure the terminal name is valid for the specified device. Refer to Measurement & Automation Explorer for valid terminal names. Extended info: Source terminal to be routed could not be found on the device. Make sure the terminal name is valid for the specified device. Refer to Measurement & Automation Explorer for valid terminal names. Property: DAQmx_SampClk_Src Property: DAQmx_SampClk_ActiveEdge Source Device: Dev2 Source Terminal: dev2/PFI5 Task Name: dev2AO Status Code: -89120 TestDaq() 0 print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device dev2:-200265: Measurements: An attempt has been made to use an invalid analog trigger source. Ensure that the trigger source you specify matches the name of the virtual channel in the task or matches the name of a non-scannable terminal that the device can use as an analog trigger source. Extended info: Measurements: An attempt has been made to use an invalid analog trigger source. Ensure that the trigger source you specify matches the name of the virtual channel in the task or matches the name of a non-scannable terminal that the device can use as an analog trigger source. Property: DAQmx_AnlgEdge_StartTrig_Src Corresponding Value: /dev2/PFI6 Valid Choices: PFI0 Task Name: dev2AO Status Code: -200265 TestDaq() 0 print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device dev2:-200265: Measurements: An attempt has been made to use an invalid analog trigger source. Ensure that the trigger source you specify matches the name of the virtual channel in the task or matches the name of a non-scannable terminal that the device can use as an analog trigger source. Extended info: Measurements: An attempt has been made to use an invalid analog trigger source. Ensure that the trigger source you specify matches the name of the virtual channel in the task or matches the name of a non-scannable terminal that the device can use as an analog trigger source. Property: DAQmx_AnlgEdge_StartTrig_Src Corresponding Value: /dev2/AI0 Valid Choices: PFI0 Task Name: dev2AO Status Code: -200265 TestDaq() 0 endHook() Done TestDaq() 0 Done TestDaq() 0 Repeating TestDaq() Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating errorHook() Error Duplicate FT_180D_5_8338_7s_5V FT_180D_5_8338_5V_Trunc TestDaq() errorHook() Error TestDaq() Repeating Repeating Repeating Repeating errorHook() Error TestDaq() Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating errorHook() Error TestDaq() 0 Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating errorHook() Error Redimension/B FT_180D_5_8338_5V_Trunc TestDaq() 0 Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating errorHook() Error Duplicate FT_180D_5_8338_5V_Trunc Trunc2 TestDaq() 0 Repeating TestDaq() 0 Done Repeating TestDaq() 0 TestDaq() 0 Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating errorHook() Error Display root:Trunc2 TestDaq() 0 Repeating TestDaq() 0 Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Display root:Trunc2 Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating errorHook() Error Duplicate FT_180D_5_8338_5V_Trunc Trunc2 TestDaq() 0 Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating TestDaq() 0 resetDevice() 0 TestDaq() 0 Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Duplicate Trunc2 Trunc3 Repeating Repeating Repeating Repeating Repeating Repeating TestDaq() 0 displayPulseTrainControl() TestDaq() 0 Repeating ** DAQmx_WaveformGen gave error: A waveform operation is already running for that device. Repeating ** DAQmx_WaveformGen gave error: A waveform operation is already running for that device. Repeating ** DAQmx_WaveformGen gave error: A waveform operation is already running for that device. Repeating ** DAQmx_WaveformGen gave error: A waveform operation is already running for that device. Repeating ** DAQmx_WaveformGen gave error: A waveform operation is already running for that device. Repeating ** DAQmx_WaveformGen gave error: A waveform operation is already running for that device. Repeating ** DAQmx_WaveformGen gave error: A waveform operation is already running for that device. Repeating ** DAQmx_WaveformGen gave error: A waveform operation is already running for that device. Repeating ** DAQmx_WaveformGen gave error: A waveform operation is already running for that device. Repeating **** Too many errors; reporting stopped until next user action ***** Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating resetDevice() 0 TestDaq() 0 Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating TestDaq() 0 Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating Repeating TestDaq() 0 TestDaq() 0 TestDaq() 0 TestDaq() 0 TestDaq() 0 Duplicate/O Trunc2 Trunc3 Duplicate/O Trunc2 Trunc3 Edit/K=0 'Trunc3';DelayUpdate TestDaq() 0 errorHook() Error TestDaq() 0 TestDaq() 0 FT_Seq_5_8338_7s+=1 Edit root:FT_Seq_5_8338_7s FT_Seq_5_8338_7s/=2 FT_Seq_5_8338_7s*=5 TestDaq() 0 TestDaq() 0 displayPulseTrainControl() NI-DAQmx driver error while calling function DAQmxStartTask; device Dev2:-89136: Specified route cannot be satisfied, because the hardware does not support it. Extended info: Specified route cannot be satisfied, because the hardware does not support it. Property: DAQmx_CO_Pulse_Term Destination Device: Dev2 Destination Terminal: PFI1 Task Name: Dev2_CTR_0 Status Code: -89136 NI-DAQmx driver error while calling function DAQmxStartTask; device Dev2:-89121: Destination terminal to be routed could not be found on the device. Make sure the terminal name is valid for the specified device. Refer to Measurement & Automation Explorer or your hardware documentation for valid terminal names. Extended info: Destination terminal to be routed could not be found on the device. Make sure the terminal name is valid for the specified device. Refer to Measurement & Automation Explorer or your hardware documentation for valid terminal names. Property: DAQmx_CO_Pulse_Term Destination Device: Dev2 Destination Terminal: CTR0 Task Name: Dev2_CTR_0 Status Code: -89121 TestDaq() 0 errorHook() Error print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxStartTask; device dev2:-89121: Destination terminal to be routed could not be found on the device. Make sure the terminal name is valid for the specified device. Refer to Measurement & Automation Explorer or your hardware documentation for valid terminal names. Extended info: Destination terminal to be routed could not be found on the device. Make sure the terminal name is valid for the specified device. Refer to Measurement & Automation Explorer or your hardware documentation for valid terminal names. Property: DAQmx_CO_Pulse_Term Destination Device: Dev2 Destination Terminal: dev2/Ctr0Out Task Name: dev2_CTR_0 Status Code: -89121 displayPulseTrainControl() TestDaq() 0 TestDaq() 0 TestDaq() 0 TestDaq() 0 ** DAQmx_WaveformGen gave error: Error reported by NI-DAQmx driver. Use fDAQmx_ErrorString to get a description of the error. print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device dev4:-89137: Specified route cannot be satisfied, because it requires resources that are currently in use by another route. Extended info: Specified route cannot be satisfied, because it requires resources that are currently in use by another route. Property: DAQmx_SampClk_Src Property: DAQmx_SampClk_ActiveEdge Source Device: Dev2 Source Terminal: PFI5 Required Resources in Use by Task Name: dev2_CTR_0 Source Device: Dev2 Source Terminal: PFI6 Destination Device: Dev2 Destination Terminal: Ctr0Gate Required Resources Also in Use by Task Name: dev4AO Source Device: Dev4 Source Terminal: 20MHzTimebase Destination Device: Dev4 Destination Terminal: MasterTimebase Task Name: dev4AO Status Code: -89137 ** DAQmx_WaveformGen gave error: Error reported by NI-DAQmx driver. Use fDAQmx_ErrorString to get a description of the error. ** DAQmx_WaveformGen gave error: Error reported by NI-DAQmx driver. Use fDAQmx_ErrorString to get a description of the error. ** DAQmx_WaveformGen gave error: Error reported by NI-DAQmx driver. Use fDAQmx_ErrorString to get a description of the error. ** DAQmx_WaveformGen gave error: Error reported by NI-DAQmx driver. Use fDAQmx_ErrorString to get a description of the error. resetDevice() 0 0 TestDaq() 0 0 print fDAQmx_ErrorString() NI-DAQmx driver error while calling function DAQmxWriteAnalogF64; device dev4:-89137: Specified route cannot be satisfied, because it requires resources that are currently in use by another route. Extended info: Specified route cannot be satisfied, because it requires resources that are currently in use by another route. Property: DAQmx_SampClk_Src Property: DAQmx_SampClk_ActiveEdge Source Device: Dev2 Source Terminal: PFI5 Required Resources in Use by Task Name: dev2_CTR_0 Source Device: Dev2 Source Terminal: PFI6 Destination Device: Dev2 Destination Terminal: Ctr0Gate Required Resources Also in Use by Task Name: dev4AO Source Device: Dev4 Source Terminal: 20MHzTimebase Destination Device: Dev4 Destination Terminal: MasterTimebase Task Name: dev4AO Status Code: -89137 resetDevice() 0 0 TestDaq() 0 0 ** DAQmx_WaveformGen gave error: A waveform operation is already running for that device. resetDevice() 0 0 TestDaq() 0 0 TestDaq() 0 0 TestDaq() 0 0 TestDaq() 0 0 TestDaq() 0 0 Edit root:FT_Seq_5_8338_7s TestDaq() 0 0 TestDaq() 0 0 TestDaq() 0 0 TestDaq() 0 0 TestDaq() 0 0 TestDaq() 0 0 TestDaq() 0 0 resetDevice() 0 0 TestDaq() 0 0 Edit root:FT_Seq_5_8338_7s resetDevice() 0 0 TestDaq() 0 0 TestDaq() 0 0 TestDaq() 0 0 resetDevice() 0 0 resetDevice() 1 0 While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxCreateAOVoltageChan; device Dev2:-200220: Measurements: Device identifier is invalid. Extended info: Measurements: Device identifier is invalid. Device Specified: Dev2 Task Name: Dev2AO Status Code: -200220 While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxCreateAOVoltageChan; device Dev2:-200220: Measurements: Device identifier is invalid. Extended info: Measurements: Device identifier is invalid. Device Specified: Dev2 Task Name: Dev2AO Status Code: -200220 While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxCreateAOVoltageChan; device Dev2:-200220: Measurements: Device identifier is invalid. Extended info: Measurements: Device identifier is invalid. Device Specified: Dev2 Task Name: Dev2AO Status Code: -200220 resetDevice() 0 0 Display root:FT_Seq_5_8338_7s String outList = "Sweep;Dummy" print(StringFromList(0,outList)) Sweep print(strlen(outList)) 11 print(ItemsInList(outList)) 2 SetupTriggeredOutput() SetWaveHook() SetupTriggeredOutput() SetWaveHook() outList = "Sweep;Dummy" SetupTriggeredOutput() SetupTriggeredOutput() SetupTriggeredOutput() SetWaveHook() Dummy SetupTriggeredOutput() SetWaveHook() Sweep resetDevice() 0 TestDaq() 0 TestDaq() 0 fDAQmx_WriteChan("dev1", 0, 0,0,10) fDAQmx_WriteChan("dev1", 0, 0, -1,10) resetDevice() 0 TestDaq() 0 0 TestDaq() 0 0 TestDaq() 0 0 Complete TestWG_Trig() 0 TestWG_Trig() 0 TestWG_Trig() 0 0 Complete TestWG_Trig() 0 0 Complete TestWG_Trig() 0 0 Complete Edit/K=0 'Pulse_B10_O6_6138';DelayUpdate TestWG_Trig() 0 0 Complete TestWG_Trig() 0 0 Complete CountEdges() CountEdges() print(fDAQmx_ErrorString()) NI-DAQmx driver error while calling function DAQmxTaskControl with DAQmx_Val_Task_Commit; device dev1:-200077: Requested value is not a supported value for this property. The property value may be invalid because it conflicts with another property. Extended info: Requested value is not a supported value for this property. The property value may be invalid because it conflicts with another property. Property: DAQmx_SampQuant_SampPerChan Requested Value: 1 Maximum Value: 8589934590 Minimum Value: 2 Task Name: dev1 Status Code: -200077 CountEdges() TestWG_Trig() 0 0 Complete CountEdges() Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta resetDevice() 0 CountEdges() print(fDAQmx_ErrorString()) NI-DAQmx driver error while calling function DAQmxTaskControl with DAQmx_Val_Task_Commit; device dev1:-200077: Requested value is not a supported value for this property. The property value may be invalid because it conflicts with another property. Extended info: Requested value is not a supported value for this property. The property value may be invalid because it conflicts with another property. Property: DAQmx_SampQuant_SampPerChan Requested Value: 1 Maximum Value: 8589934590 Minimum Value: 2 Task Name: dev1 Status Code: -200077 CountEdges() Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta Start Hook Beta resetDevice() 0 Dummy(0,2000) *=0 Dummy(0,2000) += Sweep Dummy(0,2000) *=0 Dummy(0,2000) += Pulse_B10_O6_6138 fDAQmx_WriteChan("dev1", 0, 0, -5, 5) fDAQmx_WriteChan("dev1", 0, 3, -5, 5) fDAQmx_WriteChan("dev1", 0, 0, -5, 5) RunPulseGen() 0 Sweep, 0; Dummy, 0; , 0; Waveform cycle complete RunPulseGen() 0 Sweep, 0; Dummy, 0; , 0; Waveform cycle complete RunPulseGen() 0 Outputting: Sweep, 0; Outputting: Dummy, 0; Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; Outputting: , 0; Waveform cycle complete Display root:Sweep Edit root:Sweep Edit root:Dummy RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete Outputting: , 0; Waveform cycle complete RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; Outputting: , 0; Waveform cycle complete RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; Outputting: , 0; Waveform cycle complete RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; Outputting: , 0; Waveform cycle complete RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Edit root:Sweep,root:Dummy Outputting: Dummy, 0; Outputting: , 0; Waveform cycle complete RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; Outputting: , 0; Waveform cycle complete RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; Outputting: Sweep, 0; Outputting: , 0; Waveform cycle complete RunPulseGen() Reset Return: 0 Outputting: Sweep, 0; Outputting: Dummy, 0; Outputting: Sweep, 0; Outputting: Sweep, 0; Outputting: , 0; Waveform cycle complete !P J (x* ҩSweepiUMu????! 2P hx*P:ҩDummy{Gzt????$@$"@@@@@????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????- HHx*˫˫DummyCountLoư>???# VHx*˫߫DummyCountHiư>???$@$$*Yf@f@ Packages|`vqx*!x* NIDAQTools|`vqx*!y* Device_Dev1|`vqx*!hy*  NIDAQNumChans0@gScanNSamplesAgAverageSamples?gSamplesAfterTriggergScanInterval-C6 ?gSampleIntervalgScanTriggerLevel1@gScanTriggerLevel2gScanStopTrgLevel1gScanStopTrgLevel2gIgorVersion{Gz@WFPeriod?gWFExternalTimebasegWFNPeriodsgScanErrorStringwbvNo ErrorgScanStartTriggerSource /Dev1/PFI0gScanStopTriggerSource /Dev1/PFI1gScanClockSourceource /Dev1/PFI7gScanCnvrtClockSource /Dev1/PFI2WFWave0rtClockSourceWFWave1rtClockSourceNIDAQerrorStringurceNo ErrorgWFSTBaseSrcingurce /Dev1/PFI5gWFSTriggerSourcerce /Dev1/PFI6h`Hz* WFSelectionListhy*????h|*=z*Channel 0Channel 1root:Pulse_B10_O6_6138ChannelWave Name ((|0Pz* WFSelectionSelWavehy*????>@BB? ChannelSelectorqx*!H|* ScanControlPanel_Dev1x*!hs*hasWaveNames?hasChanNamesnameColumnDimNamePPDestination Wave u@n*NѻNPChannelSelectorListWavehs*????n*Bn*Channel 0Channel 1Channel 2Channel 3Channel 4Channel 5Channel 6Channel 7Channel 8Channel 9Channel 10Channel 11Channel 12Channel 13Channel 14Channel 15Input0Input1Input2Input3Input4Input5Input6Input7Input8Input9Input10Input11Input12Input13Input14Input15DiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiff-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-1010101010101010101010101010101010Input ChannelDestination WaveTypeMin VMax V $-6?HQZdnx  $(,048<?BEHKNQTWZ]`cfilnprtvxz|~Yo*NѤPChannelSelectorSelWavehs*????(o*C@BBBBBBBBBBBBBBBB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Input ChannelDestination WaveTypeMin VMax V PulseTrainGeneratorPanelx*!ho*PTG_DeviceNameDev2 DDev1_C0nGeneratorPanelx*!o*PTG_FrequencyF@PTG_DutyCycleI@PTG_StartDelayPTG_IdleStatePopValue?PTG_NumPulsesPTG_TimebaseFrequencyPTG_OutputTerminaldefaultPTG_TimebaseSourcedefault DDev1_C1nGeneratorPanelx*!Hp*PTG_Frequency@@PTG_DutyCycleI@PTG_StartDelayPTG_IdleStatePopValue?PTG_NumPulsesPTG_TimebaseFrequencyPTG_OutputTerminal /Dev1/PFI3PTG_TimebaseSourcedefault DDev2_C0nGeneratorPanelx*!p*PTG_Frequency@@PTG_DutyCycleI@PTG_StartDelayPTG_IdleStatePopValue?PTG_NumPulsesPTG_TimebaseFrequencyPTG_OutputTerminal /Dev2/Ctr0OutPTG_TimebaseSourcedefault SimpleEventCounterPanelx*!q*EVC_DeviceNameDev2 DDev1_C0ntCounterPanelx*!q*CounterReading*@EVC_CountDirectionPopnum?EVC_SourceEdgePopnum@EVC_InitialCountEVC_SourceTerminal /Dev1/PFI8EVC_OutputTerminalnone DDev1_C1ntCounterPanelx*!r*CounterReading?EVC_CountDirectionPopnum?EVC_SourceEdgePopnum@EVC_InitialCount?EVC_SourceTerminal/Dev1/ao/SampleClockEVC_OutputTerminalnone DDev2_C0ntCounterPanelx*!(s*CounterReadingx@EVC_CountDirectionPopnum?EVC_SourceEdgePopnum@EVC_InitialCount?EVC_SourceTerminal /Dev2/PFI8EVC_OutputTerminalnone Device_Dev2ounterPanelx*!H]*WFPeriod?gWFExternalTimebasegWFNPeriodsWFWave0ceNameWFWave1ceNameNIDAQerrorString%While starting Waveform Generator: NI-DAQmx driver error while calling function DAQmxCreateAOVoltageChan; device Dev2:-200220: Measurements: Device identifier is invalid. Extended info: Measurements: Device identifier is invalid. Device Specified: Dev2 Task Name: Dev2AO Status Code: -200220gWFSTBaseSrcing /Dev4/PFI5gWFSTriggerSource /Dev4/PFI6k`^*\6\6WFSelectionListH]*????h^*xH^*Channel 0Channel 1root:FT_180D_5_8338_7s_5VChannelWave Name ++P^*\6wK WFSelectionSelWaveH]*????y@BB RepeatedScanunterPanelx*!d*0 NIDAQNumChans0@gScanNSamplesY@gAverageSamples?gSamplesAfterTriggergScanInterval{Gz?gSampleIntervalgScanTriggerLevel1gScanTriggerLevel2gScanStopTrgLevel1gScanStopTrgLevel2gScanRepeatCount?gScanRepeatStartSequenceNumgIgorVersion{Gz@gScanErrorStringNo ErrorgScanStartTriggerSource /Dev2/PFI0gScanStopTriggerSource /Dev2/PFI1gScanClockSourceource /Dev2/PFI7gScanCnvrtClockSource /Dev2/PFI2gRepeatScanWNameSuffix ChannelSelectorerPanelx*!h`* RepeatScanControlPanel_Dev2x*!`*hasWaveNames?hasChanNamesnameColumnDimName(`* Base Name/@Ha***PChannelSelectorListWave`*????(a*`*Channel 0Channel 1Channel 2Channel 3Channel 4Channel 5Channel 6Channel 7Channel 8Channel 9Channel 10Channel 11Channel 12Channel 13Channel 14Channel 15C0C1C2C3C4C5C6C7C8C9C10C11C12C13C14C15DiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiff-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-1010101010101010101010101010101010Input ChannelBase NameTypeMin VMax V $-6?HQZdnx  #&),.02468:<>@BDFHJLa***PChannelSelectorSelWave`*????ha*BBBBBBBBBBBBBBBB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Input ChannelBase NameTypeMin VMax V Device_Dev4ntrolPanel_Dev2x*!a*WFPeriod?gWFExternalTimebasegWFNPeriodsWFWave0WFWave1NIDAQerrorStringNo ErrorgWFSTBaseSrcing /Dev4/PFI5gWFSTriggerSource /Dev4/PFI6Kg`c*3L 9L WFSelectionLista*????(c*b*Channel 0Channel 1root:FT_Seq_5_8338_7sChannelWave Name '' ZPHc*3L 9L WFSelectionSelWavea*????@BB? RepeatedScantrolPanel_Dev2x*!c*0 NIDAQNumChans0@gScanNSamplesY@gAverageSamples?gSamplesAfterTriggergScanInterval{Gz?gSampleIntervalgScanTriggerLevel1gScanTriggerLevel2gScanStopTrgLevel1gScanStopTrgLevel2gScanRepeatCount?gScanRepeatStartSequenceNumgIgorVersion{Gz@gScanErrorStringNo ErrorgScanStartTriggerSource /Dev4/PFI0gScanStopTriggerSource /Dev4/PFI1gScanClockSourceource /Dev4/PFI7gScanCnvrtClockSource /Dev4/PFI2gRepeatScanWNameSuffix ChannelSelectorlPanel_Dev2x*!e* RepeatScanControlPanel_Dev4x*!He*hasWaveNames?hasChanNamesnameColumnDimNamed* Base Name@e*K ٯK PChannelSelectorListWaveHe*????f*e*Channel 0Channel 1Channel 2Channel 3Channel 4Channel 5Channel 6Channel 7Channel 8Channel 9Channel 10Channel 11Channel 12Channel 13Channel 14Channel 15C0C1C2C3C4C5C6C7C8C9C10C11C12C13C14C15DiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiffDiff-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-1010101010101010101010101010101010Input ChannelBase NameTypeMin VMax V $-6?HQZdnx  #&),.02468:<>@BDFHJL (f*K ٯK PChannelSelectorSelWaveHe*????Hf*BBBBBBBBBBBBBBBB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Input ChannelBase NameTypeMin VMax V WindowCoordinatesanel_Dev4x*!f*JCxf*c W_windowCoordinatesf*????f*WFGeneratorPanel_Dev4RepeatScanControlPanel_Dev4RepeatScanControlPanel_Dev2WFGeneratorPanel_Dev2WFGeneratorPanel_Dev1ScanControlPanel_Dev1275.2532.25405225.75375.75544.56865.7511950218.7546.25581.25304.5677.25531.75681.75875.25281.75566.75620263.75444.5535.250K`u *dTXET????iNotebook0Notebook0Notebook0To get waves ready Copy to new column For 0 degrees wave0*=2.5 wave0+=2.5 For 180 Degrees wave0*=-1 wave0*=2.5 wave0+=2.5 ##### For the Waveform Generation Make sure the number of periods conforms to a little over the total experiment time PFI5 -- initial trigger to start counting TOF pulses on PFI6 PFI6 -- counts the number of TOF pulses dTXET????~Original With 6601Original_With_6601Original_With_6601:Original With 6601#pragma rtGlobals=3 // Use modern global access method and strict wave access. #include #include #include #include #include #include // Function GoAgain() //DAQmx_WaveFormGen/DEV="dev2" /CLK={"/dev2/PFI5", 0} /TRIG={"/dev3/PFI38", 1, 1} /NPRD=1 /EOSH="endHook()" /ERRH="errorHook()" "root:Trunc2, 0;"//outputWave, Channel DAQmx_WaveFormGen/DEV="dev2" /CLK={"/dev3/PFI34", 0} /TRIG={"/dev3/PFI38", 1, 1} /NPRD=1 /EOSH="endHook()" /ERRH="errorHook()" "root:FT_180D_5_8338_5V_Trunc, 0"//;Trunc3, 1"//outputWave, Channel //fDAQmx_WaveformStart("dev2", 1)//This approach doesn't work as after the number of specified periods things don't repeat //endHook() //If the waveform is actually 16667 and you truncate it to 16200 there is enough time to reset. However, at 60 us this translates to a 28 ms offset but as the waveform gets larger, how does this scale? End Function TestDaq() resetDevice() Variable numPeriods = 1//set to 0 for infinite String EOSH try EOSH="endHook()" // /EOSH=EOSH //DAQmx_WaveFormGen/DEV="dev2" /CLK={"/dev2/PFI5", 0} /TRIG={"/dev2/PFI0", 2, 1, 2.5} /NPRD=(numPeriods) /EOSH=EOSH /ERRH="errorHook()" "root:FT_180D_5_8338_5V_Trunc, 0;"//outputWave, Channel //DAQmx_WaveFormGen/DEV="dev2" /CLK={"/dev2/PFI5", 0} /TRIG={"/dev3/PFI38", 1, 1} /NPRD=(numPeriods) /EOSH=EOSH /ERRH="errorHook()" "root:FT_180D_5_8338_5V_Trunc, 0;"//outputWave, Channel DAQmx_WaveFormGen/DEV="dev2" /CLK={"/dev3/PFI34", 0} /TRIG={"/dev3/PFI38", 1, 1} /NPRD=(numPeriods) /EOSH=EOSH /ERRH="errorHook()" "root:FT_180D_5_8338_5V_Trunc, 0;"//outputWave, Channel catch print fDAQmx_ErrorString() endtry End Function resetDevice() Variable resetRtn fDAQmx_WaveformStop("Dev4") resetRtn = fDAQmx_ResetDevice("Dev4") print resetRtn End Function errorHook() fDAQmx_WaveformStop("Dev2") print "Error" End Function endHook() //Variable numRepeats = 1 //fDAQmx_WaveformStart("dev2", numRepeats) GoAgain() //print "Repeating" End// Platform=WindowsNT, IGORVersion=6.372, architecture=Intel, systemTextEncoding="Windows-1252", historyTextEncoding="Windows-1252", procwinTextEncoding="Windows-1252" Silent 101 // use | as bitwise or -- not comment. DefaultFont "Arial" String/G root:gWMSetNextTextFilesTextEncoding = "Windows-1252" // Text encoding for Original_With_6601. Used by Igor Pro 7. OpenNotebook/N=Original_With_6601/W=(1317,80,1816.5,372.5)/J=94217 "Original With 6601" String/G root:gWMSetNextTextFilesTextEncoding = "Windows-1252" // Text encoding for Notebook0. Used by Igor Pro 7. OpenNotebook/N=Notebook0/W=(1171.5,385.25,1539,720.5)/J=93694 "Notebook0" WFGeneratorPanel_Dev1() MoveWindow/P 398.25,87.5,1089,716 MoveWindow/C 45,680,1002.75,918.5 KillStrings/Z root:gWMSetNextTextFilesTextEncoding Window WFGeneratorPanel_Dev1() : Panel PauseUpdate; Silent 1 // building window... NewPanel /K=1 /W=(353,66,761,367) as "Waveform Generator for Dev1" ListBox Dev1_WFWaveListBox,pos={18,24},size={378,67},frame=2 ListBox Dev1_WFWaveListBox,listWave=root:Packages:NIDAQTools:Device_Dev1:WFSelectionList ListBox Dev1_WFWaveListBox,selWave=root:Packages:NIDAQTools:Device_Dev1:WFSelectionSelWave ListBox Dev1_WFWaveListBox,mode= 7,widths={1,3} GroupBox Dev1_WFSelectionGroup,pos={8,5},size={396,128},title="Select Channels and Waves" PopupMenu Dev1_WFInsertWaveMenu,pos={18,101},size={199,21},proc=WFPopMenuProc,title="Insert Wave Name in Selected Row" PopupMenu Dev1_WFInsertWaveMenu,mode=0,value= #"\"Make Demo Wave;\"+WaveList(\"*\", \";\", \"\")" SetVariable Dev1_WFPeriodSet,pos={23,141},size={135,16},title="Period: " SetVariable Dev1_WFPeriodSet,help={"Period of the waveform generator.\r\rAll the values in the waves selected above \rwill be output once during this time period.\r\rTakes effect when Start is pushed."} SetVariable Dev1_WFPeriodSet,limits={0,inf,0},value= root:Packages:NIDAQTools:Device_Dev1:WFPeriod SetVariable Dev1_WFSetNPeriods,pos={183,141},size={161,16},bodyWidth=60,title="Periods to Generate:" SetVariable Dev1_WFSetNPeriods,limits={0,inf,1},value= root:Packages:NIDAQTools:Device_Dev1:gWFNPeriods CheckBox Dev1_WFExtTimeCheck,pos={22,170},size={105,14},title="External Timebase" CheckBox Dev1_WFExtTimeCheck,help={"Use external sample clock.\r\n\r\nCheck the box if the timing for each\r\nsample of the waveform will be set\r\nby an external signal."} CheckBox Dev1_WFExtTimeCheck,value= 0 SetVariable Dev1_WFExtTBaseSrc,pos={159,170},size={218,16},bodyWidth=131,title="Timebase Source" SetVariable Dev1_WFExtTBaseSrc,value= root:Packages:NIDAQTools:Device_Dev1:gWFSTBaseSrc PopupMenu Dev1_WFTbaseSrcMenu,pos={376,168},size={20,21},bodyWidth=20,proc=WFTimeBaseSrcMenuProc PopupMenu Dev1_WFTbaseSrcMenu,mode=1,popvalue="/PFI6",value= #"\"/PFI5;/ai/SampleClock;/ai/ConvertClock;/Ctr0InternalOutput;/Ctr1InternalOutput\"" CheckBox Dev1_WFTrigger,pos={22,194},size={51,14},title="Trigger" CheckBox Dev1_WFTrigger,help={"Use external trigger to start waveform generation. May be an internal signal like \"/device/ai/StartTrigger\"."} CheckBox Dev1_WFTrigger,value= 0 SetVariable Dev1_WFTriggerSrc,pos={172,194},size={205,16},bodyWidth=131,title="Trigger Source" SetVariable Dev1_WFTriggerSrc,value= root:Packages:NIDAQTools:Device_Dev1:gWFSTriggerSource PopupMenu Dev1_WFTrigSrcMenu,pos={376,192},size={20,21},bodyWidth=20,proc=WFTrigSrcPopMenuProc PopupMenu Dev1_WFTrigSrcMenu,mode=1,popvalue="/PFI6",value= #"\"/PFI6;/ai/StartTrigger;/ai/ReferenceTrigger;/Ctr0InternalOutput;/Ctr1InternalOutput\"" CheckBox Dev1_WFUseOnboardMemoryCheck,pos={22,218},size={125,14},title="Use On-Board Memory" CheckBox Dev1_WFUseOnboardMemoryCheck,help={"Store all waveform samples in memory on the DAQ device for better performance."} CheckBox Dev1_WFUseOnboardMemoryCheck,value= 0 Button Dev1_WFStartButton,pos={113,249},size={50,20},proc=WFStartStopProc,title="Start" Button Dev1_WFStartButton,help={"Push this button to start/stop the waveform generator.\r\rAny time a change is made to the information in this panel,\rthe generator must be stopped and re-started for the changes to have effect."} SetVariable Dev1_WFerrorStringDisp,pos={9,277},size={350,16},title=" " SetVariable Dev1_WFerrorStringDisp,help={"Error message.\r\rIn case of difficulty in the operation of the waveform generator,\rthis box displays an error message.\r\rExplanations for numbered \"NI-DAQ\" errors can be found\rin the NI-DAQ software manual on page B-1."} SetVariable Dev1_WFerrorStringDisp,value= root:Packages:NIDAQTools:Device_Dev1:NIDAQerrorString TitleBox Dev1_WFReadyMsg,pos={174,249},size={51,21},title=" Ready " TitleBox Dev1_WFReadyMsg,labelBack=(0,65535,0) SetWindow kwTopWin,hook=WFGeneratorPanelWindowHook EndMacro #pragma rtGlobals=3 // Use modern global access method and strict wave access. #include #include #include #include #include #include // //Function GoAgain() // //DAQmx_WaveFormGen/DEV="dev2" /CLK={"/dev2/PFI5", 0} /TRIG={"/dev3/PFI38", 1, 1} /NPRD=1 /EOSH="endHook()" /ERRH="errorHook()" "root:Trunc2, 0;"//outputWave, Channel // //DAQmx_WaveFormGen/DEV="dev2" /CLK={"/dev3/PFI34", 0} /TRIG={"/dev3/PFI38", 1, 1} /NPRD=1 /EOSH="endHook()" /ERRH="errorHook()" "root:FT_180D_5_8338_5V_Trunc, 0"//;Trunc3, 1"//outputWave, Channel // //fDAQmx_WaveformStart("dev2", 1)//This approach doesn't work as after the number of specified periods things don't repeat // //endHook() // //If the waveform is actually 16667 and you truncate it to 16200 there is enough time to reset. However, at 60 us this translates to a 28 ms offset but as the waveform gets larger, how does this scale? 25 ms seems ok // fDAQmx_WaveformStop("dev2") // DAQmx_WaveFormGen/DEV="dev2" /CLK={"/dev2/PFI5", 0} /TRIG={"/dev2/PFI6"} /NPRD=1 /EOSH="endHook()" /ERRH="errorHook()" "root:FT_Seq_5_8338_7s, 0;"//outputWave, Channel // fDAQmx_CTR_Start("dev2", 0) // //DAQmx_WaveFormGen/DEV="dev4" /CLK={"/dev4/PFI5", 0} /TRIG={"/dev4/PFI6"} /NPRD=1 /ERRH="errorHook()" "root:FT_Seq_5_8338_7s, 0;"//outputWave, Channel // // //End Function SetupTriggeredOutput() //https://www.wavemetrics.com/forum/general/function-work-strings-list String/G outList Variable/G waveCount Variable/G curWaveIndex outList = "Sweep;Dummy;Sweep;Sweep" waveCount = ItemsInList(outList) curWaveIndex = 0 End Function RunPulseGen() resetDevice() SetupTriggeredOutput() CountEdges() End Function CountEdges() //DAQmx_CTR_CountEdges requires an external time base which can be problematic and adds complexity //It is for this reason that DAQmx_Scan was chosen. Make/O/N=2 DummyCountHi, DummyCountLo SetScale/P x, 0,0.000001, DummyCountHi // 2 us x spacing SetScale/P x, 0,0.000001, DummyCountLo // 2 us x spacing // the /TRIG flag is {pin, type of trigger 1 is digital and 2 is analog, 1 is rising edge and 0 is falling} DAQmx_Scan/DEV="dev1"/RPT /TRIG={"/dev1/PFI6", 1, 1} /ERRH="errorHook()" /RPTH="StartHook()"/STRT WAVES = "DummyCountHi, 0" //Falling edge -- reset the output wave //Doesn't look like you can call more than one Scan event at a time. //DAQmx_Scan/DEV="dev1"/RPT /TRIG={"/dev1/PFI5", 1, 0} /ERRH="errorHook()" /RPTH="SetWaveHookBeta()"/STRT WAVES = "DummyCountLo, 0" End Function SetWaveHookBeta() print("Set Wave Hook Beta") End Function StartHookBeta() print("Start Hook Beta") End Function StartHook() NVAR waveCount NVAR curWaveIndex SVAR outList //get wave to output String outWaveName outWaveName = StringFromList(curWaveIndex,outList) outWaveName += ", 0;" print("Outputting: "+outWaveName) curWaveIndex +=1//for the next iteration //try to stop any output waveforms--needed otherwise the system will bork when trying to run the next waveform. fDAQmx_WaveformStop("dev1") if(curWaveIndex>waveCount) print("Waveform cycle complete") //fDAQmx_WaveformStop("dev1") //print(fDAQmx_ErrorString()) //Sleep/B/C=2/S/Q 2 //resetDevice() //This would be the logical call but it seems to crash IGOR fDAQmx_WriteChan("dev1", 0, 0, -5, 5) else DAQmx_WaveFormGen/DEV="dev1" /NPRD=0 /ERRH="errorHook()" outWaveName//outputWave, Channel endif End Function SetupDevice() Make/O/N=2000 DummyWave SetScale/P x, 0,0.005, DummyWave String EOSH = "GoAgain()" DAQmx_Scan/DEV="dev1"/BKG /EOSH=EOSH WAVES="DummyWave, 0" End Function TestWG() resetDevice() Variable numPeriods = 1//set to 0 for infinite String EOSH//, EOSH2 try EOSH="endHook()" DAQmx_WaveFormGen/DEV="dev1" /NPRD=(numPeriods) /EOSH=EOSH /ERRH="errorHook()" "root:Pulse_B10_O6_6138, 0;"//outputWave, Channel //Reset values to 0 by calling the endHook() Function catch print fDAQmx_ErrorString() endtry End Function TestWG_Trig() resetDevice() Variable numPeriods = 1//set to 0 for infinite String EOSH//, EOSH2 String outputWave outputWave = "root:Pulse_B10_O6_6138, 0;"//place wave name into a variable as a test try EOSH="endHook()" DAQmx_WaveFormGen/DEV="dev1" /NPRD=(numPeriods) /TRIG={"/dev1/PFI5", 1, 1} /EOSH=EOSH /ERRH="errorHook()" outputWave//outputWave, Channel //Reset values to 0 by calling the endHook() Function catch print fDAQmx_ErrorString() endtry End Function resetDevice() Variable resetRtn fDAQmx_WaveformStop("dev1") resetRtn = fDAQmx_ResetDevice("dev1") print("Reset Return: "+num2str(resetRtn)) End Function errorHook() print(fDAQmx_ErrorString()) resetDevice() print "Error..resetting" End Function endHook() resetDevice() print("Complete") End //Function endHook2() // GoAgain2() //End