Qt+TieQPieHS3开发笔记(一):TiePie HS3介绍、下载sdk和基础开发环境Demo

若该文为原创文章,转载请注明原文出处

本文章博客地址:https://hpzwl.blog.csdn.net/article/details/166990299

长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...

Qt开发专栏:三方库开发技术

上一篇:没有了

下一篇:敬请期待...

前言

  本文介绍 TiePie Handyscope HS3 一体化 USB 虚拟采集仪器开发。

TiePie Handyscope HS3

概述

  Handyscope HS3 是荷兰 TiePie 推出的 USB 总线一体化虚拟测量仪器,集成双通道示波器采集模块与内置任意波形发生器(AWG)。硬件最高采样率 100MS/s,模拟带宽 50MHz,任意波形输出最高可达 2MHz,全部信号通道通过 BNC 接口引出,由 USB 完成供电与数据传输。 设备提供原生二次开发 DLL 接口,支持自定义波形生成、采集时序控制、原始信号读取,非常适合 PC 端自研测量系统,将信号激励与数据采集合并在同一台硬件内。

特点

  • 激励与采集一体化:单台设备同时具备波形输出与双通道同步采集能力,省去分立信号源、独立采集卡两套硬件,简化外部接线与同步调试。
  • 原生同步时序:波形发生器输出与采集通道硬件级同步,规避多设备之间时钟不同步带来的相位偏差,适合需要激励 - 回波时序对齐的测量。
  • 轻量化 USB 方案:USB 供电,无需额外外接电源,便携,适合实验室原型快速搭建,方便外场试验验证。
  • 开放二次开发接口:提供 Windows 平台 DLL,支持C/C++、Qt、C#等语言调用,可绕过官方 GUI 软件,直接控制硬件、读取原始采样数据。
  • 多仪器合一:硬件底层同时具备示波器、频谱分析仪、瞬态记录仪、万用表功能,一套硬件可适配多种测量需求。
  • BNC 标准接口:通用 BNC 模拟接口,可直接连接各类探头、信号前端,硬件适配性强

场景

  这类一体化虚拟仪器非常适合自研测量系统原型开发,在电磁涡流、超声波无损检测的信号采集中,可使用该设备作为前端激励与采集单元,替代分立信号源+采集卡组合,简化硬件链路,方便算法快速迭代验证。

  

  

下载SDK

  官网:https://www.tiepie.com/en/usb-oscilloscope/handyscope-hs3

  SDK归档页:https://www.tiepie.com/en/download/archive

  

  

  

  下载下来:

  

基础开发环境Demo

步骤一:下载sdk

  

步骤二:通过def生成lib

  只给了def,没有lib,所以要使用vs将def生成对应lib:

  

  打开vs2019相关的工具:

  

  进入工具cmd:

  

  切换目录:

  

  执行def生成lib指令:

  

  

步骤三:.pri模块引入头文件和库文件

  

步骤四:编译报错,需c++17

  编译报错:

  

  添加c++17的支持:

  

  通过。

步骤五:测试基础环境

  同一个设备存在多个角色,手上的就是可以是示波器,还有一个信号源发生器,所以需要兼容:

  

  可以一个句柄当两个设备打开:

  

步骤六:运行结果

  

模块化

  

Demo源码

cpp 复制代码
void Hs3Manager::testEvn()
{
   	// sdk版本
    LOG << QSTRING("Library version: %1.%2.%3")
           .arg(TIEPIE_HW_VERSION_MAJOR)
           .arg(TIEPIE_HW_VERSION_MINOR)
           .arg(TIEPIE_HW_VERSION_PATCH);

    // 步骤一: 初始化sdk
    TiePie::Hardware::Library::init();

    // 步骤二: 允许探测开启
    TiePie::Hardware::Network::setAutoDetectEnabled(true);

    // 步骤三: 刷新设备列表(探测刷新)
    TiePie::Hardware::DeviceList::update();

    // 步骤四: 循环打印所有设备信息
    for(int index = 0; index < TiePie::Hardware::DeviceList::count(); index++)
    {
        // 获取项目智能(默认返回就是智能指针)
        std::unique_ptr<TiePie::Hardware::DeviceListItem> pItemPtr = TiePie::Hardware::DeviceList::getItemByIndex(index);
        if(!pItemPtr)
        {
            LOG << index << "if(!pItemPtr)";
            continue;
        }
        // 打印设备基础信息
        TiePie::Hardware::DeviceListItem *pItem = pItemPtr.get();
        LOG << QString("===== 设备[%1] =====").arg(index);
        LOG << QString("设备名称:%1").arg(QString::fromStdString(pItem->name()));
        LOG << QString("序列号:%1").arg(pItem->serialNumber());

        QStringList strList;
        {
            if(pItem->types() & TIEPIE_HW_DEVICETYPE_OSCILLOSCOPE)
            {
               strList << QSTRING("Oscilloscope(示波器)");
            }
            if(pItem->types() & TIEPIE_HW_DEVICETYPE_GENERATOR)
            {
               strList << QSTRING("Generator(信号源)");
            }
            if(strList.size() == 0)
            {
                strList << QSTRING("Unknow");
            }
        }
                             ;
        LOG << QString("有效类型:%1").arg(strList.join(","));
    }

    // 步骤五: 释放sdk
    TiePie::Hardware::Library::fini();
}

工程模板v1.0.0

  

上一篇:没有了

下一篇:敬请期待...

本文章博客地址:https://hpzwl.blog.csdn.net/article/details/166990299

相关推荐
云卷云舒___________2 个月前
MiniMax H3全模态视频模型屠榜、字节跳动Seedance 2.5紧急推出、华为开源盘古2.0 Pro | 8月1日 AI日报
华为·字节跳动·minimax·ai日报·h3·seedance2.5·盘古20pro