added AD9833 and DS1809 support
This commit is contained in:
@ -112,7 +112,7 @@ def send_task_command(prt, sending_param):
|
||||
|
||||
|
||||
|
||||
def start_ramp_max(prt, freq_hz=None, duty=None, saw_step=None, pat_period=None, pat_period_base=None, dac_clk_hz=None, triangle=True, sram_mode=False, sram_samples=None, sram_hold=None):
|
||||
def start_ramp_max(prt, freq_hz=None, duty=None, saw_step=None, pat_period=None, pat_period_base=None, dac_clk_hz=None, triangle=True, sram_mode=False, sram_samples=None, sram_hold=None, sram_amplitude=None):
|
||||
# Start AD9102 sawtooth with configurable frequency/duty or SRAM ramp mode
|
||||
if sram_mode:
|
||||
if sram_hold is None:
|
||||
@ -121,8 +121,9 @@ def start_ramp_max(prt, freq_hz=None, duty=None, saw_step=None, pat_period=None,
|
||||
if dac_clk_hz is None:
|
||||
dac_clk_hz = cmd.AD9102_DAC_CLK_HZ
|
||||
sram_samples = cmd.calc_sram_samples_for_freq(freq_hz, dac_clk_hz, sram_hold)
|
||||
hexstring = cmd.create_AD9833_ramp_command(enable=True, triangle=triangle, sram_mode=True,
|
||||
sram_samples=sram_samples, sram_hold=sram_hold)
|
||||
hexstring = cmd.create_AD9102_ramp_command(enable=True, triangle=triangle, sram_mode=True,
|
||||
sram_samples=sram_samples, sram_hold=sram_hold,
|
||||
sram_amplitude=sram_amplitude)
|
||||
else:
|
||||
if pat_period_base is None:
|
||||
pat_period_base = cmd.AD9102_PAT_PERIOD_BASE_DEFAULT
|
||||
@ -136,8 +137,23 @@ def start_ramp_max(prt, freq_hz=None, duty=None, saw_step=None, pat_period=None,
|
||||
pat_period = cmd.calc_pat_period_for_duty(saw_step, duty, pat_period_base, triangle)
|
||||
if pat_period is None:
|
||||
pat_period = cmd.AD9102_PAT_PERIOD_DEFAULT
|
||||
hexstring = cmd.create_AD9833_ramp_command(saw_step, pat_period, pat_period_base,
|
||||
hexstring = cmd.create_AD9102_ramp_command(saw_step, pat_period, pat_period_base,
|
||||
enable=True, triangle=triangle)
|
||||
cmd.send_AD9102(prt, hexstring)
|
||||
time.sleep(WAIT_AFTER_SEND)
|
||||
status = cmd.get_STATE(prt).hex()
|
||||
if status is not None:
|
||||
print("Received: STATE. State status:", cmd.decode_STATE(status), "("+cmd.flipfour(status)+")")
|
||||
print("")
|
||||
else:
|
||||
print("")
|
||||
|
||||
|
||||
def start_ad9833_ramp(prt, freq_hz=None, mclk_hz=None, triangle=True, enable=True):
|
||||
if freq_hz is None:
|
||||
freq_hz = 0.0
|
||||
hexstring = cmd.create_AD9833_ramp_command(freq_hz=freq_hz, mclk_hz=mclk_hz,
|
||||
enable=enable, triangle=triangle)
|
||||
cmd.send_AD9833(prt, hexstring)
|
||||
time.sleep(WAIT_AFTER_SEND)
|
||||
status = cmd.get_STATE(prt).hex()
|
||||
@ -148,6 +164,18 @@ def start_ramp_max(prt, freq_hz=None, duty=None, saw_step=None, pat_period=None,
|
||||
print("")
|
||||
|
||||
|
||||
def send_ds1809_pulse(prt, uc=False, dc=False, count=1, pulse_ms=None):
|
||||
hexstring = cmd.create_DS1809_pulse_command(uc=uc, dc=dc, count=count, pulse_ms=pulse_ms)
|
||||
cmd.send_DS1809(prt, hexstring)
|
||||
time.sleep(WAIT_AFTER_SEND)
|
||||
status = cmd.get_STATE(prt).hex()
|
||||
if status is not None:
|
||||
print("Received: STATE. State status:", cmd.decode_STATE(status), "("+cmd.flipfour(status)+")")
|
||||
print("")
|
||||
else:
|
||||
print("")
|
||||
|
||||
|
||||
def request_data(prt):
|
||||
# Request data
|
||||
cmd.send_TRANS_ENABLE(prt)
|
||||
|
||||
Reference in New Issue
Block a user