123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- #include "oscwidget.h"
- #include "ui_oscwidget.h"
- #include "OscData.h"
- #include <QPainter>
- OscWidget::OscWidget(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::OscWidget)
- {
- ui->setupUi(this);
- m_logger = spdlog::get("OSC");
- if(m_logger == nullptr)
- {
- SPDLOG_ERROR("获取 OSC logger 失败");
- return;
- }
- /* 自定义大小 */
- // setFixedSize(1920, 1080);
- /* 设置眼图窗口 */
- m_eyeMap = new OneEyeMap(ui->widget_display);
- m_eyeMap->setGeometry(0, 0, ui->widget_display->width(), ui->widget_display->height());
- /* 添加下拉框的选项 */
- ui->comboBox_time->addItem("0.05us");
- ui->comboBox_time->addItem("0.1us");
- ui->comboBox_time->addItem("0.2us");
- ui->comboBox_time->addItem("0.5us");
- ui->comboBox_time->addItem("1us");
- ui->comboBox_time->addItem("2us");
- ui->comboBox_time->addItem("5us");
- ui->comboBox_time->addItem("10us");
- ui->comboBox_time->addItem("20us");
-
- m_mapTime.insert("0.05us", 50);
- m_mapTime.insert("0.1us", 100);
- m_mapTime.insert("0.2us", 200);
- m_mapTime.insert("0.5us", 500);
- m_mapTime.insert("1us", 1000);
- m_mapTime.insert("2us", 2000);
- m_mapTime.insert("5us", 5000);
- m_mapTime.insert("10us", 10000);
- m_mapTime.insert("20us", 20000);
-
- SPDLOG_LOGGER_INFO(m_logger, "EyeMap 初始化成功");
- OscData.initOsc();
- if(OscData.openOSC())
- {
- SPDLOG_LOGGER_INFO(m_logger, "打开示波器成功");
- } else {
- SPDLOG_LOGGER_ERROR(m_logger, "打开示波器失败");
- return;
- }
- /* 获取零电压值 */
- OscData.printZeroVoltage(OscChannel::CH_A);
- OscData.printZeroVoltage(OscChannel::CH_B);
- /* 获取电压校准系数 */
- OscData.printVoltageCalibration(OscChannel::CH_A);
- OscData.printVoltageCalibration(OscChannel::CH_B);
- /* 设置示波器参数 */
- // OscData.setExternalTrigger(false);
- // OscData.setTriggerPosition(0, 0); /* 在中间位置触发 */
- OscData.setSampleRate(OscSampleRate::SR_100MHZ);
- OscData.setChannelARange(OscChannelRange::CR_5V);
- // OscData.setChannelATrigger(true);
- // OscData.setChannelCoupling(OscChannel::CH_A, OscChannelCoupling::DC);
- // OscData.setChannelCoupling(OscChannel::CH_B, OscChannelCoupling::DC);
- // OscData.setTriggerMode(OscTriggerMode::TM_RISE);
- // OscData.setTriggerLevel(150);
- // OscData.setTriggerSensitivity(OscTriggerSensitivity::TS_HIGH);
-
- // OscData.startCapture();
- }
- OscWidget::~OscWidget()
- {
- if(OscData.isOpen())
- {
- OscData.closeOSC();
- }
- delete ui;
- }
- void OscWidget::on_pBtn_startCap_clicked()
- {
- SPDLOG_LOGGER_INFO(m_logger, "开始采集数据");
- OscParams.oneGridTime = m_mapTime[ui->comboBox_time->currentText()];
- OscData.startCapture();
- }
- void OscWidget::on_pBtn_resetCap_clicked()
- {
- SPDLOG_LOGGER_INFO(m_logger, "重新采集数据");
- OscData.stopCapture();
- g_eyeMapMatrix.initEyeMapData(ui->widget_display->width(), ui->widget_display->height());
- g_eyeDataMatrix.initEyeData();
- update();
- OscParams.oneGridTime = m_mapTime[ui->comboBox_time->currentText()];
- OscData.startCapture();
- }
- void OscWidget::on_pBtn_stopCap_clicked()
- {
- SPDLOG_LOGGER_INFO(m_logger, "停止采集");
- OscData.stopCapture();
-
- update();
- }
- /**
- * @brief 绘制刻度
- *
- */
- void OscWidget::paintEvent(QPaintEvent *event)
- {
- QPainter painter(this);
-
- }
|