#include "eyemap.h" #include "ui_eyemap.h" #include #include EyeMap::EyeMap(QWidget *parent) : QWidget(parent), ui(new Ui::EyeMap) { ui->setupUi(this); m_logger = spdlog::get("OSC"); if(m_logger == nullptr) { SPDLOG_ERROR("获取 OSC logger 失败"); return; } /* 自定义大小 */ setFixedSize(1600, 900); SPDLOG_LOGGER_INFO(m_logger, "EyeMap 初始化成功"); OscData.initOsc(); if(OscData.openOSC()) { SPDLOG_LOGGER_INFO(m_logger, "打开示波器成功"); } else { SPDLOG_LOGGER_ERROR(m_logger, "打开示波器失败"); return; } /* 获取零电压值 */ OscData.getZeroVoltage(); OscData.printZeroVoltage(OscChannel::CH_A); OscData.printZeroVoltage(OscChannel::CH_B); /* 获取电压校准系数 */ OscData.getVoltageCalibration(); 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_8V); OscData.setChannelATrigger(true); OscData.setChannelCoupling(OscChannel::CH_A, OscChannelCoupling::DC); OscData.setChannelCoupling(OscChannel::CH_B, OscChannelCoupling::DC); OscData.setTriggerMode(OscTriggerMode::TM_RISE); OscData.setTriggerLevel(128); OscData.setTriggerSensitivity(OscTriggerSensitivity::TS_LOW); OscData.startCapture(); } EyeMap::~EyeMap() { if(OscData.isOpen()) { OscData.closeOSC(); } delete ui; } /** * @brief 绘制图形 * * @param event */ void EyeMap::paintEvent(QPaintEvent *event) { QPainter painter(this); /* 绘制背景 */ painter.setRenderHint(QPainter::Antialiasing, true); painter.setPen(QPen(Qt::blue, 1, Qt::SolidLine)); painter.setBrush(QBrush(Qt::black, Qt::SolidPattern)); painter.drawRect(0, 0, 1600, 900); /* 绘制刻度 */ /* 绘制网格 */ /* 绘制眼图 */ }