14 #include "userfuncsynth.h"
15 #include "charinterface.h"
18 REGISTER_TYPE(
XDriverList, WAVEFACTORY,
"NF WAVE-FACTORY pulse generator");
20 XWAVEFACTORY::XWAVEFACTORY(
const char *name,
bool runtime,
21 Transaction &tr_meas,
const shared_ptr<XMeasure> &meas) :
25 tr[ *
function()].add(
"SINUSOID");
26 tr[ *
function()].add(
"TRIANGLE");
27 tr[ *
function()].add(
"SQUARE");
28 tr[ *
function()].add(
"PRAMP");
29 tr[ *
function()].add(
"NRAMP");
30 tr[ *
function()].add(
"USER");
31 tr[ *
function()].add(
"VSQUARE");
32 tr[ *mode()].add(
"NORMAL");
33 tr[ *mode()].add(
"BURST");
34 tr[ *mode()].add(
"SWEEP");
35 tr[ *mode()].add(
"MODULATION");
36 tr[ *mode()].add(
"NOISE");
37 tr[ *mode()].add(
"DC");
53 interface()->sendf(
"SIG %d", shot[ *
output()] ? 1 : 0);
58 interface()->send(
"TRG 1");
63 interface()->sendf(
"OMO %d", (
int)shot[ *mode()]);
68 interface()->sendf(
"FNC %d", (
int)shot[ *
function()] + 1);
73 interface()->sendf(
"FRQ %e" , (
double)shot[ *
freq()]);
78 interface()->sendf(
"AMV %e" , (
double)shot[ *
amp()]);
83 interface()->sendf(
"PHS %e" , (
double)shot[ *
phase()]);
88 interface()->sendf(
"OFS %e" , (
double)shot[ *
offset()]);