Skip to content

国仪量子CRS项目的API调用demo,python版本

Notifications You must be signed in to change notification settings

ciqtek/CRS_API_DEMO_PYTHON

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CRS API 调用流程说明

我们将按功能来说明API的调用顺序。

AWG

C++:

  • 调用 CRS_InitDevice 初始化 SDK 和设备
  • 调用 CRS_ConnectDievce 与设备建立通信连接
  • 调用 CRS_SetCRSParams 设置工作状态和参数,如果只使用 AWG 功能参数设置如下
Params p;
p.broadcastMode = 0;
p.isDDSModeOpen = 0;
p.isAWGModeOpen = 1;
p.isDAQModeOpen = 0;
for (int i = 0; i < 8; ++i)
{
    p.ASGChannelState[i] = 0;
}
  • 调用 CRS_SetAWGBiases 设置 AWG 未播放状态时的默认电平
  • 调用 CRS_LoadCodeToDevice 将 AWG 波形代码传入SDK 进行处理
  • 调用 CRS_StartBroadcast 开始播放
  • 调用 CRS_StopBroadcast 停止播放
  • 调用 CRS_CloseDevice 断开与设备间的通信

具体参考示例:

Python

  • 首先实例化一个 CRSDevice 对象 device = CRSDevice()
  • 调用 init_device 初始化 SDK 和设备
  • 调用 connect_device 与设备建立通信连接
  • 调用 set_CRS_params 设置工作状态和参数,如果只使用 AWG 功能参数设置如下
param = Params()
param.broadcastMode = 0
param.isDDSModeOpen = 0
param.isDAQModeOpen = 0
param.isAWGModeOpen = 1
param.ASGChannelState = (c_ushort * 8)(0,0,0,0,0,0,0,0)
  • 调用 set_AWG_biases 设置 AWG 未播放状态时的默认电平
  • 调用 load_code_to_device 将 AWG 波形代码传入SDK 进行处理
  • 调用 start 开始播放
  • 调用 stop 停止播放
  • 调用 close_device 断开与设备间的通信

具体参考示例:example_AWG.py

ASG

C++

  • 调用 CRS_InitDevice 初始化SDK和设备
  • 调用 CRS_ConnectDievce 与设备建立通信连接
  • 调用 CRS_SetCRSParams 设置工作状态和参数,如果只使用 ASG 功能参数设置如下
Params p;
p.broadcastMode = 0;
p.isDDSModeOpen = 0;
p.isAWGModeOpen = 0;
p.isDAQModeOpen = 0;
for (int i = 0; i < 8; ++i)
{
    p.ASGChannelState[i] = 1;
}
  • 调用 CRS_SetASGDefauleLevel 设置 ASG 默认电平
  • 调用 CRS_ASGPulseDownload 下载 ASG 数据
  • 调用 CRS_StartBroadcast 开始播放
  • 调用 CRS_StopBroadcast 停止播放
  • 调用 CRS_CloseDevice 断开与设备间的通信

具体参考示例:

Python

  • 首先实例化一个 CRSDevice 对象 device = CRSDevice()
  • 调用 init_device 初始化 SDK 和设备
  • 调用 connect_device 与设备建立通信连接
  • 调用 set_CRS_params 设置工作状态和参数,如果只使用AWG功能参数设置如下
param = Params()
param.broadcastMode = 0
param.isDDSModeOpen = 0
param.isDAQModeOpen = 0
param.isAWGModeOpen = 0
param.ASGChannelState = (c_ushort * 8)(1,1,1,1,1,1,1,1)
  • 调用 set_ASG_default 设置 ASG 默认电平
  • 调用 download_ASG_pulse_data 下载 ASG 数据
  • 调用 start 开始播放
  • 调用 stop 停止播放
  • 调用 close_device 断开与设备间的通信

具体参考示例:example_ASG.py

DAQ

C++

  • 调用 CRS_InitDevice 初始化 SDK 和设备
  • 调用 CRS_ConnectDievce 与设备建立通信连接
  • 调用 CRS_SetCRSParams 设置工作状态和参数,如果只使用 DAQ 功能参数设置如下
Params p;
p.broadcastMode = 0;
p.isDDSModeOpen = 0;
p.isAWGModeOpen = 0;
p.isDAQModeOpen = 1;
for (int i = 0; i < 8; ++i)
{
    p.ASGChannelState[i] = 0;
}
  • 调用 CRS_ADCENSignalDownload 下载 DAQ 数据
  • 调用 CRS_SetDAQCallbackFunc 设置回调函数,建议启动一个线程来处理采集到的数据
  • 调用 CRS_SetStatusCallback 设置状态回调,当缓存区数据溢出时该回调会被触发
  • 调用 CRS_StartBroadcast 开始播放
  • 调用 CRS_StopBroadcast 停止播放
  • 调用 CRS_CloseDevice 断开与设备间的通信

