|
|
@ -7,51 +7,35 @@ |
|
|
|
|
|
|
|
using namespace iflytop; |
|
|
|
using namespace syncbox16chsdk; |
|
|
|
#define TAG "SyncBox16CH"
|
|
|
|
|
|
|
|
typedef enum { |
|
|
|
// 自定义
|
|
|
|
koutput_pluse_type_custom, |
|
|
|
// 方波
|
|
|
|
koutput_pluse_type_square_wave, |
|
|
|
} OutputPluseType_t; |
|
|
|
|
|
|
|
static OutputPluseType_t outputPluseTypeStr2Enum(QString str) { |
|
|
|
if (str == "自定义") { |
|
|
|
return koutput_pluse_type_custom; |
|
|
|
} else if (str == "方波") { |
|
|
|
return koutput_pluse_type_square_wave; |
|
|
|
} else { |
|
|
|
return koutput_pluse_type_custom; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
static QString outputPluseType2Str(OutputPluseType_t type) { |
|
|
|
switch (type) { |
|
|
|
case koutput_pluse_type_custom: |
|
|
|
return "自定义"; |
|
|
|
case koutput_pluse_type_square_wave: |
|
|
|
return "方波"; |
|
|
|
default: |
|
|
|
return "自定义"; |
|
|
|
} |
|
|
|
} |
|
|
|
#define SDK SyncBox16ChSDK::ins()
|
|
|
|
|
|
|
|
SyncBox16CH::SyncBox16CH(QWidget *parent) : QWidget(parent), ui(new Ui::SyncBox16CH) { |
|
|
|
ui->setupUi(this); |
|
|
|
ZLOGI(TAG,"Hello"); |
|
|
|
{ |
|
|
|
//
|
|
|
|
// ui->StateGB->hide();
|
|
|
|
ui->OutputModeVal->addItems(QStringListValueOf(WorkModeStrList())); |
|
|
|
|
|
|
|
ui->OutputPluseTypeVal->addItem(outputPluseType2Str(koutput_pluse_type_custom)); |
|
|
|
ui->OutputPluseTypeVal->addItem(outputPluseType2Str(koutput_pluse_type_square_wave)); |
|
|
|
// ui->OutputPluseTypeVal->addItem(outputPluseType2Str(koutput_pluse_type_custom));
|
|
|
|
// ui->OutputPluseTypeVal->addItem(outputPluseType2Str(koutput_pluse_type_square_wave));
|
|
|
|
|
|
|
|
ui->OutputPluseWidthVal->setText("1"); |
|
|
|
ui->OutputPluseNumVal->setText("1"); |
|
|
|
ui->OutputPluseFreqVal->setText("1000"); |
|
|
|
} |
|
|
|
SDK->getCmder()->regStateCbFn([this](bool connect) { |
|
|
|
if (connect) { |
|
|
|
ZQUI::ins()->setDeviceConnectedStatus(true); |
|
|
|
} else { |
|
|
|
ZQUI::ins()->setDeviceConnectedStatus(false); |
|
|
|
} |
|
|
|
}); |
|
|
|
SDK->initialize(); |
|
|
|
|
|
|
|
ZQUI::ins()->mainW()->setVersionInfo(1, "APP_VERSION", "1.0.0"); |
|
|
|
// ZQUI::ins()->mainW()->setVersionInfo(1, "APP_VERSION", "1.0.0");
|
|
|
|
} |
|
|
|
|
|
|
|
SyncBox16CH::~SyncBox16CH() { delete ui; } |
|
|
@ -59,8 +43,8 @@ SyncBox16CH::~SyncBox16CH() { delete ui; } |
|
|
|
void SyncBox16CH::on_OutputModeVal_currentIndexChanged(const QString &arg1) { onModeChange(); } |
|
|
|
void SyncBox16CH::on_OutputPluseTypeVal_currentIndexChanged(const QString &arg1) { onModeChange(); } |
|
|
|
void SyncBox16CH::onModeChange() { |
|
|
|
WorkMode_t outputMode = syncbox16chsdk::WorkModeValueOf(ui->OutputModeVal->currentText().toStdString().c_str()); |
|
|
|
OutputPluseType_t outputPluseType = outputPluseTypeStr2Enum(ui->OutputPluseTypeVal->currentText()); |
|
|
|
WorkMode_t outputMode = syncbox16chsdk::WorkModeValueOf(ui->OutputModeVal->currentText().toStdString().c_str()); |
|
|
|
// OutputPluseType_t outputPluseType = outputPluseTypeStr2Enum(ui->OutputPluseTypeVal->currentText());
|
|
|
|
|
|
|
|
// kWorkMode_extCpyMode,
|
|
|
|
// kWorkMode_extTriMode,
|
|
|
@ -79,28 +63,38 @@ void SyncBox16CH::onModeChange() { |
|
|
|
// 脉冲频率
|
|
|
|
ui->OutputPluseFreqTag->hide(); |
|
|
|
ui->OutputPluseFreqVal->hide(); |
|
|
|
} else if (outputMode == kWorkMode_manualTriMode || outputMode == kWorkMode_extTriMode) { |
|
|
|
} else if (outputMode == kWorkMode_manualTriMode) { |
|
|
|
// 脉冲数量
|
|
|
|
ui->OutputPluseNumVal->show(); |
|
|
|
ui->OutputPluseNumTag->show(); |
|
|
|
// 脉冲宽度
|
|
|
|
if (outputPluseType == koutput_pluse_type_custom) { |
|
|
|
ui->OutputPluseWidthVal->show(); |
|
|
|
ui->OutputPluseWidthTag->show(); |
|
|
|
} else if (outputPluseType == koutput_pluse_type_square_wave) { |
|
|
|
ui->OutputPluseWidthVal->hide(); |
|
|
|
ui->OutputPluseWidthTag->hide(); |
|
|
|
} |
|
|
|
// 脉冲类型
|
|
|
|
ui->OutputPluseTypeVal->show(); |
|
|
|
ui->OutputPluseTypeTag->show(); |
|
|
|
ui->OutputPluseWidthVal->show(); |
|
|
|
ui->OutputPluseWidthTag->show(); |
|
|
|
// 脉冲频率
|
|
|
|
ui->OutputPluseFreqTag->show(); |
|
|
|
ui->OutputPluseFreqVal->show(); |
|
|
|
} else if (outputMode == kWorkMode_extTriMode) { |
|
|
|
// 脉冲数量
|
|
|
|
ui->OutputPluseNumVal->show(); |
|
|
|
ui->OutputPluseNumTag->show(); |
|
|
|
// 脉冲宽度
|
|
|
|
ui->OutputPluseWidthVal->show(); |
|
|
|
ui->OutputPluseWidthTag->show(); |
|
|
|
// 脉冲频率
|
|
|
|
ui->OutputPluseFreqTag->hide(); |
|
|
|
ui->OutputPluseFreqVal->hide(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void SyncBox16CH::on_SendButton_clicked() { |
|
|
|
ICLEAR(); |
|
|
|
ISHOW("on send button"); |
|
|
|
|
|
|
|
WorkMode_t outputMode = syncbox16chsdk::WorkModeValueOf(ui->OutputModeVal->currentText()); |
|
|
|
uint32_t outputPluseWidthUs = zstr2int(ui->OutputPluseWidthVal->text()); |
|
|
|
uint32_t outputPluseNum = zstr2int(ui->OutputPluseNumVal->text()); |
|
|
|
|
|
|
|
if (outputMode == kWorkMode_extTriMode && outputPluseNum == 0) { |
|
|
|
ISHOW_ERROR("外部触发模式下,脉冲数量不能为0"); |
|
|
|
return; |
|
|
|
} |
|
|
|
} |