test_read_write.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:nidaqmx-python 作者: ni 项目源码 文件源码
def test_pulse_freq_1_samp(self, x_series_device, seed):
        # Reset the pseudorandom number generator with seed.
        random.seed(seed)

        frequency = random.uniform(100, 1000)
        duty_cycle = random.uniform(0.2, 0.8)
        starting_edge = random.choice([Edge.RISING, Edge.FALLING])

        # Select random counters from the device.
        counters = random.sample(self._get_device_counters(x_series_device), 2)

        with nidaqmx.Task() as write_task, nidaqmx.Task() as read_task:
            write_task.co_channels.add_co_pulse_chan_freq(
                counters[0], freq=frequency, duty_cycle=duty_cycle)
            write_task.timing.cfg_implicit_timing(
                sample_mode=AcquisitionType.CONTINUOUS)

            read_task.ci_channels.add_ci_pulse_chan_freq(
                counters[1], min_val=100, max_val=1000)
            read_task.ci_channels.all.ci_pulse_freq_term = (
                '/{0}InternalOutput'.format(counters[0]))
            read_task.ci_channels.all.ci_pulse_freq_starting_edge = (
                starting_edge)

            read_task.start()
            write_task.start()

            value_read = read_task.read(timeout=2)
            write_task.stop()

            assert numpy.isclose(value_read.freq, frequency, rtol=0.01)
            assert numpy.isclose(value_read.duty_cycle, duty_cycle, rtol=0.01)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号