具体参考示例:

Python

  • 首先实例化一个 CRSDevice 对象 device = CRSDevice()
  • 调用 init_device 初始化 SDK 和设备
  • 调用 connect_device 与设备建立通信连接
  • 调用 set_CRS_params 设置工作状态和参数,如果只使用 DAQ 功能参数设置如下
param = Params()
param.broadcastMode = 0
param.isDDSModeOpen = 0
param.isDAQModeOpen = 1
param.isAWGModeOpen = 0
param.ASGChannelState = (c_ushort * 8)(0,0,0,0,0,0,0,0)
  • 调用 download_ADC_data 设置 AWG 未播放状态时的默认电平
  • 调用 set_DAQ_callback 设置回调函数,建议启动一个线程来处理采集到的数据
  • 调用 set_status_callback 设置状态回调,当缓存区数据溢出时该回调会被触发
  • 调用 start 开始播放
  • 调用 stop 停止播放
  • 调用 close_device 断开与设备间的通信

具体参考示例:example_DAQ.py

DDS

C++

  • 调用 CRS_InitDevice 初始化 SDK 和设备
  • 调用 CRS_ConnectDievce 与设备建立通信连接
  • 调用 CRS_SetCRSParams 设置工作状态和参数,如果只使用 DDS 功能参数设置如下
Params p;
p.broadcastMode = 0;
p.isDDSModeOpen = 1;
p.isAWGModeOpen = 0;
p.isDAQModeOpen = 0;
for (int i = 0; i < 8; ++i)
{
    p.ASGChannelState[i] = 0;
}
  • 调用 CRS_SetDDSAWGMode 设置 DDS 参数
  • 调用 CRS_StartBroadcast 开始播放
  • 调用 CRS_StopBroadcast 停止播放
  • 调用 CRS_CloseDevice 断开与设备间的通信

具体参考示例:

Python

  • 首先实例化一个 CRSDevice 对象 device = CRSDevice()
  • 调用 init_device 初始化 SDK 和设备
  • 调用 connect_device 与设备建立通信连接
  • 调用 set_CRS_params 设置工作状态和参数,如果只使用 DDS 功能参数设置如下
param = Params()
param.broadcastMode = 0
param.isDDSModeOpen = 1
param.isDAQModeOpen = 0
param.isAWGModeOpen = 0
param.ASGChannelState = (c_ushort * 8)(0,0,0,0,0,0,0,0)
  • 调用 set_DDS_AWG_mode 设置 DDS 参数
  • 调用 start 开始播放
  • 调用 stop 停止播放
  • 调用 close_device 断开与设备间的通信

具体参考示例:example_DDS.py

TDC

C++

  • 调用 CRS_InitDevice 初始化SDK和设备
  • 调用 CRS_ConnectDievce 与设备建立通信连接
  • 调用 CRS_SetCRSParams 设置工作状态和参数,如果只使用 TDC 功能参数设置如下
Params p;
p.broadcastMode = 0;
p.isDDSModeOpen = 0;
p.isAWGModeOpen = 0;
p.isDAQModeOpen = 0;
for (int i = 0; i < 8; ++i)
{
    p.ASGChannelState[i] = 0;
}
  • 调用 CRS_TDCDownloadCalibration 设置 TDC 校准数据
  • 调用 CRS_SetTDCParams 设置 TDC 参数
  • 调用 CRS_SetTDCCallbackFunc 设置 TDC 的数据回调函数
  • 调用 CRS_SetStatusCallback 设置状态回调,当缓存区数据溢出时该回调会被触发
  • 调用 CRS_StartBroadcast 开始播放
  • 调用 CRS_StopBroadcast 停止播放
  • 调用 CRS_CloseDevice 断开与设备间的通信 具体参考示例:

Python

  • 首先实例化一个 CRSDevice 对象 device = CRSDevice()
  • 调用 init_device 初始化 SDK 和设备
  • 调用 connect_device 与设备建立通信连接
  • 调用 set_CRS_params 设置工作状态和参数,如果只使用 TDC 功能参数设置如下
param = Params()
param.broadcastMode = 0
param.isDDSModeOpen = 0
param.isDAQModeOpen = 0
param.isAWGModeOpen = 0
param.ASGChannelState = (c_ushort * 8)(0,0,0,0,0,0,0,0)
  • 调用 download_TDC_calibration 设置 TDC 校准数据
  • 调用 set_TDC_params 设置 TDC 参数
  • 调用 set_TDC_callback 设置 TDC 的数据回调函数
  • 调用 set_status_callback 设置状态回调,当缓存区数据溢出时该回调会被触发
  • 调用 start 开始播放
  • 调用 stop 停止播放
  • 调用 close_device 断开与设备间的通信

具体参考示例:example_TDC.py

About

国仪量子CRS项目的API调用demo,python版本

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published