ledset
This commit is contained in:
parent
d5d5984aa5
commit
a9b29230e8
|
@ -48,18 +48,15 @@ ExpertScreenConnWin::ExpertScreenConnWin(QWidget *parent) : QSplitter{parent} {
|
|||
lb = new QLabel(tr("卡列数: "));
|
||||
hh->addWidget(lb);
|
||||
|
||||
auto fdCardColNum = new QSpinBox;
|
||||
fdCardColNum = new QSpinBox;
|
||||
fdCardColNum->setRange(0, 9999);
|
||||
fdCardColNum->setValue(2);
|
||||
// connect(fdCardColNum, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, this, [this](int value) {
|
||||
// table->setColumnCount(value);
|
||||
// });
|
||||
hh->addWidget(fdCardColNum);
|
||||
|
||||
lb = new QLabel(tr("卡行数: "));
|
||||
hh->addWidget(lb);
|
||||
|
||||
auto fdCardRowNum = new QSpinBox;
|
||||
fdCardRowNum = new QSpinBox;
|
||||
fdCardRowNum->setRange(0, 9999);
|
||||
fdCardRowNum->setValue(2);
|
||||
hh->addWidget(fdCardRowNum);
|
||||
|
@ -172,13 +169,18 @@ ExpertScreenConnWin::ExpertScreenConnWin(QWidget *parent) : QSplitter{parent} {
|
|||
table = new CardTable(fdCardRowNum->value(), fdCardColNum->value());
|
||||
table->win = this;
|
||||
table->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
||||
table->horizontalHeader()->setDefaultSectionSize(90);
|
||||
table->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
|
||||
table->verticalHeader()->setDefaultSectionSize(90);
|
||||
table->verticalHeader()->setSectionResizeMode(QHeaderView::Fixed);
|
||||
table->verticalHeader()->setMinimumWidth(30);
|
||||
table->setSelectionMode(QTableWidget::NoSelection);
|
||||
connect(table, &QTableWidget::currentCellChanged, this, &ExpertScreenConnWin::conn);
|
||||
table->setColWidth(90)->setColResize(QHeaderView::Fixed)->setRowHeight(90)->setRowResize(QHeaderView::Fixed);
|
||||
table->verticalHeader()->setMinimumWidth(30);
|
||||
connect(table, &QTableWidget::currentCellChanged, this, [=](int row, int column) {
|
||||
if(row < 0) return;
|
||||
auto item = table->item(row, column);
|
||||
if(item) return;
|
||||
auto netIdx = fdNet->checkedId();
|
||||
netss[netIdx].emplace_back(QPoint(column, row));
|
||||
updCell(row, column, netIdx);
|
||||
table->update();
|
||||
});
|
||||
connect(fdCardColNum, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, table, &QTableWidget::setColumnCount);
|
||||
connect(fdCardRowNum, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, table, &QTableWidget::setRowCount);
|
||||
addWidget(table);
|
||||
|
@ -188,20 +190,12 @@ ExpertScreenConnWin::ExpertScreenConnWin(QWidget *parent) : QSplitter{parent} {
|
|||
setSizes({280, 1});
|
||||
}
|
||||
|
||||
void ExpertScreenConnWin::conn(int row, int column) {
|
||||
if(row < 0) return;
|
||||
auto item = table->item(row, column);
|
||||
if(item) return;
|
||||
auto netIdx = fdNet->checkedId();
|
||||
netss[netIdx].emplace_back(QPoint(column, row));
|
||||
item = new QTableWidgetItem("网口: "+QString::number(netIdx+1)+"\n"+tr("接收卡: ")+QString::number(netss[netIdx].size())+"\n"+tr("宽度: ")+QString::number(fdCardWidth->value())+"\n高度: "+QString::number(fdCardHeight->value()));
|
||||
void ExpertScreenConnWin::updCell(int row, int column, int netIdx) {
|
||||
auto item = table->setText(row, column, "网口: "+QString::number(netIdx+1)+"\n"+tr("接收卡: ")+QString::number(netss[netIdx].size())+"\n"+tr("宽度: ")+QString::number(fdCardWidth->value())+"\n高度: "+QString::number(fdCardHeight->value()), netIdx);
|
||||
auto color = cardColors[netIdx % (sizeof(cardColors)/sizeof(cardColors[0]))];
|
||||
item->setForeground(QColor(255,255,255));
|
||||
color.setAlpha(100);
|
||||
item->setBackground(color);
|
||||
item->setData(Qt::UserRole, netIdx);
|
||||
table->setItem(row, column, item);
|
||||
table->update();
|
||||
item->setForeground(QColor(255,255,255));
|
||||
}
|
||||
void ExpertScreenConnWin::connBack() {
|
||||
auto netIdx = fdNet->checkedId();
|
||||
|
@ -264,3 +258,22 @@ void CardTable::DrawLineWithArrow(QPainter& painter, QPen pen, QPoint start, QPo
|
|||
painter.drawLine(line);
|
||||
painter.drawPolygon(arrowHead);
|
||||
}
|
||||
//added by alahover 20230903 -s
|
||||
//根据JObj初始化重绘表格
|
||||
void::ExpertScreenConnWin::InitByJObj(const JObj &obj) {
|
||||
auto boxList = obj["boxList"].toArray();
|
||||
qDebug()<<"由JObj初始化表格"<<boxList.size();
|
||||
if(boxList.empty()) return;
|
||||
fdCardColNum->setValue(boxList[0]["ScreenCol"].toInt());
|
||||
fdCardRowNum->setValue(boxList[0]["ScreenRow"].toInt());
|
||||
fdCardWidth->setValue(boxList[0]["ModuleWidth"].toInt());
|
||||
fdCardHeight->setValue(boxList[0]["ModuleHeight"].toInt());
|
||||
for(auto &box : boxList) {
|
||||
auto PortId = box["PortId"].toInt();
|
||||
auto ScreenPosCol = box["ScreenPosCol"].toInt();
|
||||
auto ScreenPosRow = box["ScreenPosRow"].toInt();
|
||||
netss[PortId].emplace_back(QPoint{ScreenPosCol, ScreenPosRow});
|
||||
updCell(ScreenPosRow, ScreenPosCol, PortId);
|
||||
}
|
||||
}
|
||||
//added by alahover 20230903 -o
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
#ifndef EXPERTSCREENCONNWIN_H
|
||||
#define EXPERTSCREENCONNWIN_H
|
||||
|
||||
#include "gutil/qjson.h"
|
||||
#include "gutil/qgui.h"
|
||||
#include <QSplitter>
|
||||
#include <QTableWidget>
|
||||
#include <QSpinBox>
|
||||
#include <QButtonGroup>
|
||||
|
||||
|
@ -11,19 +12,19 @@ class ExpertScreenConnWin : public QSplitter {
|
|||
Q_OBJECT
|
||||
public:
|
||||
explicit ExpertScreenConnWin(QWidget *parent = nullptr);
|
||||
void conn(int row, int column);
|
||||
void updCell(int row, int column, int);
|
||||
void connBack();
|
||||
QButtonGroup *fdNet;
|
||||
QSpinBox *fdCardWidth;
|
||||
QSpinBox *fdCardHeight;
|
||||
QSpinBox *fdCardColNum, *fdCardRowNum, *fdCardWidth, *fdCardHeight;
|
||||
CardTable *table;
|
||||
std::vector<QPoint> netss[4]{};
|
||||
|
||||
void InitByJObj(const JObj &obj);
|
||||
};
|
||||
|
||||
class CardTable : public QTableWidget {
|
||||
class CardTable : public Table {
|
||||
public:
|
||||
explicit CardTable(QWidget *parent = nullptr) : QTableWidget{parent} {}
|
||||
CardTable(int rows, int columns, QWidget *parent = nullptr) : QTableWidget{rows, columns, parent} {}
|
||||
using Table::Table;
|
||||
ExpertScreenConnWin *win;
|
||||
private:
|
||||
void DrawLineWithArrow(QPainter& painter, QPen pen, QPoint start, QPoint end);
|
||||
|
|
|
@ -815,12 +815,14 @@ ExpertSmartPointSetWin::ExpertSmartPointSetWin(ExpertWin *expertWin) : BaseWin{e
|
|||
check = (quint32_be*)(msg.data()+headMap.end+modMap.end);
|
||||
*check = crc32_calc((byte*)msg.data()+headMap.body, modMap.end+6);
|
||||
res12 = *(quint32_be*)(unitptr+modUnitMap.smartsetRes);
|
||||
|
||||
auto waitingDlg = new WaitingDlg(this, tr("Setting")+" ...");
|
||||
auto res = sendMsgSync(msg, 0x1EA, 10000, waitingDlg);
|
||||
if(res.code==5) {QMessageBox::critical(this, "Error", tr("请求超时")); return;}
|
||||
else if(res.code) {QMessageBox::critical(this, "Error", QString(tr("发送失败: "))+QString::fromLocal8Bit(pcap_geterr(pcapSend))); return;}
|
||||
waitingDlg->close();
|
||||
if(expertWin->m_iRcvCardType!=enum_zrf)//added by alahover 20230904
|
||||
{
|
||||
auto waitingDlg = new WaitingDlg(this, tr("Setting")+" ...");
|
||||
auto res = sendMsgSync(msg, 0x1EA, 10000, waitingDlg);
|
||||
if(res.code==5) {QMessageBox::critical(this, "Error", tr("请求超时")); return;}
|
||||
else if(res.code) {QMessageBox::critical(this, "Error", QString(tr("发送失败: "))+QString::fromLocal8Bit(pcap_geterr(pcapSend))); return;}
|
||||
waitingDlg->close();
|
||||
}
|
||||
} else if(idx==1) {
|
||||
DataPolarity = fdDataPolarity->checkedId();
|
||||
res12 &= ~(1u<<31);
|
||||
|
@ -898,12 +900,17 @@ int ExpertSmartPointSetWin::send(uint ptr, const std::initializer_list<uint> &da
|
|||
check = (quint32_be*)(msg.data()+msg.size()-4);
|
||||
*check = crc32_calc((byte*)msg.data()+headMap.body, msg.size()-4-headMap.body);
|
||||
|
||||
auto waitingDlg = new WaitingDlg(this, tr("Setting")+" ...");
|
||||
auto res = sendMsgSync(msg, 0x1EA, 10000, waitingDlg);
|
||||
if(res.code==5) QMessageBox::critical(this, "Error", tr("请求超时"));
|
||||
else if(res.code) QMessageBox::critical(this, "Error", QString(tr("发送失败: "))+QString::fromLocal8Bit(pcap_geterr(pcapSend)));
|
||||
else waitingDlg->close();
|
||||
return res.code;
|
||||
if(expertWin->m_iRcvCardType!=enum_zrf)//added by alahover 20230904
|
||||
{
|
||||
auto waitingDlg = new WaitingDlg(this, tr("Setting")+" ...");
|
||||
auto res = sendMsgSync(msg, 0x1EA, 10000, waitingDlg);
|
||||
if(res.code==5) QMessageBox::critical(this, "Error", tr("请求超时"));
|
||||
else if(res.code) QMessageBox::critical(this, "Error", QString(tr("发送失败: "))+QString::fromLocal8Bit(pcap_geterr(pcapSend)));
|
||||
else waitingDlg->close();
|
||||
return res.code;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ExpertSmartPointSetWin::save() {
|
||||
|
@ -974,6 +981,7 @@ void ExpertSmartPointSetWin::save() {
|
|||
expertWin->fdGroupNum->setText(QString::number(GroupNum));
|
||||
expertWin->fdScanNum->setText(QString::number(ScanNum));
|
||||
expertWin->fdChipType->setText(ChipType);
|
||||
expertWin->m_effectStack->setCurrentIndex(GetIcTypeFromName(ChipType));
|
||||
expertWin->fdDecodeMode->setText(DecodeMode);
|
||||
|
||||
QString strLine1,strLine2,strLine3,strLine4;
|
||||
|
|
|
@ -17,9 +17,12 @@
|
|||
#include <QMessageBox>
|
||||
#include <QFileDialog>
|
||||
#include <QSplitter>
|
||||
#include "efffrefr.h"
|
||||
#include "globalfunc.h"
|
||||
|
||||
#include "ic_ui/normaleffectwin.h"
|
||||
#include "ic_ui/pwmeffectwin.h"
|
||||
#include "ic_ui/doublelatcheffectwin.h"
|
||||
NormalEffectWin *normalPanel ;
|
||||
PwmEffectWin *pwmPanel ;
|
||||
DoubleLatchEffectWin *doublelatchPanel ;
|
||||
auto zrf_param_msg = QByteArray::fromHex( "20 00 06 20 10 10 00 E4 06 FF FF FF FF 00 00 80 80 80 00 00 00 1F 00 00 00 3C 01 33 00 00 00 80 00 00 12 05 00 00 00 01 "
|
||||
"02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 01 00 00 00 00 10 00 00 20 00 "
|
||||
"00 30 00 00 40 00 00 50 00 00 60 00 00 70 00 00 80 00 00 90 00 00 A0 00 00 B0 00 00 C0 00 00 D0 00 00 F0 00 00 00 01 00 "
|
||||
|
@ -32,44 +35,25 @@ auto zrf_param_msg = QByteArray::fromHex( "20 00 06 20 10 10 00 E4 06 FF FF FF
|
|||
ExpertWin::ExpertWin(QWidget *parent, int rcvCardType) : BaseWin{parent}, m_iRcvCardType{rcvCardType} {
|
||||
setAttribute(Qt::WA_DeleteOnClose);
|
||||
setWindowTitle("专家调屏");
|
||||
resize(900, 720);
|
||||
resize(900, 680);
|
||||
qDebug()<<"rcvCardType"<<rcvCardType;
|
||||
//added by alahover -s 20230829
|
||||
//初始化变量
|
||||
for(int i=0;i<256;i++)
|
||||
{
|
||||
zrf_rcv_obj.p_x[i]=0;
|
||||
zrf_rcv_obj.p_y[i]=0;
|
||||
zrf_rcv_obj.p_w[i]=256;
|
||||
zrf_rcv_obj.p_h[i]=1024;
|
||||
zrf_rcv_obj.p_posNum[i]=0;
|
||||
}
|
||||
for(int i=0;i<2048;i++)
|
||||
{
|
||||
zrf_rcv_obj.m_pixelPos[i][0]=i%256;//描点参数中一点占用 2字节(8bit 列 + 8 bit 行)
|
||||
zrf_rcv_obj.m_pixelPos[i][1]=0;//描点参数中一点占用 2字节(8bit 列 + 8 bit 行)
|
||||
}
|
||||
GammaGen(zrf_rcv_obj.g_all,(float)2.2,65535);
|
||||
GammaGen(zrf_rcv_obj.g_red,(float)2.2,65535);
|
||||
GammaGen(zrf_rcv_obj.g_green,(float)2.2,65535);
|
||||
GammaGen(zrf_rcv_obj.g_blue,(float)2.2,65535);
|
||||
changeValueBySmart();
|
||||
//added by alahover -o 20230829
|
||||
|
||||
auto vBox = new QVBoxLayout(center);
|
||||
vBox->setContentsMargins(0,0,0,0);
|
||||
vBox->setSpacing(3);
|
||||
vBox->addLayout(addBtns(new QHBoxLayout()));
|
||||
|
||||
auto tab = new QTabWidget;
|
||||
tab->setIconSize(QSize(48, 24));
|
||||
tab->setStyleSheet(R"rrr(
|
||||
QTabWidget::pane {border: 1px solid #888; margin-top:-1px;}
|
||||
QTabBar::tab {margin-top: 4px; padding: 6px 20px; border: 1px solid #888; border-radius: 0 0 3px 3px;}
|
||||
QTabBar::tab:selected {margin-top: 0; border-bottom: none; color: #acf; background-color: #000;}
|
||||
QTabBar::tab:selected {margin-top: 0; border-bottom: none; color: #acf; background-color: #666;}
|
||||
)rrr");
|
||||
vBox->addWidget(tab);
|
||||
|
||||
auto sendPanel = new ExpertSendPanel;
|
||||
tab->addTab(sendPanel, "发送设备");
|
||||
tab->addTab(sendPanel, QIcon(":/imgs/mainsend.png"), "发送设备");
|
||||
{
|
||||
auto file = QApplication::applicationDirPath()+"/temp.screen";
|
||||
QFile qFile(file);
|
||||
|
@ -92,10 +76,35 @@ QTabBar::tab:selected {margin-top: 0; border-bottom: none; color: #acf; backgrou
|
|||
if(! json.empty()) mModule = json;
|
||||
}
|
||||
}
|
||||
//added by alahover -s 20230829
|
||||
if(m_iRcvCardType== enum_zrf)//added by alahover 20230901
|
||||
{
|
||||
//初始化变量
|
||||
for(int i=0;i<256;i++)
|
||||
{
|
||||
zrf_rcv_obj.p_x[i]=0;
|
||||
zrf_rcv_obj.p_y[i]=0;
|
||||
zrf_rcv_obj.p_w[i]=256;
|
||||
zrf_rcv_obj.p_h[i]=1024;
|
||||
zrf_rcv_obj.p_posNum[i]=0;
|
||||
}
|
||||
for(int i=0;i<2048;i++)
|
||||
{
|
||||
zrf_rcv_obj.m_pixelPos[i][0]=i%256;//描点参数中一点占用 2字节(8bit 列 + 8 bit 行)
|
||||
zrf_rcv_obj.m_pixelPos[i][1]=0;//描点参数中一点占用 2字节(8bit 列 + 8 bit 行)
|
||||
}
|
||||
|
||||
GammaGen(zrf_rcv_obj.g_all,(float)2.2,65535);
|
||||
GammaGen(zrf_rcv_obj.g_red,(float)2.2,65535);
|
||||
GammaGen(zrf_rcv_obj.g_green,(float)2.2,65535);
|
||||
GammaGen(zrf_rcv_obj.g_blue,(float)2.2,65535);
|
||||
changeValueBySmart();
|
||||
}
|
||||
//added by alahover -o 20230829
|
||||
}
|
||||
|
||||
auto receivePanel = new QWidget;
|
||||
tab->addTab(receivePanel, "接收卡");
|
||||
tab->addTab(receivePanel, QIcon(":/imgs/rcv.png"), "接收卡");
|
||||
{
|
||||
auto vBox = new VBox(receivePanel);
|
||||
vBox->setContentsMargins(4, 4, 4, 4);
|
||||
|
@ -179,6 +188,13 @@ QTabBar::tab:selected {margin-top: 0; border-bottom: none; color: #acf; backgrou
|
|||
|
||||
btn = new QPushButton("模组选择");
|
||||
btn->setProperty("ss","blue");
|
||||
connect(btn, &QPushButton::clicked, this, [=] {
|
||||
//弹出模组选择对话框,可搜索查找,和下拉在厂家列表中选择
|
||||
|
||||
//选择模组后,根据模组的信息,修改相应的obj和界面
|
||||
fdChipType->setText("ICN2053");
|
||||
m_effectStack->setCurrentIndex(GetIcTypeFromName(fdChipType->text()));
|
||||
});
|
||||
vvv->addWidget(btn);
|
||||
|
||||
btn = new QPushButton("智能设置");
|
||||
|
@ -308,294 +324,25 @@ QTabBar::tab:selected {margin-top: 0; border-bottom: none; color: #acf; backgrou
|
|||
});
|
||||
if(cfg["is_irr"].toBool()) fdAdvacned->setChecked(true);
|
||||
}
|
||||
|
||||
gBox = new QGroupBox(tr("效果测试"));
|
||||
//modified by alahover -s 20230830
|
||||
gBox = new QGroupBox("效果参数");
|
||||
vBox->addWidget(gBox);
|
||||
{
|
||||
if(m_iRcvCardType == enum_zrf) {
|
||||
auto vBox1=new VBox(gBox);
|
||||
auto hh = new HBox(vBox1);
|
||||
hh->addSpacing(20);
|
||||
//第一列区域
|
||||
auto vvv = new VBox(hh);
|
||||
//1.1.移位时钟频率
|
||||
auto hhh = new HBox(vvv);
|
||||
auto lb = new QLabel(tr("DCLK频率:"));
|
||||
hhh->addWidget(lb);
|
||||
cbDCLKf = new QComboBox(); cbDCLKf->addItem("31.2M");cbDCLKf->addItem("25M");cbDCLKf->addItem("20.83M");cbDCLKf->addItem("17.86M");cbDCLKf->addItem("15.63M");cbDCLKf->addItem("12.5M");cbDCLKf->addItem("10.42M");cbDCLKf->addItem("8.9M");
|
||||
cbDCLKf->addItem("7.8M");cbDCLKf->addItem("6.25M");;cbDCLKf->addItem("5.2M");;cbDCLKf->addItem("4.5M");;cbDCLKf->addItem("3.9M");;cbDCLKf->addItem("3.125M"); ;cbDCLKf->addItem("1.9M"); ;cbDCLKf->addItem("1M"); hhh->addWidget(cbDCLKf);
|
||||
//1.2.灰度级别
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("灰度级数:")); hhh->addWidget(lb);
|
||||
cbGryLevel = new QComboBox(); cbGryLevel->addItem("无灰度"); cbGryLevel->addItem("无OE8级");cbGryLevel->addItem("无OE16级");cbGryLevel->addItem("无OE32级");cbGryLevel->addItem("无OE64级");cbGryLevel->addItem("正常16级"); cbGryLevel->addItem("高亮16级");cbGryLevel->addItem("正常32级");
|
||||
cbGryLevel->addItem("高亮32级");cbGryLevel->addItem("正常64级");cbGryLevel->addItem("高亮64级");cbGryLevel->addItem("正常128级");cbGryLevel->addItem("高亮128级");cbGryLevel->addItem("正常256级");cbGryLevel->addItem("高亮256级");cbGryLevel->addItem("正常512级");
|
||||
cbGryLevel->addItem("高亮512级");cbGryLevel->addItem("正常1024级");cbGryLevel->addItem("高亮1024级");cbGryLevel->addItem("低亮2048级");cbGryLevel->addItem("正常2048级");cbGryLevel->addItem("高亮2048级");cbGryLevel->addItem("低亮4096级");cbGryLevel->addItem("正常4096级");
|
||||
cbGryLevel->addItem("高亮4096级");cbGryLevel->addItem("低亮8192级");cbGryLevel->addItem("正常8192级");cbGryLevel->addItem("高亮8192级");cbGryLevel->addItem("低亮16384级");cbGryLevel->addItem("正常16384");cbGryLevel->addItem("正常32768级");cbGryLevel->addItem("正常65535级"); hhh->addWidget(cbGryLevel);
|
||||
//1.3.刷新倍率
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("刷新倍率:")); hhh->addWidget(lb);
|
||||
freshBeiLv = new QComboBox(); freshBeiLv->addItem("20");freshBeiLv->addItem("24");freshBeiLv->addItem("28");freshBeiLv->addItem("32");freshBeiLv->addItem("36");freshBeiLv->addItem("40");freshBeiLv->addItem("44");freshBeiLv->addItem("48");freshBeiLv->addItem("64M"); hhh->addWidget(freshBeiLv);
|
||||
//1.4.换行时间
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("换行时间(ns):")); hhh->addWidget(lb);
|
||||
spinLineNs = new QSpinBox; spinLineNs->setRange(2, 9999); hhh->addWidget(spinLineNs);
|
||||
//1.5.换行位置
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("换行位置(ns):")); hhh->addWidget(lb);
|
||||
spinLineWz = new QSpinBox; spinLineWz->setRange(2, 9999); hhh->addWidget(spinLineWz);
|
||||
//1.6.行消隐时间
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行消隐时间(ns):")); hhh->addWidget(lb);
|
||||
spinLineXy = new QSpinBox; spinLineWz->setRange(2, 9999); hhh->addWidget(spinLineXy);
|
||||
auto hh = new HBox(gBox);
|
||||
m_effectStack = new QStackedWidget;
|
||||
auto poli = m_effectStack->sizePolicy();
|
||||
poli.setVerticalPolicy(QSizePolicy::Maximum);
|
||||
m_effectStack->setSizePolicy(poli);
|
||||
hh->addWidget(m_effectStack);
|
||||
|
||||
//第二列区域
|
||||
hh->addSpacing(20);
|
||||
vvv = new VBox(hh);
|
||||
//2.1.无信号数据
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("无信号数据:")); hhh->addWidget(lb);
|
||||
cbNoSign = new QComboBox();
|
||||
cbNoSign->addItem("最后一帧画面");
|
||||
cbNoSign->addItem("黑屏");
|
||||
hhh->addWidget(cbNoSign);
|
||||
//2.2.显卡同步
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("显卡同步")); hhh->addWidget(lb);
|
||||
checkSyncXianKa = new QCheckBox; checkSyncXianKa->setChecked(true); hhh->addWidget(checkSyncXianKa);
|
||||
//2.3.开屏渐亮
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("双卡备份")); hhh->addWidget(lb);
|
||||
checkDoubleCopy = new QCheckBox; checkDoubleCopy->setChecked(false); hhh->addWidget(checkDoubleCopy);
|
||||
//2.4.开屏渐亮
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("开屏渐亮")); hhh->addWidget(lb);
|
||||
checkJianLiang = new QCheckBox; checkSyncXianKa->setChecked(false); hhh->addWidget(checkJianLiang);
|
||||
//2.5.D信号为第二组时钟
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("信号为第二组时钟")); hhh->addWidget(lb);
|
||||
checkDsignalAsCLk = new QCheckBox; checkDsignalAsCLk->setChecked(false); hhh->addWidget(checkDsignalAsCLk);
|
||||
normalPanel = new NormalEffectWin(this);
|
||||
m_effectStack->addWidget(normalPanel);
|
||||
pwmPanel = new PwmEffectWin(this);
|
||||
m_effectStack->addWidget(pwmPanel);
|
||||
doublelatchPanel = new DoubleLatchEffectWin(this);
|
||||
m_effectStack->addWidget(doublelatchPanel);
|
||||
|
||||
//更多设置
|
||||
hh->addStretch();
|
||||
vvv = new VBox(hh);
|
||||
vvv->addStretch();
|
||||
hhh = new HBox(vvv);
|
||||
auto btn = new QPushButton(tr("更多设置"));
|
||||
btn->setProperty("ss","blue");
|
||||
hhh->addWidget(btn);
|
||||
btn = new QPushButton(tr("亮度设置"));
|
||||
btn->setProperty("ss","blue");
|
||||
vvv->addWidget(btn);
|
||||
btn = new QPushButton(tr("Gamma设置"));
|
||||
btn->setProperty("ss","blue");
|
||||
vvv->addWidget(btn);
|
||||
btn = new QPushButton(tr("电流增益设置"));
|
||||
btn->setProperty("ss","blue");
|
||||
vvv->addWidget(btn);
|
||||
|
||||
|
||||
vvv->addStretch();
|
||||
hh->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
//分割线
|
||||
auto hh3 = new HBox(vvv);
|
||||
QFrame * line2 = new QFrame();
|
||||
line2->setFrameShape(QFrame::VLine);
|
||||
line2->setFrameShadow(QFrame::Sunken);
|
||||
line2->setStyleSheet("background-color:#222;");
|
||||
hh3->addWidget(line2);
|
||||
|
||||
//第三列区域
|
||||
vvv = new VBox(hh);
|
||||
//3.1.DCLK相位
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("DCLK相位:")); hhh->addWidget(lb);
|
||||
cbDclkXw = new QComboBox(); cbDclkXw->addItem("0度");cbDclkXw->addItem("+90度");cbDclkXw->addItem("-90度"); hhh->addWidget(cbDclkXw);
|
||||
//3.2.DCLK占空比
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("DCLK占空比:")); hhh->addWidget(lb);
|
||||
cbDclkZkb = new QComboBox(); cbDclkZkb->addItem("50%");cbDclkZkb->addItem("25%");cbDclkZkb->addItem("75%"); hhh->addWidget(cbDclkZkb);
|
||||
//3.3.锁存STB相位微调
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("锁存STB相位微调:")); hhh->addWidget(lb);
|
||||
cbStb = new QComboBox(); cbStb->addItem("不调整");cbStb->addItem("前移1个时钟");cbStb->addItem("前移2个时钟");cbStb->addItem("前移3个时钟");cbStb->addItem("后移1个时钟");cbStb->addItem("后移2个时钟");cbStb->addItem("后移3个时钟"); hhh->addWidget(cbStb);
|
||||
//3.4.行信号DE相位微调
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行信号DE相位微调:")); hhh->addWidget(lb);
|
||||
cbDE = new QComboBox(); cbDE->addItem("不调整");cbDE->addItem("前移1个时钟");cbDE->addItem("前移2个时钟");cbDE->addItem("前移3个时钟");cbDE->addItem("后移1个时钟");cbDE->addItem("后移2个时钟");cbDE->addItem("后移3个时钟"); hhh->addWidget(cbDE);
|
||||
//3.5.行信号ABC相位微调
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行信号ABC相位微调:")); hhh->addWidget(lb);
|
||||
cbABC = new QComboBox(); cbABC->addItem("不调整");cbABC->addItem("前移1个时钟");cbABC->addItem("前移2个时钟");cbABC->addItem("前移3个时钟");cbABC->addItem("后移1个时钟");cbABC->addItem("后移2个时钟");cbABC->addItem("后移3个时钟"); hhh->addWidget(cbABC);
|
||||
//3.6.单口带载点数
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("单口带载点数:")); hhh->addWidget(lb);
|
||||
spinPointsOnePort = new QSpinBox; spinPointsOnePort->setRange(1, 999); hhh->addWidget(spinPointsOnePort);
|
||||
hh->addSpacing(20);
|
||||
//第四列区域
|
||||
vvv = new VBox(hh);
|
||||
//4.1.消隐电平
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("消隐电平:")); hhh->addWidget(lb);
|
||||
cbXiaoYinDianPing= new QComboBox(); cbXiaoYinDianPing->addItem("高有效");cbXiaoYinDianPing->addItem("低有效"); hhh->addWidget(cbXiaoYinDianPing);
|
||||
//4.2.锁存信号
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("锁存信号:")); hhh->addWidget(lb);
|
||||
cbSTB = new QComboBox(); cbSTB->addItem("正向");cbSTB->addItem("反向"); hhh->addWidget(cbSTB);
|
||||
//4.3.行输出
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行输出:")); hhh->addWidget(lb);
|
||||
cbSRowOut = new QComboBox(); cbSRowOut->addItem("低有效");cbSRowOut->addItem("高有效"); hhh->addWidget(cbSRowOut);
|
||||
//4.4.GCLK频率
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("GCLK频率:"));
|
||||
hhh->addWidget(lb);
|
||||
cbGCLKf = new QComboBox();
|
||||
cbGCLKf->addItem("25M");cbGCLKf->addItem("20.83M");cbGCLKf->addItem("17.86M");cbGCLKf->addItem("15.63M");cbGCLKf->addItem("13.89M");cbGCLKf->addItem("12.5M");cbGCLKf->addItem("11.36M");cbGCLKf->addItem("10.42M");cbGCLKf->addItem("9.62M");
|
||||
hhh->addWidget(cbGCLKf);
|
||||
//4.5.GCLK相位
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("GCLK相位:")); hhh->addWidget(lb);
|
||||
spinGclkXw = new QSpinBox; spinGclkXw->setRange(20, 80); hhh->addWidget(spinGclkXw);
|
||||
//4.6.GCLK占空比
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("GCLK占空比:")); hhh->addWidget(lb);
|
||||
spinGclkZkb = new QSpinBox; spinGclkZkb->setRange(20, 80); hhh->addWidget(spinGclkZkb);
|
||||
|
||||
//分割线
|
||||
auto hh1 = new HBox(vBox1);
|
||||
QFrame * line = new QFrame();
|
||||
line->setFrameShape(QFrame::HLine);
|
||||
line->setFrameShadow(QFrame::Sunken);
|
||||
line->setStyleSheet("background-color:#222;");
|
||||
hh1->addWidget(line);
|
||||
|
||||
auto hh2=new HBox(vBox1);
|
||||
//计算结果竖直信息区
|
||||
auto resultInfo = new HBox(hh2);
|
||||
lb = new QLabel(tr("视觉刷新率:")); resultInfo->addWidget(lb);
|
||||
float freshLv1=Get_Frefr(7/*小数权值*/ , 12/*灰度位宽*/ , 12500000/*移位时钟频率*/ , 240/*扫描长度*/ , 16/*扫描类型*/ , 4/*倍频*/ ); m_ctrlFreshRate = new QLabel(QString::number(freshLv1)); resultInfo->addWidget(m_ctrlFreshRate);
|
||||
resultInfo->addStretch();
|
||||
lb = new QLabel(tr("亮度有效率:")); resultInfo->addWidget(lb);
|
||||
float BrightYouXiaoLv1=Get_Eff(8,16); m_ctrlBrightEff = new QLabel(QString::number(BrightYouXiaoLv1)); resultInfo->addWidget(m_ctrlBrightEff);
|
||||
resultInfo->addStretch();
|
||||
lb = new QLabel(tr("最小OE:")); resultInfo->addWidget(lb);
|
||||
float minOe=Get_Eff(8,16); m_ctrlMinOE = new QLabel(QString::number(minOe)); resultInfo->addWidget(m_ctrlMinOE);
|
||||
resultInfo->addStretch();
|
||||
}
|
||||
else if(m_iRcvCardType == enum_xixun_sync)
|
||||
{
|
||||
auto hh = new HBox(gBox);
|
||||
hh->addSpacing(20);
|
||||
|
||||
auto vvv = new VBox(hh);
|
||||
|
||||
auto hhh = new HBox(vvv);
|
||||
auto lb = new QLabel(tr("DCLK频率:"));
|
||||
hhh->addWidget(lb);
|
||||
auto cbDCLKf = new QComboBox();
|
||||
cbDCLKf->addItem("31.2M");cbDCLKf->addItem("25M");cbDCLKf->addItem("20.83M");cbDCLKf->addItem("17.86M");cbDCLKf->addItem("15.63M");cbDCLKf->addItem("13.89M");cbDCLKf->addItem("12.5M");
|
||||
cbDCLKf->addItem("11.36M");cbDCLKf->addItem("10.42M");cbDCLKf->addItem("9.62M");cbDCLKf->addItem("8.9M");cbDCLKf->addItem("7.8M");cbDCLKf->addItem("6.25M");
|
||||
hhh->addWidget(cbDCLKf);
|
||||
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("DCLK相位:"));
|
||||
hhh->addWidget(lb);
|
||||
auto spinDclkXw = new QSpinBox;
|
||||
spinDclkXw->setRange(0, 99999);
|
||||
hhh->addWidget(spinDclkXw);
|
||||
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("DCLK占空比:"));
|
||||
hhh->addWidget(lb);
|
||||
auto spinDclkZkb = new QSpinBox;
|
||||
spinDclkZkb->setRange(20, 80);
|
||||
hhh->addWidget(spinDclkZkb);
|
||||
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("换行时间(ns):"));
|
||||
hhh->addWidget(lb);
|
||||
auto spinLineNs = new QSpinBox;
|
||||
spinLineNs->setRange(2, 9999);
|
||||
hhh->addWidget(spinLineNs);
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("视觉刷新率:"));
|
||||
hhh->addWidget(lb);
|
||||
float freshLv=Get_Frefr(7/*小数权值*/ , 12/*灰度位宽*/ , 12500000/*移位时钟频率*/ , 240/*扫描长度*/ , 16/*扫描类型*/ , 4/*倍频*/ );
|
||||
qDebug()<<"get_eff="<<freshLv;//QString("%1").arg(temp,0,10);
|
||||
lb = new QLabel(QString::number(freshLv));
|
||||
hhh->addWidget(lb);
|
||||
|
||||
|
||||
|
||||
hh->addSpacing(20);
|
||||
vvv = new VBox(hh);
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("亮度有效率:"));
|
||||
hhh->addWidget(lb);
|
||||
float BrightYouXiaoLv=Get_Eff(8,16);
|
||||
qDebug()<<"get_eff="<<BrightYouXiaoLv;
|
||||
lb = new QLabel(QString::number(BrightYouXiaoLv));
|
||||
hhh->addWidget(lb);
|
||||
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("GCLK频率:"));
|
||||
hhh->addWidget(lb);
|
||||
auto cbGCLKf = new QComboBox();
|
||||
cbGCLKf->addItem("25M");
|
||||
cbGCLKf->addItem("20.83M");
|
||||
cbGCLKf->addItem("17.86M");
|
||||
cbGCLKf->addItem("15.63M");
|
||||
cbGCLKf->addItem("13.89M");
|
||||
cbGCLKf->addItem("12.5M");
|
||||
cbGCLKf->addItem("11.36M");
|
||||
cbGCLKf->addItem("10.42M");
|
||||
cbGCLKf->addItem("9.62M");
|
||||
hhh->addWidget(cbGCLKf);
|
||||
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("灰度级数:"));
|
||||
hhh->addWidget(lb);
|
||||
auto cbGryLevel = new QComboBox();
|
||||
cbGryLevel->addItem("256");
|
||||
cbGryLevel->addItem("1024");
|
||||
cbGryLevel->addItem("4096");
|
||||
cbGryLevel->addItem("8192");
|
||||
cbGryLevel->addItem("16384");
|
||||
cbGryLevel->addItem("32768");
|
||||
cbGryLevel->addItem("65536");
|
||||
hhh->addWidget(cbGryLevel);
|
||||
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("GCLK占空比:"));
|
||||
hhh->addWidget(lb);
|
||||
auto spinGclkZkb = new QSpinBox;
|
||||
spinGclkZkb->setRange(20, 80);
|
||||
hhh->addWidget(spinGclkZkb);
|
||||
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("换行位置(ns):"));
|
||||
hhh->addWidget(lb);
|
||||
auto spinLineWz = new QSpinBox;
|
||||
spinLineWz->setRange(2, 9999);
|
||||
hhh->addWidget(spinLineWz);
|
||||
|
||||
hh->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
hhh = new HBox(vvv);
|
||||
|
||||
auto btn = new QPushButton(tr("更多设置"));
|
||||
btn->setProperty("ss","blue");
|
||||
hhh->addWidget(btn);
|
||||
}
|
||||
}
|
||||
vBox->addStretch();
|
||||
|
||||
auto hBox = new HBox(vBox);
|
||||
|
||||
auto btn = new QPushButton(tr("保存接收卡配置"));
|
||||
btn->setProperty("ss","blue");
|
||||
connect(btn, &QPushButton::clicked, this, [=] {
|
||||
|
@ -646,15 +393,9 @@ QTabBar::tab:selected {margin-top: 0; border-bottom: none; color: #acf; backgrou
|
|||
connect(btn, &QPushButton::clicked, this, [=] {
|
||||
if(m_iRcvCardType == enum_zrf) {
|
||||
//发送基本参数
|
||||
auto zrf_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 ff ff 00 f1 f1 f1 f1 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
auto zrf_cmd_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 00 00 00 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
int res1=0;
|
||||
//发送基本参数
|
||||
MACRO_FUNC_SEND_PARAM("读取基本参数",classToBaseMsg(),1,0x00)
|
||||
//发送gamma参数
|
||||
MACRO_FUNC_SEND_PARAM("读取gamma参数",classToGammaMsg(0,flashPage),2,0x10)
|
||||
//发送描点参数
|
||||
MACRO_FUNC_SEND_PARAM("读取描点参数",classToMiaoDianMsg(flashPage),16,0x30)
|
||||
SendBaseParam_zrf();
|
||||
SendGammaParam_zrf();
|
||||
SendMiaoDianParam_zrf();
|
||||
QMessageBox::information(this, tr("提示"), tr("发送接收卡参数成功"));
|
||||
} else QMessageBox::information(this, tr("提示"), tr("未能识别的控制卡类型"));
|
||||
});
|
||||
|
@ -752,7 +493,7 @@ QTabBar::tab:selected {margin-top: 0; border-bottom: none; color: #acf; backgrou
|
|||
}
|
||||
|
||||
auto connPanel = new QWidget;
|
||||
tab->addTab(connPanel, tr("显示屏连接(正面看屏)"));
|
||||
tab->addTab(connPanel, QIcon(":/imgs/cascade.png"), tr("显示屏连接(正面看屏)"));
|
||||
{
|
||||
auto vBox = new VBox(connPanel);
|
||||
vBox->setContentsMargins(4, 4, 4, 4);
|
||||
|
@ -776,7 +517,17 @@ QTabBar::tab:selected {margin-top: 0; border-bottom: none; color: #acf; backgrou
|
|||
connStack->addWidget(new ExpertScreenConnWin);
|
||||
|
||||
hBox = new HBox(vBox);
|
||||
auto btn = new QPushButton(tr("保存到文件"));
|
||||
auto btn = new QPushButton(tr("从文件载入"));
|
||||
btn->setProperty("ss","blue");
|
||||
connect(btn, &QPushButton::clicked, this, [=] {
|
||||
auto file = QFileDialog::getOpenFileName(this, tr("载入级联文件"), gFileHome, "Kcon文件 (*.kcon)");
|
||||
if(file.isEmpty()) return;
|
||||
GetPaiXuJObjFromName(file);
|
||||
|
||||
});
|
||||
hBox->addWidget(btn);
|
||||
|
||||
btn = new QPushButton(tr("保存到文件"));
|
||||
btn->setProperty("ss","blue");
|
||||
connect(btn, &QPushButton::clicked, this, [=] {
|
||||
auto file = QFileDialog::getSaveFileName(this, tr("保存级联文件"), gFileHome, "Kcon文件 (*.kcon)");
|
||||
|
@ -793,19 +544,15 @@ QTabBar::tab:selected {margin-top: 0; border-bottom: none; color: #acf; backgrou
|
|||
else QMessageBox::information(this, tr("成功"), tr("保存成功"));
|
||||
});
|
||||
hBox->addWidget(btn);
|
||||
|
||||
hBox->addStretch();
|
||||
|
||||
btn = new QPushButton(tr("发送级联参数"));
|
||||
btn->setProperty("ss","blue");
|
||||
connect(btn, &QPushButton::clicked, this, [=] {
|
||||
if(m_iRcvCardType == enum_zrf) {
|
||||
//发送基本参数
|
||||
auto zrf_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 ff ff 00 f1 f1 f1 f1 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
auto zrf_cmd_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 00 00 00 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
int res1=0;
|
||||
//发送排序参数
|
||||
MACRO_FUNC_SEND_PARAM("读取排序参数",classToPaiXuSMsg(flashPage),8,0x20)
|
||||
GetPaiXuJObjFromJObj(connSavedData());//added by alahover 20230903
|
||||
//发送级联参数
|
||||
SendPaiXuParam_zrf();
|
||||
QMessageBox::information(this, tr("提示"), tr("发送级联参数成功"));
|
||||
} else QMessageBox::information(this, tr("提示"), tr("未能识别的控制卡类型"));
|
||||
});
|
||||
|
@ -837,7 +584,7 @@ QTabBar::tab:selected {margin-top: 0; border-bottom: none; color: #acf; backgrou
|
|||
int iTimeout=10000;
|
||||
quint8 flashAddr=0x00;
|
||||
auto zrf_cmd_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 00 00 00 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
auto waitingDlg = new WaitingDlg(this, tr("读取基本参数")+" ...");
|
||||
WaitingDlg * waitingDlg ;
|
||||
//回读排序参数
|
||||
flashAddr=0x20;
|
||||
for(int m=0;m<8;m++){
|
||||
|
@ -852,7 +599,7 @@ QTabBar::tab:selected {margin-top: 0; border-bottom: none; color: #acf; backgrou
|
|||
else {
|
||||
int ioffset=headMap_zrf.paramStart+st_zrf_rb_param.param;
|
||||
QByteArray return_msg=res.msg.mid(ioffset,256);
|
||||
waitingDlg->close(); paiXuMsgToClass((quint8 *)return_msg.data(),flashPage); qDebug()<<tr("回读排序参数成功");
|
||||
waitingDlg->close(); paiXuMsgToClass((quint8 *)return_msg.data(),flashPage); qDebug()<<tr("回读排序参数成功")<<i;
|
||||
qDebug()<<"return_msg = "<<return_msg.toHex();
|
||||
break;
|
||||
}
|
||||
|
@ -911,7 +658,6 @@ QByteArray ExpertWin::savedData() {
|
|||
}
|
||||
JObj ExpertWin::connSavedData() {
|
||||
JArray values;
|
||||
qDebug()<<"connStack->count()"<<connStack->count();
|
||||
for(int ss=0; ss<connStack->count(); ss++) {
|
||||
auto connWin = (ExpertScreenConnWin*) connStack->widget(ss);
|
||||
JArray boxList;
|
||||
|
@ -924,10 +670,10 @@ JObj ExpertWin::connSavedData() {
|
|||
{"ModuleHeight", connWin->fdCardHeight->value()},
|
||||
{"PortId", nn},
|
||||
{"SubId", bb+1},
|
||||
{"ScreenPosRow", pos.x()},
|
||||
{"ScreenPosCol", pos.y()},
|
||||
{"ScreenRow", connWin->table->rowCount()},
|
||||
{"ScreenPosCol", pos.x()},
|
||||
{"ScreenPosRow", pos.y()},
|
||||
{"ScreenCol", connWin->table->columnCount()},
|
||||
{"ScreenRow", connWin->table->rowCount()},
|
||||
{"SettingWidth", connWin->fdCardWidth->value()},
|
||||
{"SettingHeight", connWin->fdCardHeight->value()},
|
||||
{"ScreenIndex", ss}
|
||||
|
@ -940,7 +686,6 @@ JObj ExpertWin::connSavedData() {
|
|||
}
|
||||
return {{"values", values}};
|
||||
}
|
||||
|
||||
void ExpertWin::addMapData(QByteArray &data) {
|
||||
auto ModuleWidth = mModule["ModuleWidth"].toInt();
|
||||
auto ModuleHeight = mModule["ModuleHeight"].toInt();
|
||||
|
@ -1191,7 +936,7 @@ void ExpertWin::classToBaseMsg()
|
|||
*bytePrt= ( zrf_rcv_obj.b168_7_5<<5 & 0b11100000) | ( zrf_rcv_obj.b168_4_0 & 0b00011111);
|
||||
|
||||
bytePrt =unitptr + st_zrf_base_param.b169_redIcParam1;
|
||||
memcpy(bytePrt,(unsigned char *)& zrf_rcv_obj.b169_192[0],24);
|
||||
memcpy(bytePrt,(unsigned char *)& zrf_rcv_obj.b169_192[0],48);
|
||||
|
||||
}
|
||||
void ExpertWin::classToGammaMsg(int iColorType,quint8 flashPage)
|
||||
|
@ -1283,18 +1028,23 @@ void ExpertWin::classToMiaoDianMsg(quint8 flashPage)
|
|||
auto unitptr = (unsigned char *)zrf_param_msg.data();
|
||||
unsigned char * bytePrt = (unsigned char*)(unitptr);
|
||||
|
||||
if(flashPage == 0x30)
|
||||
{
|
||||
memcpy(bytePrt,&zrf_rcv_obj.m_scanIndex , 64);
|
||||
bytePrt += 64;
|
||||
memcpy(bytePrt, &zrf_rcv_obj.m_pixelPos[0][0] , 256-64);
|
||||
}
|
||||
else
|
||||
{
|
||||
int itemp=(flashPage&0x0F) - 1;
|
||||
int itemp2=((itemp*256)/2)+((256-64)/2);
|
||||
// if(flashPage == 0x30)
|
||||
// {
|
||||
// memcpy(bytePrt,&zrf_rcv_obj.m_scanIndex , 64);
|
||||
// bytePrt += 64;
|
||||
// memcpy(bytePrt, &zrf_rcv_obj.m_pixelPos[0][0] , 256-64);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// int itemp=(flashPage&0x0F) - 1;
|
||||
// int itemp2=((itemp*256)/2)+((256-64)/2);
|
||||
// memcpy(bytePrt, &zrf_rcv_obj.m_pixelPos[itemp2][0] , 256);
|
||||
// }
|
||||
|
||||
int itemp=(flashPage&0x0F) ;
|
||||
int itemp2=(itemp*256)/2;
|
||||
memcpy(bytePrt, &zrf_rcv_obj.m_pixelPos[itemp2][0] , 256);
|
||||
}
|
||||
|
||||
}
|
||||
void ExpertWin::baseMsgToClass(quint8 * data)
|
||||
{
|
||||
|
@ -1320,10 +1070,6 @@ void ExpertWin::baseMsgToClass(quint8 * data)
|
|||
zrf_rcv_obj.b7_3_2 = (data[st_zrf_base_param.b7_colorIndex] & 0b00001100) >> 2; //输出数据线2,00:红;01:绿;10:蓝;11:黑;
|
||||
zrf_rcv_obj.b7_1_0 = (data[st_zrf_base_param.b7_colorIndex] & 0b00000011) >> 0; //输出数据线1,00:红;01:绿;10:蓝;11:黑;
|
||||
|
||||
qDebug()<<"***zrf_rcv_obj.b7_7_6="<<zrf_rcv_obj.b7_7_6;
|
||||
qDebug()<<"***zrf_rcv_obj.b7_5_4="<<zrf_rcv_obj.b7_5_4;
|
||||
qDebug()<<"***zrf_rcv_obj.b7_3_2="<<zrf_rcv_obj.b7_3_2;
|
||||
qDebug()<<"***zrf_rcv_obj.b7_1_0="<<zrf_rcv_obj.b7_1_0;
|
||||
zrf_rcv_obj.b8_7 = (data[st_zrf_base_param.b8_dataOutModle] & 0b10000000)>>7; //多种描点数据 :0,关闭;1,启用
|
||||
zrf_rcv_obj.b8_6 = (data[st_zrf_base_param.b8_dataOutModle] & 0b01000000)>>6; //扫描复用模式:0,行扫;1,列扫;
|
||||
zrf_rcv_obj.b8_5_4 = (data[st_zrf_base_param.b8_dataOutModle] & 0b00110000)>>4; //模组级联方向:00:从右往左;01:从上往下;10:从左往右;11:从下往上;
|
||||
|
@ -1391,7 +1137,7 @@ void ExpertWin::baseMsgToClass(quint8 * data)
|
|||
zrf_rcv_obj.b167 = data[st_zrf_base_param.b167_syncPreTime]; //同步预留时间
|
||||
zrf_rcv_obj.b168_7_5 = (data[st_zrf_base_param.b168_reserve] & 0b11100000)>>5; //保留
|
||||
zrf_rcv_obj.b168_4_0 = (data[st_zrf_base_param.b168_reserve] & 0b00011111)>>0; //消隐延迟时间:(输入值+1)*48ns
|
||||
memcpy((qint8*)&zrf_rcv_obj.b169_192[0], &data[st_zrf_base_param.b169_redIcParam1],24);
|
||||
memcpy((qint8*)&zrf_rcv_obj.b169_192[0], (qint8*)&data[st_zrf_base_param.b169_redIcParam1],48);
|
||||
|
||||
SetEffectControlerValueByClass();
|
||||
|
||||
|
@ -1452,16 +1198,18 @@ void ExpertWin::paiXuMsgToClass(quint8 * data,quint8 flashPage)
|
|||
}
|
||||
void ExpertWin::miaoDianMsgToClass(quint8 * data, quint8 flashPage)
|
||||
{
|
||||
if(flashPage == 0x30)//flashpage 0x30
|
||||
{
|
||||
memcpy(&zrf_rcv_obj.m_scanIndex , data , 64);
|
||||
memcpy(&zrf_rcv_obj.m_pixelPos[0][0] , &data[64] , 256-64);
|
||||
}
|
||||
else
|
||||
{
|
||||
int itemp=(flashPage&0x0F) - 1;//flashpage 0x31~0x3f,
|
||||
memcpy(&zrf_rcv_obj.m_pixelPos[itemp*128+(256-64)/2],&data[0],256);
|
||||
}
|
||||
// if(flashPage == 0x30)//flashpage 0x30
|
||||
// {
|
||||
// memcpy(&zrf_rcv_obj.m_scanIndex , data , 64);
|
||||
// memcpy(&zrf_rcv_obj.m_pixelPos[0][0] , &data[64] , 256-64);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// int itemp=(flashPage&0x0F) - 1;//flashpage 0x31~0x3f,
|
||||
// memcpy(&zrf_rcv_obj.m_pixelPos[itemp*128+(256-64)/2],&data[0],256);
|
||||
// }
|
||||
int itemp=flashPage&0x0F ;//flashpage 0x30~0x3f,
|
||||
memcpy(&zrf_rcv_obj.m_pixelPos[itemp*128],&data[0],256);
|
||||
}
|
||||
|
||||
//added by alahover -o 20230829
|
||||
|
@ -1541,22 +1289,37 @@ void ExpertWin::changeValueBySmart()
|
|||
zrf_rcv_obj.b8_3_0=0b0111;
|
||||
zrf_rcv_obj.ucZheHuiCiShu=mModule["RowPerScan"].toInt();
|
||||
//描点参数
|
||||
|
||||
auto points = mModule["pos_item_info"].toArray();
|
||||
int iPointIndex=0;
|
||||
int ipointNum=points.size();
|
||||
//注意这里的表里点的顺序和熙讯老异步卡的走点顺序是反的
|
||||
for(auto point : points) {
|
||||
JObj obj=point.toObj();
|
||||
zrf_rcv_obj.m_pixelPos[ipointNum-iPointIndex-1][0]=obj["x"].toInt() & 0x000000ff;//列
|
||||
zrf_rcv_obj.m_pixelPos[ipointNum-iPointIndex-1][1]=obj["y"].toInt() & 0x000000ff;//行
|
||||
qDebug()<<QString("第%1点行=%2").arg(ipointNum-iPointIndex-1).arg(zrf_rcv_obj.m_pixelPos[ipointNum-iPointIndex-1][0],2,16,QLatin1Char('0')).toUpper();
|
||||
qDebug()<<QString("第%1点列=%2").arg(ipointNum-iPointIndex-1).arg(zrf_rcv_obj.m_pixelPos[ipointNum-iPointIndex-1][1],2,16,QLatin1Char('0')).toUpper();
|
||||
iPointIndex++;
|
||||
}
|
||||
//zrf的fpga版本里没有行序的概念,走点表里描述了所有扫的点的坐标,从0扫到最大扫顺序排列
|
||||
int iScanIndex=0;
|
||||
auto scans = mModule["RowMap"].toArray();
|
||||
qDebug()<<"scans.size="<<scans.size();
|
||||
for(auto scan : scans) {
|
||||
|
||||
zrf_rcv_obj.m_scanIndex[iScanIndex]=scan.toInt();
|
||||
qDebug()<<QString("第%1扫行=%2").arg(iScanIndex).arg(zrf_rcv_obj.m_scanIndex[iScanIndex],2,16,QLatin1Char('0')).toUpper();
|
||||
iScanIndex++;
|
||||
}
|
||||
auto points = mModule["ColumnMap"].toArray();
|
||||
int iPointIndex=0;
|
||||
for(auto point : points) {
|
||||
zrf_rcv_obj.m_pixelPos[iPointIndex][0]=point.toInt() & 0x000000ff;//列
|
||||
zrf_rcv_obj.m_pixelPos[iPointIndex][1]=(point.toInt() & 0x0000ff00) >>8;//行
|
||||
iPointIndex++;
|
||||
for(int i=1;i<=zrf_rcv_obj.b5;i++)
|
||||
{
|
||||
for(int j=0;j<ipointNum;j++){
|
||||
zrf_rcv_obj.m_pixelPos[i*ipointNum+j][0]=zrf_rcv_obj.m_pixelPos[(i-1)*ipointNum+j][0];
|
||||
zrf_rcv_obj.m_pixelPos[i*ipointNum+j][1]=zrf_rcv_obj.m_pixelPos[(i-1)*ipointNum+j][1]+(zrf_rcv_obj.m_scanIndex[i]-zrf_rcv_obj.m_scanIndex[i-1]);//根据行序推到出其他扫的点的坐标
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
int ExpertWin::GetIcTypeIndexFromName(QString strName)
|
||||
{
|
||||
|
@ -1611,136 +1374,170 @@ int ExpertWin::GetRowYiMaIndexFromName(QString strName)
|
|||
return -1;
|
||||
}
|
||||
void ExpertWin::changeValueByEffectControler() {
|
||||
//spinbox
|
||||
if(m_iRcvCardType!=enum_zrf) return;
|
||||
QObject::connect(fdCardWidth, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "箱体宽度当前值:" << value;
|
||||
zrf_rcv_obj.b31=value&0x00ff; zrf_rcv_obj.b32=(value&0xff00) >> 8; });//
|
||||
QObject::connect(spinGclkXw, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "GCLK相位当前值:" << value;
|
||||
zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(spinGclkZkb, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "GCLK占空比当前值:" << value;
|
||||
zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(spinLineNs, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "换行时间当前值:" << value;
|
||||
zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(spinLineWz, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "行位置当前值:" << value;
|
||||
zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(spinLineXy, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "消隐时间当前值:" << value;
|
||||
zrf_rcv_obj.b2=value; });//
|
||||
QObject::connect(spinPointsOnePort, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "单口带载点数当前值:" << value;
|
||||
zrf_rcv_obj.b193=value; });
|
||||
|
||||
//combox
|
||||
QObject::connect(cbDCLKf, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "DLC频率当前值:" << value;
|
||||
zrf_rcv_obj.b18_3_0=value; });//
|
||||
QObject::connect(cbDclkXw, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "DCLK相位当前值:" << value;
|
||||
zrf_rcv_obj.b19_7_4=value; });//
|
||||
QObject::connect(cbDclkZkb, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "DCLK占空比当前值:" << value;
|
||||
zrf_rcv_obj.b19_3_0=value; });//
|
||||
QObject::connect(fdDirection, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "模组级联方向出当前值:" << value;
|
||||
zrf_rcv_obj.b8_5_4=value; });//
|
||||
QObject::connect(fdSectorCount, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "多开设置出当前值:" << value;
|
||||
zrf_rcv_obj.b70_5_2=value;
|
||||
if(zrf_rcv_obj.b70_5_2!=0)
|
||||
zrf_rcv_obj.b70_6=1;
|
||||
else zrf_rcv_obj.b70_6=0; });//
|
||||
QObject::connect(freshBeiLv, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "刷新倍率出当前值:" << value;
|
||||
zrf_rcv_obj.b21_7_5=value; });//
|
||||
QObject::connect(cbGCLKf, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "GCLK周期出当前值:" << value;
|
||||
zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(cbGryLevel, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "灰度等级出当前值:" << value;
|
||||
if(zrf_rcv_obj.m_pwmFlag==1){
|
||||
switch(value){
|
||||
case 0: zrf_rcv_obj.b21_4_0=23; break;//正常4096
|
||||
case 1: zrf_rcv_obj.b21_4_0=26; break;//正常8192
|
||||
case 2: zrf_rcv_obj.b21_4_0=29; break;//正常16384
|
||||
case 3: zrf_rcv_obj.b21_4_0=30; break;//正常32768
|
||||
case 4: zrf_rcv_obj.b21_4_0=31; break;//正常65535
|
||||
default: zrf_rcv_obj.b21_4_0=31; break;//正常65535
|
||||
}
|
||||
|
||||
QObject::connect(m_effectStack, static_cast<void (QStackedWidget::*)(int)>(&QStackedWidget::currentChanged), [=](int value){ qDebug() << "效果参数界面当前值:" << value;
|
||||
//不同的芯片类型内,不同名称的芯片的控件取整范围也不同,需要根据IC的名称重新初始化控制内容
|
||||
if(value==0){
|
||||
normalPanel->reSetcontrolerByIcType(fdChipType->text());
|
||||
}
|
||||
else
|
||||
zrf_rcv_obj.b21_4_0=value; });//
|
||||
QObject::connect(cbNoSign, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "无信号输出出当前值:" << value;
|
||||
zrf_rcv_obj.b29_1_0=value; });//
|
||||
QObject::connect(cbStb, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行信号STB微调出当前值:" << value;
|
||||
zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(cbDE, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行信号DE微调出当前值:" << value;
|
||||
zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(cbABC, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行信号ABC微调出当前值:" << value;
|
||||
zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(cbXiaoYinDianPing, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "消隐电平出当前值:" << value;
|
||||
zrf_rcv_obj.b1_5=value; });//
|
||||
QObject::connect(cbSTB, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "锁存STB电平方向出当前值:" << value;
|
||||
zrf_rcv_obj.b0_6=value; });//
|
||||
QObject::connect(cbSRowOut, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行输出电平出当前值:" << value;
|
||||
zrf_rcv_obj.b0_4=value; });//
|
||||
//checkbox
|
||||
QObject::connect(checkSyncXianKa, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "同步显卡出当前值:" << value;
|
||||
if(value==0) zrf_rcv_obj.b26_7=value ;
|
||||
else zrf_rcv_obj.b26_7=0b1; });//
|
||||
QObject::connect(checkJianLiang, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "开屏渐亮出当前值:" << value;
|
||||
if(value==0) zrf_rcv_obj.b1_0=value ;
|
||||
else zrf_rcv_obj.b1_0=0b1; });//
|
||||
QObject::connect(checkDoubleCopy, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "双备份出当前值:" << value;
|
||||
if(value==0) zrf_rcv_obj.b1_4=value ;
|
||||
else zrf_rcv_obj.b1_4=0b1; });//
|
||||
QObject::connect(checkDsignalAsCLk, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "D信号作为第二组CLK出当前值:" << value;
|
||||
if(value==0) zrf_rcv_obj.b1_1=value ;
|
||||
else zrf_rcv_obj.b1_1=0b1; });//
|
||||
else if(value==1){
|
||||
pwmPanel->reSetcontrolerByIcType(fdChipType->text());
|
||||
}
|
||||
else if(value == 2){
|
||||
doublelatchPanel->reSetcontrolerByIcType(fdChipType->text());
|
||||
} });//
|
||||
|
||||
//spinbox
|
||||
if(m_iRcvCardType==enum_zrf) {
|
||||
QObject::connect(fdCardWidth, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "箱体宽度当前值:" << value;
|
||||
zrf_rcv_obj.b31=value&0x00ff; zrf_rcv_obj.b32=(value&0xff00) >> 8; });//
|
||||
QObject::connect(fdDirection, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "模组级联方向出当前值:" << value;
|
||||
zrf_rcv_obj.b8_5_4=value; });//
|
||||
QObject::connect(fdSectorCount, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "多开设置出当前值:" << value;
|
||||
zrf_rcv_obj.b70_5_2=value;
|
||||
if(zrf_rcv_obj.b70_5_2!=0)
|
||||
zrf_rcv_obj.b70_6=1;
|
||||
else zrf_rcv_obj.b70_6=0; });//
|
||||
}
|
||||
}
|
||||
void ExpertWin::SetEffectControlerValueByClass()
|
||||
{
|
||||
//spinbox
|
||||
fdCardWidth->setValue(( zrf_rcv_obj.b32<<8)|zrf_rcv_obj.b31); qDebug() << "箱体宽度当前值:" << fdCardWidth->value();//
|
||||
spinGclkXw->setValue(zrf_rcv_obj.b193); qDebug() << "GCLK相位当前值:" << spinGclkXw->value();
|
||||
spinGclkZkb->setValue(zrf_rcv_obj.b193); qDebug() << "GCLK占空比当前值:" << spinGclkZkb->value();
|
||||
spinLineNs->setValue(zrf_rcv_obj.b193); qDebug() << "换行时间当前值:" << spinLineNs->value();
|
||||
spinLineWz->setValue(zrf_rcv_obj.b193); qDebug() << "行位置当前值:" << spinLineWz->value();
|
||||
spinLineXy->setValue(zrf_rcv_obj.b2); qDebug() << "消隐时间当前值:" << spinLineXy->value();//
|
||||
spinPointsOnePort->setValue(zrf_rcv_obj.b193); qDebug() << "单口带载点数当前值:" << spinPointsOnePort->value();
|
||||
|
||||
//combox
|
||||
cbDCLKf->setCurrentIndex(zrf_rcv_obj.b18_3_0); qDebug() << "DLC频率当前值:" << cbDCLKf->currentIndex();
|
||||
cbDclkXw->setCurrentIndex(zrf_rcv_obj.b19_7_4); qDebug() << "DCLK相位当前值:" << cbDclkXw->currentIndex();
|
||||
cbDclkZkb->setCurrentIndex(zrf_rcv_obj.b19_3_0); qDebug() << "DCLK占空比当前值:" << cbDclkZkb->currentIndex();
|
||||
fdDirection->setCurrentIndex(zrf_rcv_obj.b8_5_4); qDebug() << "模组级联方向出当前值:" << fdDirection->currentIndex();
|
||||
fdSectorCount->setCurrentIndex(zrf_rcv_obj.b70_5_2); qDebug() << "多开设置出当前值:" << fdSectorCount->currentIndex();
|
||||
freshBeiLv->setCurrentIndex(zrf_rcv_obj.b21_7_5); qDebug() << "刷新倍率出当前值:" << freshBeiLv->currentIndex();
|
||||
cbGCLKf->setCurrentIndex(zrf_rcv_obj.b193); qDebug() << "GCLK周期出当前值:" << cbGCLKf->currentIndex();
|
||||
|
||||
int index=31;
|
||||
if(zrf_rcv_obj.m_pwmFlag==1)
|
||||
switch(zrf_rcv_obj.b21_4_0){
|
||||
case 23: index=0; break;//正常4096
|
||||
case 26: index=1; break;//正常8192
|
||||
case 29: index=2; break;//正常16384
|
||||
case 30: index=3; break;//正常32768
|
||||
case 31: index=4; break;//正常65535
|
||||
default: index=4; break;//正常65535
|
||||
}
|
||||
else
|
||||
index=zrf_rcv_obj.b21_4_0;
|
||||
cbGryLevel->setCurrentIndex(index); qDebug() << "灰度等级出当前值:" << cbGryLevel->currentIndex();
|
||||
cbNoSign->setCurrentIndex(zrf_rcv_obj.b29_1_0); qDebug() << "无信号输出出当前值:" << cbNoSign->currentIndex();
|
||||
cbStb->setCurrentIndex(zrf_rcv_obj.b193); qDebug() << "行信号STB微调出当前值:" << cbStb->currentIndex();
|
||||
cbDE->setCurrentIndex(zrf_rcv_obj.b193); qDebug() << "行信号DE微调出当前值:" << cbDE->currentIndex();
|
||||
cbABC->setCurrentIndex(zrf_rcv_obj.b193); qDebug() << "行信号ABC微调出当前值:" << cbABC->currentIndex();
|
||||
cbXiaoYinDianPing->setCurrentIndex(zrf_rcv_obj.b1_5); qDebug() << "消隐电平出当前值:" << cbXiaoYinDianPing->currentIndex();
|
||||
cbSTB->setCurrentIndex(zrf_rcv_obj.b0_6); qDebug() << "锁存STB电平方向出当前值:" << cbSTB->currentIndex();
|
||||
cbSRowOut->setCurrentIndex(zrf_rcv_obj.b0_4); qDebug() << "行输出电平出当前值:" << cbSRowOut->currentIndex();
|
||||
//checkbox
|
||||
checkSyncXianKa->setChecked(zrf_rcv_obj.b26_7); qDebug() << "同步显卡出当前值:" << checkSyncXianKa->isChecked();
|
||||
checkJianLiang->setChecked(zrf_rcv_obj.b1_0); qDebug() << "开屏渐亮出当前值:" << checkJianLiang->isChecked();
|
||||
checkDoubleCopy->setChecked(zrf_rcv_obj.b1_4); qDebug() << "双备份出当前值:" << checkDoubleCopy->isChecked();
|
||||
checkDsignalAsCLk->setChecked(zrf_rcv_obj.b1_1); qDebug() << "D信号作为第二组CLK出当前值:" << checkDsignalAsCLk->isChecked();
|
||||
if(m_iRcvCardType == enum_zrf) {
|
||||
//发送基本参数
|
||||
auto zrf_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 ff ff 00 f1 f1 f1 f1 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
auto zrf_cmd_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 00 00 00 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
int res1=0;
|
||||
//发送基本参数
|
||||
MACRO_FUNC_SEND_PARAM("读取基本参数",classToBaseMsg(),1,0x00)
|
||||
if(m_effectStack->currentIndex()==0){
|
||||
qDebug()<<"normalPanel->SetEffectControlerValueByClass();";
|
||||
normalPanel->SetEffectControlerValueByClass();
|
||||
}
|
||||
else if(m_effectStack->currentIndex()==1){
|
||||
qDebug()<<"pwmPanel->SetEffectControlerValueByClass();";
|
||||
pwmPanel->SetEffectControlerValueByClass();
|
||||
}
|
||||
else if(m_effectStack->currentIndex()==2){
|
||||
qDebug()<<"doublelatchPanel->SetEffectControlerValueByClass();";
|
||||
doublelatchPanel->SetEffectControlerValueByClass();
|
||||
}
|
||||
}
|
||||
//added by alahover -o 20230830
|
||||
//added by alahover -s 02030903
|
||||
void ExpertWin::SendBaseParam_zrf()
|
||||
{
|
||||
if(m_iRcvCardType == enum_zrf) {
|
||||
auto zrf_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 ff ff 00 f1 f1 f1 f1 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
auto zrf_cmd_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 00 00 00 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
int res1=0;
|
||||
MACRO_FUNC_SEND_PARAM("发送基本参数",classToBaseMsg(),1,0x00)
|
||||
}
|
||||
}
|
||||
void ExpertWin::SendGammaParam_zrf()
|
||||
{
|
||||
if(m_iRcvCardType == enum_zrf) {
|
||||
auto zrf_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 ff ff 00 f1 f1 f1 f1 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
auto zrf_cmd_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 00 00 00 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
int res1=0;
|
||||
MACRO_FUNC_SEND_PARAM("发送gamma参数",classToGammaMsg(0,flashPage),2,0x10)
|
||||
}
|
||||
}
|
||||
void ExpertWin::SendMiaoDianParam_zrf()
|
||||
{
|
||||
if(m_iRcvCardType == enum_zrf) {
|
||||
auto zrf_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 ff ff 00 f1 f1 f1 f1 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
auto zrf_cmd_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 00 00 00 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
int res1=0;
|
||||
MACRO_FUNC_SEND_PARAM("发送描点参数",classToMiaoDianMsg(flashPage),16,0x30)
|
||||
}
|
||||
}
|
||||
void ExpertWin::SendPaiXuParam_zrf()
|
||||
{
|
||||
if(m_iRcvCardType == enum_zrf) {
|
||||
auto zrf_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 ff ff 00 f1 f1 f1 f1 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
auto zrf_cmd_msg = QByteArray::fromHex("55 55 00 11 22 33 44 55 00 11 22 33 44 55 10 5a 13 00 00 00 00 e0 00 00 00 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00");
|
||||
int res1=0;
|
||||
MACRO_FUNC_SEND_PARAM("发送排序参数",classToPaiXuSMsg(flashPage),8,0x20)
|
||||
}
|
||||
}
|
||||
void ExpertWin::GetPaiXuJObjFromJObj(JObj obj)
|
||||
{
|
||||
int iCountInNet0=0;
|
||||
JArray valueList=obj["values"].toArray();
|
||||
for(int m=0;m<valueList.size();m++){
|
||||
auto connWin = (ExpertScreenConnWin*) connStack->widget(m);
|
||||
connWin->InitByJObj(valueList[m].toObj());
|
||||
auto boxList =valueList[m]["boxList"].toArray();
|
||||
for(int i=0;i<boxList.size();i++){
|
||||
JObj tempObj=boxList[i].toObj();
|
||||
zrf_rcv_obj.p_x[i] = (quint16)tempObj["X"].toInt()&0xFFFF;
|
||||
zrf_rcv_obj.p_y[i] = (quint16)tempObj["Y"].toInt()&0xFFFF;
|
||||
zrf_rcv_obj.p_w[i] = (quint16)tempObj["ModuleWidth"].toInt()&0xFFFF;
|
||||
zrf_rcv_obj.p_h[i] = (quint16)tempObj["ModuleHeight"].toInt()&0xFFFF;
|
||||
zrf_rcv_obj.p_posNum[i]= (quint16)tempObj["SubId"].toInt()&0xFFFF;
|
||||
zrf_rcv_obj.p_posNum[i]= (quint16)tempObj["PortId"].toInt()&0xFFFF;
|
||||
if(zrf_rcv_obj.p_posNum[i] == 0)
|
||||
iCountInNet0++;
|
||||
}
|
||||
zrf_rcv_obj.p4_rcvCardsNumInNet=iCountInNet0;
|
||||
|
||||
}
|
||||
}
|
||||
int ExpertWin::GetPaiXuJObjFromName(QString strName)
|
||||
{
|
||||
QFile qFile(strName);
|
||||
if(qFile.open(QFile::ReadOnly)) {
|
||||
auto data = qFile.readAll();
|
||||
qFile.close();
|
||||
auto json = JFrom(data).toObj();
|
||||
|
||||
if(! json.empty())
|
||||
{
|
||||
GetPaiXuJObjFromJObj(json);
|
||||
return 0;
|
||||
}
|
||||
else{
|
||||
QMessageBox::information(this, tr("提示"), tr("空temp.kcon文件"));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
QMessageBox::information(this, tr("提示"), tr("缺失temp.kcon文件"));
|
||||
return -1;
|
||||
}
|
||||
JObj ExpertWin::ClassToJObj()
|
||||
{
|
||||
JArray values;
|
||||
JArray boxList;
|
||||
int iRowNum=0;
|
||||
int iColNum=0;
|
||||
//暂且只支持相同宽高箱体的级联
|
||||
for(int m=0;m<zrf_rcv_obj.p4_rcvCardsNumInNet;m++){
|
||||
int irowIndex=zrf_rcv_obj.p_x[m]/zrf_rcv_obj.p_w[m];
|
||||
if(iRowNum<irowIndex)
|
||||
iRowNum=irowIndex;
|
||||
int icolIndex=zrf_rcv_obj.p_y[m]/zrf_rcv_obj.p_h[m];
|
||||
if(iColNum<icolIndex)
|
||||
iColNum=icolIndex;
|
||||
}
|
||||
for(int i=0;i<zrf_rcv_obj.p4_rcvCardsNumInNet;i++){
|
||||
boxList.append(JObj{
|
||||
{"X", zrf_rcv_obj.p_x[i]},
|
||||
{"Y", zrf_rcv_obj.p_y[i]},
|
||||
{"ModuleWidth", zrf_rcv_obj.p_w[i]},
|
||||
{"ModuleHeight", zrf_rcv_obj.p_h[i]},
|
||||
{"PortId", zrf_rcv_obj.p2_netIndexInSendCard},
|
||||
{"SubId", i},
|
||||
{"ScreenPosRow", zrf_rcv_obj.p_x[i]/zrf_rcv_obj.p_w[i]},
|
||||
{"ScreenPosCol", zrf_rcv_obj.p_y[i]/zrf_rcv_obj.p_h[i]},
|
||||
{"ScreenRow", iRowNum+1},
|
||||
{"ScreenCol", iColNum+1},
|
||||
{"SettingWidth",zrf_rcv_obj.p_w[i] },
|
||||
{"SettingHeight", zrf_rcv_obj.p_h[i]},
|
||||
{"ScreenIndex", zrf_rcv_obj.p5_netScreenIndex},
|
||||
});
|
||||
}
|
||||
values.append(JObj{
|
||||
{"isCompScreen", false},
|
||||
{"boxList", boxList},
|
||||
});
|
||||
return {{"values", values}};
|
||||
|
||||
}
|
||||
//added by alahover -o 02030903
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include <QCheckBox>
|
||||
#include <QRadioButton>
|
||||
#include <QStackedLayout>
|
||||
#include <QStackedWidget>
|
||||
|
||||
class ExpertWin : public BaseWin {
|
||||
Q_OBJECT
|
||||
|
@ -44,11 +45,14 @@ public:
|
|||
QRadioButton *fdAdvacned;
|
||||
|
||||
QPushButton *btnConnReadBack, *btnReceiveReadBack;
|
||||
QSpinBox *spinGclkXw,*spinGclkZkb,*spinLineNs,*spinLineWz,*spinLineXy,*spinPointsOnePort;
|
||||
QComboBox *cbDCLKf,*cbDclkXw, *cbDclkZkb,*freshBeiLv,*cbGCLKf,*cbGryLevel,*cbNoSign,*cbStb,*cbDE,*cbABC,*cbXiaoYinDianPing,*cbSTB,*cbSRowOut;
|
||||
QLabel * m_ctrlFreshRate,*m_ctrlBrightEff,*m_ctrlMinOE;
|
||||
QCheckBox * checkSyncXianKa,*checkJianLiang,*checkDoubleCopy,*checkDsignalAsCLk;
|
||||
|
||||
// QSpinBox *spinGclkXw,*spinGclkZkb,*spinLineNs,*spinLineWz,*spinLineXy,*spinPointsOnePort;
|
||||
// QComboBox *cbDCLKf,*cbDclkXw, *cbDclkZkb,*freshBeiLv,*cbGCLKf,*cbGryLevel,*cbNoSign,*cbStb,*cbDE,*cbABC,*cbXiaoYinDianPing,*cbSTB,*cbSRowOut;
|
||||
// QLabel * m_ctrlFreshRate,*m_ctrlBrightEff,*m_ctrlMinOE;
|
||||
// QCheckBox * checkSyncXianKa,*checkJianLiang,*checkDoubleCopy,*checkDsignalAsCLk;
|
||||
QStackedWidget *m_effectStack;//added by alahover 20230904
|
||||
// NormalEffectWin * normalPanel ;
|
||||
// PwmEffectWin * pwmPanel ;
|
||||
// DoubleLatchEffectWin * doublelatchPanel;
|
||||
|
||||
//added by alahover -o 20230830
|
||||
//added by alahover -s 20230817
|
||||
|
@ -214,18 +218,18 @@ public:
|
|||
unsigned char b168_4_0 = 0b00000; //消隐延迟时间:(输入值+1)*48ns
|
||||
// unsigned char b168 = (b168_7_5<<5 & 0b11100000) | (b168_4_0 & 0b00011111);
|
||||
|
||||
unsigned short b169_192[12] = {0x0000,//红芯片参数 1 高字节,红芯片参数 1 低字节
|
||||
0x0000,//红芯片参数 2 高字节,红芯片参数 2 低字节
|
||||
0x0000,//红芯片参数 3 高字节,红芯片参数 3 低字节
|
||||
0x0000,//绿芯片参数 1 高字节,绿芯片参数 1 低字节
|
||||
0x0000,//绿芯片参数 2 高字节,绿芯片参数 2 低字节
|
||||
0x0000,//绿芯片参数 3 高字节,绿芯片参数 3 低字节
|
||||
0x0000,//蓝芯片参数 1 高字节,蓝芯片参数 1 低字节
|
||||
0x0000,//蓝芯片参数 2 高字节,蓝芯片参数 2 低字节
|
||||
0x0000,//蓝芯片参数 3 高字节,蓝芯片参数 3 低字节
|
||||
0x0000,//红芯片参数 4 高字节,红芯片参数 4 低字节
|
||||
0x0000,//绿芯片参数 4 高字节,绿芯片参数 4 低字节
|
||||
0x0000 //蓝芯片参数 4 高字节,蓝芯片参数 4 低字节
|
||||
unsigned char b169_192[48] = {0x00,0x00,//红芯片参数 1 高字节,红芯片参数 1 低字节
|
||||
0x00,0x00,//红芯片参数 2 高字节,红芯片参数 2 低字节
|
||||
0x00,0x00,//红芯片参数 3 高字节,红芯片参数 3 低字节
|
||||
0x00,0x00,//绿芯片参数 1 高字节,绿芯片参数 1 低字节
|
||||
0x00,0x00,//绿芯片参数 2 高字节,绿芯片参数 2 低字节
|
||||
0x00,0x00,//绿芯片参数 3 高字节,绿芯片参数 3 低字节
|
||||
0x00,0x00,//蓝芯片参数 1 高字节,蓝芯片参数 1 低字节
|
||||
0x00,0x00,//蓝芯片参数 2 高字节,蓝芯片参数 2 低字节
|
||||
0x00,0x00,//蓝芯片参数 3 高字节,蓝芯片参数 3 低字节
|
||||
0x00,0x00,//红芯片参数 4 高字节,红芯片参数 4 低字节
|
||||
0x00,0x00,//绿芯片参数 4 高字节,绿芯片参数 4 低字节
|
||||
0x00,0x00 //蓝芯片参数 4 高字节,蓝芯片参数 4 低字节
|
||||
};
|
||||
|
||||
unsigned char b193 = 0x00; //保留
|
||||
|
@ -246,7 +250,6 @@ public:
|
|||
unsigned char p6_reserve=0;//保留
|
||||
unsigned char p7_reserve1=0;//保留
|
||||
St_Rcv_Pos p8_st_rcv_pos[256];
|
||||
|
||||
unsigned short p_x[256]={0};
|
||||
unsigned short p_y[256]={0};
|
||||
unsigned short p_w[256]={256};
|
||||
|
@ -280,12 +283,21 @@ public:
|
|||
int GetIcTypeIndexFromName(QString strName);
|
||||
int GetRowYiMaIndexFromName(QString strName);
|
||||
//added by alahover -o 20230830
|
||||
//added by alahover -o 20230823
|
||||
|
||||
//added by alahover -s 20230903
|
||||
void SendBaseParam_zrf();//added by alahover 20230903
|
||||
void SendGammaParam_zrf();//added by alahover 20230903
|
||||
void SendMiaoDianParam_zrf();//added by alahover 20230903
|
||||
void SendPaiXuParam_zrf();//added by alahover 20230903
|
||||
int GetPaiXuJObjFromName(QString strName);//added by alahover 20230903
|
||||
void GetPaiXuJObjFromJObj(JObj obj);
|
||||
JObj ClassToJObj();
|
||||
//added by alahover -o 20230903
|
||||
protected:
|
||||
void closeEvent(QCloseEvent *) override;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#define MACRO_FUNC_SEND_PARAM(TIP_MESSAGE,FUNC,SEND_FLASHPAGE_NUM,FLASH_ADDR) \
|
||||
for(int iSendCount=0;iSendCount<SEND_FLASHPAGE_NUM;iSendCount++)\
|
||||
{\
|
||||
|
|
|
@ -192,3 +192,155 @@ void GammaGen(unsigned short pGammaDataBuffer[],float fGamma,unsigned int uiGray
|
|||
}
|
||||
}
|
||||
//added by alahover -o 20230829
|
||||
int GetIcTypeFromName(QString strName)
|
||||
{
|
||||
int iResult=0;
|
||||
//"ICN系列"
|
||||
if(strName == "ICN2026" ) iResult = enum_normal;
|
||||
if(strName == "ICN2027" ) iResult = enum_normal;
|
||||
if(strName == "ICN2028" ) iResult = enum_normal;
|
||||
if(strName == "ICN2037" ) iResult = enum_normal;
|
||||
if(strName == "ICN2038" ) iResult = enum_normal;
|
||||
if(strName == "ICN2038S" ) iResult = enum_normal;
|
||||
if(strName == "ICN2053" ) iResult = enum_pwm;
|
||||
if(strName == "ICN2058" ) iResult = enum_normal;
|
||||
if(strName == "ICN2088" ) iResult = enum_normal;
|
||||
if(strName == "ICND2045" ) iResult = enum_normal;
|
||||
if(strName == "ICND2046" ) iResult = enum_normal;
|
||||
if(strName == "ICND2047" ) iResult = enum_normal;
|
||||
if(strName == "ICND2049" ) iResult = enum_normal;
|
||||
if(strName == "ICND2055" ) iResult = enum_normal;
|
||||
if(strName == "ICND2059" ) iResult = enum_normal;
|
||||
if(strName == "ICND2065" ) iResult = enum_normal;
|
||||
if(strName == "ICND2069" ) iResult = enum_normal;
|
||||
if(strName == "ICND2076" ) iResult = enum_normal;
|
||||
if(strName == "ICND2110" ) iResult = enum_normal;
|
||||
if(strName == "ICND2112" ) iResult = enum_normal;
|
||||
if(strName == "ICND2153" ) iResult = enum_normal;
|
||||
if(strName == "ICND2153_three") iResult = enum_normal;
|
||||
if(strName == "ICND2163") iResult = enum_normal;
|
||||
if(strName == "ICND2200") iResult = enum_normal;
|
||||
|
||||
// "SM系列"
|
||||
if(strName == "SM16017_NEW") iResult = enum_normal;
|
||||
if(strName == "SM16017S") iResult = enum_normal;
|
||||
if(strName == "SM16159S") iResult = enum_normal;
|
||||
if(strName == "SM16169S") iResult = enum_normal;
|
||||
if(strName == "SM16207S") iResult = enum_normal;
|
||||
if(strName == "SM16218") iResult = enum_normal;
|
||||
if(strName == "SM16227S") iResult = enum_normal;
|
||||
if(strName == "SM16237DS") iResult = enum_normal;
|
||||
if(strName == "SM16237S") iResult = enum_normal;
|
||||
if(strName == "SM16259S") iResult = enum_normal;
|
||||
if(strName == "SM16259S") iResult = enum_normal;
|
||||
if(strName == "SM16369") iResult = enum_normal;
|
||||
if(strName == "SM16380") iResult = enum_normal;
|
||||
if(strName == "SM16388") iResult = enum_normal;
|
||||
if(strName == "SM16389") iResult = enum_normal;
|
||||
if(strName == "SM16509/16399") iResult = enum_normal;
|
||||
|
||||
//"LS系列"
|
||||
if(strName == "LS9918S") iResult = enum_normal;
|
||||
if(strName == "LS9919S") iResult = enum_normal;
|
||||
if(strName == "LS9926S") iResult = enum_normal;
|
||||
if(strName == "LS9929C") iResult = enum_normal;
|
||||
if(strName == "LS9929S") iResult = enum_normal;
|
||||
if(strName == "LS9930S") iResult = enum_normal;
|
||||
if(strName == "LS9931S") iResult = enum_normal;
|
||||
if(strName == "LS9935B") iResult = enum_normal;
|
||||
if(strName == "LS9935S") iResult = enum_normal;
|
||||
if(strName == "LS9936S") iResult = enum_normal;
|
||||
if(strName == "LS9961S") iResult = enum_normal;
|
||||
|
||||
//"MBI系列"
|
||||
if(strName == "MBI5041/5042") iResult = enum_normal;
|
||||
if(strName == "MBI5051") iResult = enum_normal;
|
||||
if(strName == "MBI5124") iResult = enum_normal;
|
||||
if(strName == "MBI5151") iResult = enum_normal;
|
||||
if(strName == "MBI5153") iResult = enum_normal;
|
||||
if(strName == "MBI5155") iResult = enum_normal;
|
||||
if(strName == "MBI5158") iResult = enum_normal;
|
||||
if(strName == "MBI5252") iResult = enum_normal;
|
||||
if(strName == "MBI5253") iResult = enum_normal;
|
||||
if(strName == "MBI5253B") iResult = enum_normal;
|
||||
if(strName == "MBI5254") iResult = enum_normal;
|
||||
if(strName == "MBI5264") iResult = enum_normal;
|
||||
if(strName == "MBI5268") iResult = enum_normal;
|
||||
if(strName == "MBI5353") iResult = enum_normal;
|
||||
if(strName == "MBI5353B") iResult = enum_normal;
|
||||
if(strName == "MBI6322") iResult = enum_normal;
|
||||
if(strName == "MBI6328") iResult = enum_normal;
|
||||
if(strName == "MBI6334") iResult = enum_normal;
|
||||
|
||||
//"SUM系列"
|
||||
if(strName == "SUM2017") iResult = enum_normal;
|
||||
if(strName == "SUM2017T") iResult = enum_normal;
|
||||
if(strName == "SUM2017TD") iResult = enum_normal;
|
||||
if(strName == "SUM2028") iResult = enum_normal;
|
||||
if(strName == "SUM2030") iResult = enum_normal;
|
||||
if(strName == "SUM2030T") iResult = enum_normal;
|
||||
if(strName == "SUM2032") iResult = enum_normal;
|
||||
if(strName == "SUM2033") iResult = enum_normal;
|
||||
if(strName == "SUM2035") iResult = enum_normal;
|
||||
if(strName == "SUM2036") iResult = enum_normal;
|
||||
if(strName == "SUM2037") iResult = enum_normal;
|
||||
if(strName == "SUM2117") iResult = enum_normal;
|
||||
if(strName == "SUM2130") iResult = enum_normal;
|
||||
if(strName == "SUM2131") iResult = enum_normal;
|
||||
if(strName == "SUM2135") iResult = enum_normal;
|
||||
if(strName == "SUM6086") iResult = enum_normal;
|
||||
|
||||
//"FM系列")
|
||||
if(strName == "FM6128") iResult = enum_normal;
|
||||
if(strName == "FM6129") iResult = enum_normal;
|
||||
if(strName == "FM6153") iResult = enum_normal;
|
||||
if(strName == "FM6182") iResult = enum_normal;
|
||||
if(strName == "FM6253") iResult = enum_normal;
|
||||
if(strName == "FM6353") iResult = enum_normal;
|
||||
if(strName == "FM6356") iResult = enum_normal;
|
||||
if(strName == "FM6363") iResult = enum_normal;
|
||||
if(strName == "FM6555") iResult = enum_normal;
|
||||
if(strName == "FM6565/6569") iResult = enum_normal;
|
||||
if(strName == "FM6565CE") iResult = enum_normal;
|
||||
|
||||
//"DP系列"
|
||||
if(strName == "DP5135") iResult = enum_normal;
|
||||
if(strName == "DP5220X") iResult = enum_normal;
|
||||
if(strName == "DP5525") iResult = enum_normal;
|
||||
|
||||
//"MY系列");
|
||||
if(strName == "MY9758") iResult = enum_normal;
|
||||
if(strName == "MY9862") iResult = enum_normal;
|
||||
if(strName == "MY9866") iResult = enum_normal;
|
||||
|
||||
//"LYD系列"
|
||||
if(strName == "LYD6168B") iResult = enum_normal;
|
||||
if(strName == "LYD6168C") iResult = enum_normal;
|
||||
if(strName == "LYD6168D") iResult = enum_normal;
|
||||
if(strName == "LYD6168E") iResult = enum_normal;
|
||||
if(strName == "LYD6188") iResult = enum_normal;
|
||||
if(strName == "LYD6188PC") iResult = enum_normal;
|
||||
|
||||
//"其他系列"
|
||||
if(strName == "通用") iResult = enum_normal;
|
||||
if(strName == "A5065") iResult = enum_normal;
|
||||
if(strName == "AXS6018") iResult = enum_normal;
|
||||
if(strName == "CFD135A") iResult = enum_normal;
|
||||
if(strName == "CFD455A") iResult = enum_normal;
|
||||
if(strName == "CNS7153") iResult = enum_normal;
|
||||
if(strName == "CNS7253") iResult = enum_normal;
|
||||
if(strName == "CNS7263") iResult = enum_normal;
|
||||
if(strName == "CS2017") iResult = enum_normal;
|
||||
if(strName == "CS2033") iResult = enum_normal;
|
||||
if(strName == "D26188") iResult = enum_normal;
|
||||
if(strName == "HX8055") iResult = enum_normal;
|
||||
if(strName == "HX8864") iResult = enum_normal;
|
||||
if(strName == "HX8896") iResult = enum_normal;
|
||||
if(strName == "RT5965") iResult = enum_normal;
|
||||
if(strName == "RT5967") iResult = enum_normal;
|
||||
if(strName == "SCL8081A") iResult = enum_normal;
|
||||
if(strName == "XM11202G") iResult = enum_normal;
|
||||
|
||||
return iResult;
|
||||
|
||||
}
|
||||
|
|
|
@ -37,6 +37,11 @@ enum enum_rcvCardType{
|
|||
enum_mxe,
|
||||
NoCard
|
||||
};
|
||||
enum enum_IcType{
|
||||
enum_normal = 0,
|
||||
enum_pwm = 1,
|
||||
enum_doubleLatch = 2,
|
||||
};
|
||||
struct HeadMap {
|
||||
byte pre = ipp(2);
|
||||
byte ver = fi++;
|
||||
|
@ -167,7 +172,7 @@ class PcapReThread;
|
|||
extern PcapReThread *reThd;
|
||||
extern QString gFileHome;
|
||||
extern void GammaGen(unsigned short pGammaDataBuffer[],float fGamma,unsigned int uiGray);//added by alahover 20230829
|
||||
|
||||
extern int GetIcTypeFromName(QString strName);
|
||||
QByteArray getNetDev(QWidget *parent, QByteArray, bool);
|
||||
|
||||
inline int sendMsg(const byte *msg, int size, int id, qint64 timeout, std::function<void(int code, const QByteArray)> callback, WaitingDlg *waitingDlg = 0) {
|
||||
|
|
|
@ -176,6 +176,17 @@ public:
|
|||
new (this) LinkedMap(other);
|
||||
return *this;
|
||||
}
|
||||
V &operator[](const K &k) {
|
||||
if(_pri==0) _pri = new LinkedMapPri<K, V>;
|
||||
auto pair = _pri->map.emplace(k, nullptr);
|
||||
if(pair.second) {
|
||||
auto node = new Node{_pri, _pri->prev, {k, V()}};
|
||||
_pri->prev->next = node;
|
||||
_pri->prev = node;
|
||||
pair.first->second = node;
|
||||
}
|
||||
return pair.first->second->value.second;
|
||||
}
|
||||
const V operator[](const K &k) const {
|
||||
if(_pri==0) return V();
|
||||
auto it = _pri->map.find(k);
|
||||
|
|
|
@ -0,0 +1,297 @@
|
|||
#include "doublelatcheffectwin.h"
|
||||
#include "globalfunc.h"
|
||||
#include "gutil/qgui.h"
|
||||
#include <QPushButton>
|
||||
#include <QStackedWidget>
|
||||
#include <QCheckBox>
|
||||
#include "efffrefr.h"
|
||||
DoubleLatchEffectWin::DoubleLatchEffectWin(ExpertWin *parent)
|
||||
{
|
||||
expertWin=parent;
|
||||
resize(880, 220);
|
||||
{
|
||||
if(expertWin->m_iRcvCardType == enum_zrf)
|
||||
{
|
||||
auto vBox1=new VBox(this);
|
||||
auto hh = new HBox(vBox1);
|
||||
hh->addSpacing(20);
|
||||
//第一列区域
|
||||
auto vvv = new VBox(hh);
|
||||
//1.1.移位时钟频率
|
||||
auto hhh = new HBox(vvv);
|
||||
auto lb = new QLabel(tr("DCLK频率:"));
|
||||
hhh->addWidget(lb);
|
||||
cbDCLKf = new QComboBox(); cbDCLKf->addItem("31.2M");cbDCLKf->addItem("25M");cbDCLKf->addItem("20.83M");cbDCLKf->addItem("17.86M");cbDCLKf->addItem("15.63M");cbDCLKf->addItem("12.5M");cbDCLKf->addItem("10.42M");cbDCLKf->addItem("8.9M");
|
||||
cbDCLKf->addItem("7.8M");cbDCLKf->addItem("6.25M");;cbDCLKf->addItem("5.2M");;cbDCLKf->addItem("4.5M");;cbDCLKf->addItem("3.9M");;cbDCLKf->addItem("3.125M"); ;cbDCLKf->addItem("1.9M"); ;cbDCLKf->addItem("1M"); hhh->addWidget(cbDCLKf);
|
||||
//1.2.灰度级别
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("灰度级数:")); hhh->addWidget(lb);
|
||||
cbGryLevel = new QComboBox(); cbGryLevel->addItem("无灰度"); cbGryLevel->addItem("无OE8级");cbGryLevel->addItem("无OE16级");cbGryLevel->addItem("无OE32级");cbGryLevel->addItem("无OE64级");cbGryLevel->addItem("正常16级"); cbGryLevel->addItem("高亮16级");cbGryLevel->addItem("正常32级");
|
||||
cbGryLevel->addItem("高亮32级");cbGryLevel->addItem("正常64级");cbGryLevel->addItem("高亮64级");cbGryLevel->addItem("正常128级");cbGryLevel->addItem("高亮128级");cbGryLevel->addItem("正常256级");cbGryLevel->addItem("高亮256级");cbGryLevel->addItem("正常512级");
|
||||
cbGryLevel->addItem("高亮512级");cbGryLevel->addItem("正常1024级");cbGryLevel->addItem("高亮1024级");cbGryLevel->addItem("低亮2048级");cbGryLevel->addItem("正常2048级");cbGryLevel->addItem("高亮2048级");cbGryLevel->addItem("低亮4096级");cbGryLevel->addItem("正常4096级");
|
||||
cbGryLevel->addItem("高亮4096级");cbGryLevel->addItem("低亮8192级");cbGryLevel->addItem("正常8192级");cbGryLevel->addItem("高亮8192级");cbGryLevel->addItem("低亮16384级");cbGryLevel->addItem("正常16384");cbGryLevel->addItem("正常32768级");cbGryLevel->addItem("正常65535级"); hhh->addWidget(cbGryLevel);
|
||||
//1.3.刷新倍率
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("刷新倍率:")); hhh->addWidget(lb);
|
||||
freshBeiLv = new QComboBox(); freshBeiLv->addItem("20");freshBeiLv->addItem("24");freshBeiLv->addItem("28");freshBeiLv->addItem("32");freshBeiLv->addItem("36");freshBeiLv->addItem("40");freshBeiLv->addItem("44");freshBeiLv->addItem("48");freshBeiLv->addItem("64M"); hhh->addWidget(freshBeiLv);
|
||||
//1.4.换行时间
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("换行时间(ns):")); hhh->addWidget(lb);
|
||||
spinLineNs = new QSpinBox; spinLineNs->setRange(2, 9999); hhh->addWidget(spinLineNs);
|
||||
//1.5.换行位置
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("换行位置(ns):")); hhh->addWidget(lb);
|
||||
spinLineWz = new QSpinBox; spinLineWz->setRange(2, 9999); hhh->addWidget(spinLineWz);
|
||||
//1.6.行消隐时间
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行消隐时间(ns):")); hhh->addWidget(lb);
|
||||
spinLineXy = new QSpinBox; spinLineWz->setRange(2, 9999); hhh->addWidget(spinLineXy);
|
||||
|
||||
//第二列区域
|
||||
hh->addSpacing(20);
|
||||
vvv = new VBox(hh);
|
||||
//2.1.无信号数据
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("无信号数据:")); hhh->addWidget(lb);
|
||||
cbNoSign = new QComboBox();
|
||||
cbNoSign->addItem("最后一帧画面");cbNoSign->addItem("黑屏"); hhh->addWidget(cbNoSign);
|
||||
//2.2.显卡同步
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("显卡同步")); hhh->addWidget(lb);
|
||||
checkSyncXianKa = new QCheckBox; checkSyncXianKa->setChecked(true); hhh->addWidget(checkSyncXianKa);
|
||||
//2.3.开屏渐亮
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("双卡备份")); hhh->addWidget(lb);
|
||||
checkDoubleCopy = new QCheckBox; checkDoubleCopy->setChecked(false); hhh->addWidget(checkDoubleCopy);
|
||||
//2.4.开屏渐亮
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("开屏渐亮")); hhh->addWidget(lb);
|
||||
checkJianLiang = new QCheckBox; checkSyncXianKa->setChecked(false); hhh->addWidget(checkJianLiang);
|
||||
//2.5.D信号为第二组时钟
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("信号为第二组时钟")); hhh->addWidget(lb);
|
||||
checkDsignalAsCLk = new QCheckBox; checkDsignalAsCLk->setChecked(false); hhh->addWidget(checkDsignalAsCLk);
|
||||
|
||||
//更多设置
|
||||
hh->addStretch();
|
||||
vvv = new VBox(hh);
|
||||
vvv->addStretch();
|
||||
hhh = new HBox(vvv);
|
||||
auto btn = new QPushButton(tr("更多设置"));
|
||||
btn->setProperty("ss","blue");
|
||||
hhh->addWidget(btn);
|
||||
connect(btn, &QPushButton::clicked, this, [=] {
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
vvv->addStretch();
|
||||
hh->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
//分割线
|
||||
auto hh3 = new HBox(vvv);
|
||||
QFrame * line2 = new QFrame();
|
||||
line2->setFrameShape(QFrame::VLine);
|
||||
line2->setFrameShadow(QFrame::Sunken);
|
||||
line2->setStyleSheet("background-color:#222;");
|
||||
hh3->addWidget(line2);
|
||||
|
||||
//第三列区域
|
||||
vvv = new VBox(hh);
|
||||
//3.1.DCLK相位
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("DCLK相位:")); hhh->addWidget(lb);
|
||||
cbDclkXw = new QComboBox(); cbDclkXw->addItem("0度");cbDclkXw->addItem("+90度");cbDclkXw->addItem("-90度"); hhh->addWidget(cbDclkXw);
|
||||
//3.2.DCLK占空比
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("DCLK占空比:")); hhh->addWidget(lb);
|
||||
cbDclkZkb = new QComboBox(); cbDclkZkb->addItem("50%");cbDclkZkb->addItem("25%");cbDclkZkb->addItem("75%"); hhh->addWidget(cbDclkZkb);
|
||||
//3.3.锁存STB相位微调
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("锁存STB相位微调:")); hhh->addWidget(lb);
|
||||
cbStb = new QComboBox(); cbStb->addItem("不调整");cbStb->addItem("前移1个时钟");cbStb->addItem("前移2个时钟");cbStb->addItem("前移3个时钟");cbStb->addItem("后移1个时钟");cbStb->addItem("后移2个时钟");cbStb->addItem("后移3个时钟"); hhh->addWidget(cbStb);
|
||||
//3.4.行信号DE相位微调
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行信号DE相位微调:")); hhh->addWidget(lb);
|
||||
cbDE = new QComboBox(); cbDE->addItem("不调整");cbDE->addItem("前移1个时钟");cbDE->addItem("前移2个时钟");cbDE->addItem("前移3个时钟");cbDE->addItem("后移1个时钟");cbDE->addItem("后移2个时钟");cbDE->addItem("后移3个时钟"); hhh->addWidget(cbDE);
|
||||
//3.5.行信号ABC相位微调
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行信号ABC相位微调:")); hhh->addWidget(lb);
|
||||
cbABC = new QComboBox(); cbABC->addItem("不调整");cbABC->addItem("前移1个时钟");cbABC->addItem("前移2个时钟");cbABC->addItem("前移3个时钟");cbABC->addItem("后移1个时钟");cbABC->addItem("后移2个时钟");cbABC->addItem("后移3个时钟"); hhh->addWidget(cbABC);
|
||||
//3.6.单口带载点数
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("单口带载点数:")); hhh->addWidget(lb);
|
||||
spinPointsOnePort = new QSpinBox; spinPointsOnePort->setRange(1, 999); hhh->addWidget(spinPointsOnePort);
|
||||
hh->addSpacing(20);
|
||||
//第四列区域
|
||||
vvv = new VBox(hh);
|
||||
//4.1.消隐电平
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("消隐电平:")); hhh->addWidget(lb);
|
||||
cbXiaoYinDianPing= new QComboBox(); cbXiaoYinDianPing->addItem("高有效");cbXiaoYinDianPing->addItem("低有效"); hhh->addWidget(cbXiaoYinDianPing);
|
||||
//4.2.锁存信号
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("锁存信号:")); hhh->addWidget(lb);
|
||||
cbSTB = new QComboBox(); cbSTB->addItem("正向");cbSTB->addItem("反向"); hhh->addWidget(cbSTB);
|
||||
//4.3.行输出
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行输出:")); hhh->addWidget(lb);
|
||||
cbSRowOut = new QComboBox(); cbSRowOut->addItem("低有效");cbSRowOut->addItem("高有效"); hhh->addWidget(cbSRowOut);
|
||||
//分割线
|
||||
auto hh1 = new HBox(vBox1);
|
||||
QFrame * line = new QFrame();
|
||||
line->setFrameShape(QFrame::HLine);
|
||||
line->setFrameShadow(QFrame::Sunken);
|
||||
line->setStyleSheet("background-color:#222;");
|
||||
hh1->addWidget(line);
|
||||
|
||||
auto hh2=new HBox(vBox1);
|
||||
//计算结果竖直信息区
|
||||
auto resultInfo = new HBox(hh2);
|
||||
lb = new QLabel(tr("[双锁存]视觉刷新率:")); resultInfo->addWidget(lb);
|
||||
float freshLv1=Get_Frefr(7/*小数权值*/ , 12/*灰度位宽*/ , 12500000/*移位时钟频率*/ , 240/*扫描长度*/ , 16/*扫描类型*/ , 4/*倍频*/ ); m_ctrlFreshRate = new QLabel(QString::number(freshLv1)); resultInfo->addWidget(m_ctrlFreshRate);
|
||||
resultInfo->addStretch();
|
||||
lb = new QLabel(tr("亮度有效率:")); resultInfo->addWidget(lb);
|
||||
float BrightYouXiaoLv1=Get_Eff(8,16); m_ctrlBrightEff = new QLabel(QString::number(BrightYouXiaoLv1)); resultInfo->addWidget(m_ctrlBrightEff);
|
||||
resultInfo->addStretch();
|
||||
lb = new QLabel(tr("最小OE:")); resultInfo->addWidget(lb);
|
||||
float minOe=Get_Eff(8,16); m_ctrlMinOE = new QLabel(QString::number(minOe)); resultInfo->addWidget(m_ctrlMinOE);
|
||||
resultInfo->addStretch();
|
||||
|
||||
vBox1->addStretch();
|
||||
changeValueByEffectControler() ;
|
||||
|
||||
}
|
||||
else if(expertWin->m_iRcvCardType == enum_xixun_sync)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
void DoubleLatchEffectWin::changeValueByEffectControler() {
|
||||
//spinbox
|
||||
if(expertWin->m_iRcvCardType==enum_zrf)
|
||||
{
|
||||
QObject::connect(spinLineNs, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "换行时间当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(spinLineWz, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "行位置当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(spinLineXy, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "消隐时间当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b2=value; });//
|
||||
QObject::connect(spinPointsOnePort, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "单口带载点数当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
|
||||
//combox
|
||||
QObject::connect(cbDCLKf, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "DLC频率当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b18_3_0=value; });//
|
||||
QObject::connect(cbDclkXw, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "DCLK相位当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b19_7_4=value; });//
|
||||
QObject::connect(cbDclkZkb, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "DCLK占空比当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b19_3_0=value; });//
|
||||
QObject::connect(freshBeiLv, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "刷新倍率出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b21_7_5=value; });//
|
||||
QObject::connect(cbGryLevel, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "灰度等级出当前值:" << value;
|
||||
if(expertWin->zrf_rcv_obj.m_pwmFlag==1){
|
||||
switch(value){
|
||||
case 0: expertWin->zrf_rcv_obj.b21_4_0=23; break;//正常4096
|
||||
case 1: expertWin->zrf_rcv_obj.b21_4_0=26; break;//正常8192
|
||||
case 2: expertWin->zrf_rcv_obj.b21_4_0=29; break;//正常16384
|
||||
case 3: expertWin->zrf_rcv_obj.b21_4_0=30; break;//正常32768
|
||||
case 4: expertWin->zrf_rcv_obj.b21_4_0=31; break;//正常65535
|
||||
default: expertWin->zrf_rcv_obj.b21_4_0=31; break;//正常65535
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
expertWin->zrf_rcv_obj.b21_4_0=value; });//
|
||||
QObject::connect(cbNoSign, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "无信号输出出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b29_1_0=value; });//
|
||||
QObject::connect(cbStb, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行信号STB微调出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(cbDE, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行信号DE微调出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(cbABC, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行信号ABC微调出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(cbXiaoYinDianPing, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "消隐电平出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b1_5=value; });//
|
||||
QObject::connect(cbSTB, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "锁存STB电平方向出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b0_6=value; });//
|
||||
QObject::connect(cbSRowOut, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行输出电平出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b0_4=value; });//
|
||||
//checkbox
|
||||
QObject::connect(checkSyncXianKa, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "同步显卡出当前值:" << value;
|
||||
if(value==0) expertWin->zrf_rcv_obj.b26_7=value ;
|
||||
else expertWin->zrf_rcv_obj.b26_7=0b1; });//
|
||||
QObject::connect(checkJianLiang, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "开屏渐亮出当前值:" << value;
|
||||
if(value==0) expertWin->zrf_rcv_obj.b1_0=value ;
|
||||
else expertWin->zrf_rcv_obj.b1_0=0b1; });//
|
||||
QObject::connect(checkDoubleCopy, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "双备份出当前值:" << value;
|
||||
if(value==0) expertWin->zrf_rcv_obj.b1_4=value ;
|
||||
else expertWin->zrf_rcv_obj.b1_4=0b1; });//
|
||||
QObject::connect(checkDsignalAsCLk, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "D信号作为第二组CLK出当前值:" << value;
|
||||
if(value==0) expertWin->zrf_rcv_obj.b1_1=value ;
|
||||
else expertWin->zrf_rcv_obj.b1_1=0b1; });//
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
void DoubleLatchEffectWin::SetEffectControlerValueByClass()
|
||||
{
|
||||
if(expertWin->m_iRcvCardType == enum_zrf) {
|
||||
//spinbox
|
||||
spinLineNs->setValue(expertWin->zrf_rcv_obj.b193); qDebug() << "换行时间当前值:" << spinLineNs->value();
|
||||
spinLineWz->setValue(expertWin->zrf_rcv_obj.b193); qDebug() << "行位置当前值:" << spinLineWz->value();
|
||||
spinLineXy->setValue(expertWin->zrf_rcv_obj.b2); qDebug() << "消隐时间当前值:" << spinLineXy->value();//
|
||||
spinPointsOnePort->setValue(expertWin->zrf_rcv_obj.b193); qDebug() << "单口带载点数当前值:" << spinPointsOnePort->value();
|
||||
|
||||
//combox
|
||||
cbDCLKf->setCurrentIndex(expertWin->zrf_rcv_obj.b18_3_0); qDebug() << "DLC频率当前值:" << cbDCLKf->currentIndex();
|
||||
cbDclkXw->setCurrentIndex(expertWin->zrf_rcv_obj.b19_7_4); qDebug() << "DCLK相位当前值:" << cbDclkXw->currentIndex();
|
||||
cbDclkZkb->setCurrentIndex(expertWin->zrf_rcv_obj.b19_3_0); qDebug() << "DCLK占空比当前值:" << cbDclkZkb->currentIndex();
|
||||
freshBeiLv->setCurrentIndex(expertWin->zrf_rcv_obj.b21_7_5); qDebug() << "刷新倍率出当前值:" << freshBeiLv->currentIndex();
|
||||
|
||||
int index=31;
|
||||
if(expertWin->zrf_rcv_obj.m_pwmFlag==1)
|
||||
switch(expertWin->zrf_rcv_obj.b21_4_0){
|
||||
case 23: index=0; break;//正常4096
|
||||
case 26: index=1; break;//正常8192
|
||||
case 29: index=2; break;//正常16384
|
||||
case 30: index=3; break;//正常32768
|
||||
case 31: index=4; break;//正常65535
|
||||
default: index=4; break;//正常65535
|
||||
}
|
||||
else
|
||||
index=expertWin->zrf_rcv_obj.b21_4_0;
|
||||
cbGryLevel->setCurrentIndex(index); qDebug() << "灰度等级出当前值:" << cbGryLevel->currentIndex();
|
||||
cbNoSign->setCurrentIndex(expertWin->zrf_rcv_obj.b29_1_0); qDebug() << "无信号输出出当前值:" << cbNoSign->currentIndex();
|
||||
cbStb->setCurrentIndex(expertWin->zrf_rcv_obj.b193); qDebug() << "行信号STB微调出当前值:" << cbStb->currentIndex();
|
||||
cbDE->setCurrentIndex(expertWin->zrf_rcv_obj.b193); qDebug() << "行信号DE微调出当前值:" << cbDE->currentIndex();
|
||||
cbABC->setCurrentIndex(expertWin->zrf_rcv_obj.b193); qDebug() << "行信号ABC微调出当前值:" << cbABC->currentIndex();
|
||||
cbXiaoYinDianPing->setCurrentIndex(expertWin->zrf_rcv_obj.b1_5); qDebug() << "消隐电平出当前值:" << cbXiaoYinDianPing->currentIndex();
|
||||
cbSTB->setCurrentIndex(expertWin->zrf_rcv_obj.b0_6); qDebug() << "锁存STB电平方向出当前值:" << cbSTB->currentIndex();
|
||||
cbSRowOut->setCurrentIndex(expertWin->zrf_rcv_obj.b0_4); qDebug() << "行输出电平出当前值:" << cbSRowOut->currentIndex();
|
||||
//checkbox
|
||||
checkSyncXianKa->setChecked(expertWin->zrf_rcv_obj.b26_7); qDebug() << "同步显卡出当前值:" << checkSyncXianKa->isChecked();
|
||||
checkJianLiang->setChecked(expertWin->zrf_rcv_obj.b1_0); qDebug() << "开屏渐亮出当前值:" << checkJianLiang->isChecked();
|
||||
checkDoubleCopy->setChecked(expertWin->zrf_rcv_obj.b1_4); qDebug() << "双备份出当前值:" << checkDoubleCopy->isChecked();
|
||||
checkDsignalAsCLk->setChecked(expertWin->zrf_rcv_obj.b1_1); qDebug() << "D信号作为第二组CLK出当前值:" << checkDsignalAsCLk->isChecked();
|
||||
expertWin->SendBaseParam_zrf();
|
||||
}
|
||||
}
|
||||
void DoubleLatchEffectWin::reSetcontrolerByIcType(QString strIcName)
|
||||
{
|
||||
if(strIcName == "ICN2053")
|
||||
{
|
||||
cbDCLKf->clear();
|
||||
cbDCLKf->addItem("31.2M");cbDCLKf->addItem("25M");cbDCLKf->addItem("20.83M");cbDCLKf->addItem("17.86M");cbDCLKf->addItem("15.63M");cbDCLKf->addItem("12.5M");cbDCLKf->addItem("10.42M");cbDCLKf->addItem("8.9M");
|
||||
cbDCLKf->addItem("7.8M");cbDCLKf->addItem("6.25M");;cbDCLKf->addItem("5.2M");;cbDCLKf->addItem("4.5M");;cbDCLKf->addItem("3.9M");;cbDCLKf->addItem("3.125M"); ;cbDCLKf->addItem("1.9M"); ;cbDCLKf->addItem("1M");
|
||||
|
||||
cbGryLevel->clear();
|
||||
cbGryLevel->addItem("正常16384");
|
||||
freshBeiLv->clear();
|
||||
freshBeiLv->addItem("8");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
#ifndef DOUBLELATCHEFFECTWIN_H
|
||||
#define DOUBLELATCHEFFECTWIN_H
|
||||
#include <QObject>
|
||||
#include <QWidget>
|
||||
#include "expertwin.h"
|
||||
#include <QLabel>
|
||||
#include <QSpinBox>
|
||||
#include <QComboBox>
|
||||
#include <QCheckBox>
|
||||
#include <QRadioButton>
|
||||
class DoubleLatchEffectWin: public QWidget
|
||||
{
|
||||
public:
|
||||
DoubleLatchEffectWin(ExpertWin *parent = nullptr);
|
||||
ExpertWin *expertWin;
|
||||
QSpinBox *spinLineNs,*spinLineWz,*spinLineXy,*spinPointsOnePort;
|
||||
QComboBox *cbDCLKf,*cbDclkXw, *cbDclkZkb,*freshBeiLv,*cbGryLevel,*cbNoSign,*cbStb,*cbDE,*cbABC,*cbXiaoYinDianPing,*cbSTB,*cbSRowOut;
|
||||
QLabel * m_ctrlFreshRate,*m_ctrlBrightEff,*m_ctrlMinOE;
|
||||
QCheckBox * checkSyncXianKa,*checkJianLiang,*checkDoubleCopy,*checkDsignalAsCLk;
|
||||
void changeValueByEffectControler();
|
||||
void SetEffectControlerValueByClass();
|
||||
void reSetcontrolerByIcType(QString strIcName);
|
||||
};
|
||||
|
||||
#endif // DOUBLELATCHEFFECTWIN_H
|
|
@ -0,0 +1,584 @@
|
|||
#include "icn2053.h"
|
||||
#include <QPushButton>
|
||||
#include <QSplitter>
|
||||
#include "gutil/qgui.h"
|
||||
#include <QTabWidget>
|
||||
#include <QLineEdit>
|
||||
#include <QPushButton>
|
||||
#include <QGroupBox>
|
||||
#include <QStackedWidget>
|
||||
#include <QRadioButton>
|
||||
#include <QCheckBox>
|
||||
#include <QApplication>
|
||||
#include <QFile>
|
||||
#include <QJsonDocument>
|
||||
|
||||
|
||||
icn_2053::icn_2053(ExpertWin *expertWin) : BaseWin{expertWin}, expertWin(expertWin)
|
||||
{
|
||||
setWindowModality(Qt::WindowModal);
|
||||
setAttribute(Qt::WA_DeleteOnClose);
|
||||
setWindowTitle(tr("电流增益调节设置"));
|
||||
resize(480, 200);
|
||||
auto vBox = new QVBoxLayout(center);
|
||||
vBox->setContentsMargins(0,0,0,0);
|
||||
vBox->setSpacing(3);
|
||||
vBox->addLayout(addBtns(new QHBoxLayout()));
|
||||
|
||||
|
||||
|
||||
auto tab = new QTabWidget;
|
||||
tab->setStyleSheet(R"rrr(
|
||||
QTabWidget::pane {border: 1px solid #888; margin-top:-1px;}
|
||||
QTabBar::tab {margin-top: 4px; padding: 6px 20px; border: 1px solid #888; border-radius: 0 0 3px 3px;}
|
||||
QTabBar::tab:selected {margin-top: 0; border-bottom: none; color: #acf; background-color: #666;}
|
||||
)rrr");
|
||||
vBox->addWidget(tab);
|
||||
|
||||
auto dianliu = new QWidget;
|
||||
tab->addTab(dianliu, "电流增益调节");
|
||||
{
|
||||
int iMax=200;
|
||||
int iMin=10;
|
||||
int iInitValue=100;
|
||||
auto vBox = new VBox(dianliu);
|
||||
vBox->addStretch();
|
||||
auto hBox = new HBox(vBox);
|
||||
auto lb = new QLabel(tr("红灯")+":");
|
||||
lb->setMinimumWidth(70);
|
||||
lb->setAlignment(Qt::AlignRight);
|
||||
hBox->addWidget(lb);
|
||||
|
||||
fdBright_r = new QSpinBox();
|
||||
fdBright_r->setRange(iMin,iMax);
|
||||
fdBright_r->setValue(iInitValue);
|
||||
hBox->addWidget(fdBright_r);
|
||||
hBox->addSpacing(10);
|
||||
|
||||
sliBright_r = new QSlider(Qt::Horizontal);
|
||||
sliBright_r->setRange(iMin,iMax);
|
||||
sliBright_r->setValue(iInitValue);
|
||||
hBox->addWidget(sliBright_r);
|
||||
connect(fdBright_r, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, this, [=](int value){
|
||||
sliBright_r->setValue(value);
|
||||
if(m_chk->isChecked()){
|
||||
sliBright_g->setValue(value);
|
||||
sliBright_b->setValue(value);
|
||||
}
|
||||
});
|
||||
connect(sliBright_r, &QSlider::valueChanged, this, [=](int value){
|
||||
fdBright_r->setValue(value);
|
||||
if(m_chk->isChecked()){
|
||||
fdBright_b->setValue(value);
|
||||
fdBright_g->setValue(value);
|
||||
}
|
||||
});
|
||||
|
||||
hBox = new HBox(vBox);
|
||||
lb = new QLabel(tr("绿灯")+":");
|
||||
lb->setMinimumWidth(70);
|
||||
lb->setAlignment(Qt::AlignRight);
|
||||
hBox->addWidget(lb);
|
||||
|
||||
fdBright_g = new QSpinBox();
|
||||
fdBright_g->setRange(iMin,iMax);
|
||||
fdBright_g->setValue(iInitValue);
|
||||
hBox->addWidget(fdBright_g);
|
||||
hBox->addSpacing(10);
|
||||
|
||||
sliBright_g = new QSlider(Qt::Horizontal);
|
||||
sliBright_g->setRange(iMin,iMax);
|
||||
sliBright_g->setValue(iInitValue);
|
||||
hBox->addWidget(sliBright_g);
|
||||
connect(fdBright_g, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, this, [=](int value){
|
||||
sliBright_g->setValue(value);
|
||||
if(m_chk->isChecked()){
|
||||
sliBright_r->setValue(value);
|
||||
sliBright_b->setValue(value);
|
||||
}
|
||||
});
|
||||
connect(sliBright_g, &QSlider::valueChanged, this, [=](int value){
|
||||
fdBright_g->setValue(value);
|
||||
if(m_chk->isChecked()){
|
||||
fdBright_r->setValue(value);
|
||||
fdBright_b->setValue(value);
|
||||
}
|
||||
});
|
||||
|
||||
hBox = new HBox(vBox);
|
||||
lb = new QLabel(tr("蓝灯")+":");
|
||||
lb->setMinimumWidth(70);
|
||||
lb->setAlignment(Qt::AlignRight);
|
||||
hBox->addWidget(lb);
|
||||
|
||||
fdBright_b = new QSpinBox();
|
||||
fdBright_b->setRange(iMin,iMax);
|
||||
fdBright_b->setValue(iInitValue);
|
||||
hBox->addWidget(fdBright_b);
|
||||
hBox->addSpacing(10);
|
||||
|
||||
sliBright_b = new QSlider(Qt::Horizontal);
|
||||
sliBright_b->setRange(iMin,iMax);
|
||||
sliBright_b->setValue(iInitValue);
|
||||
hBox->addWidget(sliBright_b);
|
||||
connect(fdBright_b, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, this, [=](int value){
|
||||
sliBright_b->setValue(value);
|
||||
if(m_chk->isChecked()){
|
||||
sliBright_g->setValue(value);
|
||||
sliBright_r->setValue(value);
|
||||
}
|
||||
});
|
||||
connect(sliBright_b, &QSlider::valueChanged, this, [=](int value){
|
||||
fdBright_b->setValue(value);
|
||||
if(m_chk->isChecked()){
|
||||
fdBright_r->setValue(value);
|
||||
fdBright_g->setValue(value);
|
||||
}
|
||||
});
|
||||
|
||||
hBox = new HBox(vBox);
|
||||
m_chk = new QCheckBox(tr("同步"));
|
||||
connect(m_chk, &QCheckBox::stateChanged, this, [=](int value) {
|
||||
if(value==0)
|
||||
{
|
||||
}
|
||||
else{
|
||||
fdBright_g->setValue(fdBright_r->value());
|
||||
fdBright_b->setValue(fdBright_r->value());
|
||||
}
|
||||
});
|
||||
hBox->addWidget(m_chk);
|
||||
|
||||
|
||||
vBox->addStretch();
|
||||
|
||||
//应用按钮
|
||||
hBox = new HBox(vBox);
|
||||
auto btn = new QPushButton(tr("应用"));
|
||||
btn->setProperty("ss","blue");
|
||||
hBox->addStretch();
|
||||
hBox->addWidget(btn);
|
||||
hBox->addStretch();
|
||||
connect(btn, &QPushButton::clicked, this, [this] {
|
||||
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
auto kuoZhan = new QWidget;
|
||||
|
||||
tab->addTab(kuoZhan, "扩展属性");
|
||||
{
|
||||
auto vBox = new VBox(kuoZhan);
|
||||
auto gBox = new QGroupBox("");
|
||||
vBox->addWidget(gBox);
|
||||
{
|
||||
auto hh = new HBox(gBox);
|
||||
hh->addSpacing(20);
|
||||
auto vvv = new VBox(hh);
|
||||
vvv->addStretch();
|
||||
auto lb = new QLabel(" ");
|
||||
vvv->addWidget(lb);
|
||||
lb = new QLabel("低灰麻点优化: ");
|
||||
vvv->addWidget(lb);
|
||||
lb = new QLabel("消隐等级: ");
|
||||
vvv->addWidget(lb);
|
||||
lb = new QLabel("低灰白平衡调节: ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addStretch();
|
||||
|
||||
|
||||
vvv = new VBox(hh);
|
||||
vvv->addStretch();
|
||||
lb = new QLabel("红芯片 ");
|
||||
vvv->addWidget(lb);
|
||||
auto r_madianyouhua = new QSpinBox();
|
||||
r_madianyouhua->setRange(0,3);
|
||||
r_madianyouhua->setValue(1);
|
||||
vvv->addWidget(r_madianyouhua);
|
||||
auto r_xiaoyinlevel = new QSpinBox();
|
||||
r_xiaoyinlevel->setRange(0,31);
|
||||
r_xiaoyinlevel->setValue(31);
|
||||
vvv->addWidget(r_xiaoyinlevel);
|
||||
auto r_dibaipingheng = new QSpinBox();
|
||||
r_madianyouhua->setRange(0,15);
|
||||
r_madianyouhua->setValue(15);
|
||||
vvv->addWidget(r_dibaipingheng);
|
||||
vvv->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
vvv->addStretch();
|
||||
lb = new QLabel("绿芯片 ");
|
||||
vvv->addWidget(lb);
|
||||
auto g_madianyouhua = new QSpinBox();
|
||||
g_madianyouhua->setRange(0,3);
|
||||
g_madianyouhua->setValue(1);
|
||||
vvv->addWidget(g_madianyouhua);
|
||||
auto g_xiaoyinlevel = new QSpinBox();
|
||||
g_xiaoyinlevel->setRange(0,31);
|
||||
g_xiaoyinlevel->setValue(31);
|
||||
vvv->addWidget(g_xiaoyinlevel);
|
||||
auto g_dibaipingheng = new QSpinBox();
|
||||
g_madianyouhua->setRange(0,15);
|
||||
g_madianyouhua->setValue(15);
|
||||
vvv->addWidget(g_dibaipingheng);
|
||||
vvv->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
vvv->addStretch();
|
||||
lb = new QLabel("蓝芯片 ");
|
||||
vvv->addWidget(lb);
|
||||
auto b_madianyouhua = new QSpinBox();
|
||||
b_madianyouhua->setRange(0,3);
|
||||
b_madianyouhua->setValue(1);
|
||||
vvv->addWidget(b_madianyouhua);
|
||||
auto b_xiaoyinlevel = new QSpinBox();
|
||||
b_xiaoyinlevel->setRange(0,31);
|
||||
b_xiaoyinlevel->setValue(31);
|
||||
vvv->addWidget(b_xiaoyinlevel);
|
||||
auto b_dibaipingheng = new QSpinBox();
|
||||
b_madianyouhua->setRange(0,15);
|
||||
b_madianyouhua->setValue(15);
|
||||
vvv->addWidget(b_dibaipingheng);
|
||||
vvv->addStretch();
|
||||
|
||||
|
||||
hh = new HBox(vBox);
|
||||
//亮度调节
|
||||
lb = new QLabel(tr("亮度调节(10~100):")); hh->addWidget(lb);
|
||||
auto spinbright = new QSpinBox; spinbright->setRange(10, 100); spinbright->setValue(100); hh->addWidget(spinbright); hh->addStretch();
|
||||
vBox->addStretch();
|
||||
}
|
||||
//应用按钮
|
||||
auto hBox = new HBox(vBox);
|
||||
auto btn = new QPushButton(tr("应用"));
|
||||
btn->setProperty("ss","blue");
|
||||
hBox->addStretch();
|
||||
hBox->addWidget(btn);
|
||||
hBox->addStretch();
|
||||
|
||||
connect(btn, &QPushButton::clicked, this, [this] {
|
||||
|
||||
});
|
||||
}
|
||||
auto AdvanceAdjust = new QWidget;
|
||||
tab->addTab(AdvanceAdjust, "高级调节");
|
||||
{
|
||||
auto vBox = new VBox(AdvanceAdjust);
|
||||
auto hBox = new HBox(vBox);
|
||||
auto gBox = new QGroupBox("第一组寄存器");
|
||||
hBox->addWidget(gBox);
|
||||
{
|
||||
auto hh = new HBox(gBox);
|
||||
hh->addSpacing(20);
|
||||
auto vvv = new VBox(hh);
|
||||
auto lb = new QLabel(" ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addSpacing(5);
|
||||
lb = new QLabel("红芯片: ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addSpacing(6);
|
||||
lb = new QLabel("绿芯片: ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addSpacing(7);
|
||||
lb = new QLabel("蓝芯片: ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
lb = new QLabel("高字节(hex) ");
|
||||
vvv->addWidget(lb);
|
||||
QRegExp regx("[A-Fa-f0-9]{2}");
|
||||
m_r_AddrH1= new QLineEdit("1F");
|
||||
QValidator *validator = new QRegExpValidator(regx);
|
||||
m_r_AddrH1->setValidator(validator);
|
||||
vvv->addWidget(m_r_AddrH1);
|
||||
m_g_AddrH1 = new QLineEdit("1F") ;
|
||||
m_g_AddrH1->setValidator(validator);
|
||||
vvv->addWidget(m_g_AddrH1);
|
||||
m_b_AddrH1 = new QLineEdit("1F") ;
|
||||
m_b_AddrH1->setValidator(validator);
|
||||
vvv->addWidget(m_b_AddrH1);
|
||||
vvv->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
lb = new QLabel("低字节(hex) ");
|
||||
vvv->addWidget(lb);
|
||||
|
||||
m_r_AddrL1= new QLineEdit("70");
|
||||
m_r_AddrL1->setValidator(validator);
|
||||
vvv->addWidget(m_r_AddrL1);
|
||||
m_g_AddrL1 = new QLineEdit("70") ;
|
||||
m_g_AddrL1->setValidator(validator);
|
||||
vvv->addWidget(m_g_AddrL1);
|
||||
m_b_AddrL1 = new QLineEdit("70") ;
|
||||
m_b_AddrL1->setValidator(validator);
|
||||
vvv->addWidget(m_b_AddrL1);
|
||||
vvv->addStretch();
|
||||
|
||||
}
|
||||
gBox = new QGroupBox("第二组寄存器");
|
||||
hBox->addWidget(gBox);
|
||||
{
|
||||
auto hh = new HBox(gBox);
|
||||
hh->addSpacing(20);
|
||||
auto vvv = new VBox(hh);
|
||||
auto lb = new QLabel(" ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addSpacing(6);
|
||||
lb = new QLabel("红芯片: ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addSpacing(5);
|
||||
lb = new QLabel("绿芯片: ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addSpacing(7);
|
||||
lb = new QLabel("蓝芯片: ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
lb = new QLabel("高字节(hex) ");
|
||||
vvv->addWidget(lb);
|
||||
QRegExp regx("[A-Fa-f0-9]{2}");
|
||||
m_r_AddrH2= new QLineEdit("7F");
|
||||
QValidator *validator = new QRegExpValidator(regx);
|
||||
m_r_AddrH2->setValidator(validator);
|
||||
vvv->addWidget(m_r_AddrH2);
|
||||
m_g_AddrH2 = new QLineEdit("7F") ;
|
||||
m_g_AddrH2->setValidator(validator);
|
||||
vvv->addWidget(m_g_AddrH2);
|
||||
m_b_AddrH2 = new QLineEdit("7F") ;
|
||||
m_b_AddrH2->setValidator(validator);
|
||||
vvv->addWidget(m_b_AddrH2);
|
||||
vvv->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
lb = new QLabel("低字节(hex) ");
|
||||
vvv->addWidget(lb);
|
||||
|
||||
m_r_AddrL2= new QLineEdit("FF");
|
||||
m_r_AddrL2->setValidator(validator);
|
||||
vvv->addWidget(m_r_AddrL2);
|
||||
m_g_AddrL2 = new QLineEdit("FF") ;
|
||||
m_g_AddrL2->setValidator(validator);
|
||||
vvv->addWidget(m_g_AddrL2);
|
||||
m_b_AddrL2 = new QLineEdit("FF") ;
|
||||
m_b_AddrL2->setValidator(validator);
|
||||
vvv->addWidget(m_b_AddrL2);
|
||||
vvv->addStretch();
|
||||
}
|
||||
hBox = new HBox(vBox);
|
||||
gBox = new QGroupBox("第三组寄存器");
|
||||
hBox->addWidget(gBox);
|
||||
{
|
||||
auto hh = new HBox(gBox);
|
||||
hh->addSpacing(20);
|
||||
auto vvv = new VBox(hh);
|
||||
auto lb = new QLabel(" ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addSpacing(5);
|
||||
lb = new QLabel("红芯片: ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addSpacing(6);
|
||||
lb = new QLabel("绿芯片: ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addSpacing(7);
|
||||
lb = new QLabel("蓝芯片: ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
lb = new QLabel("高字节(hex) ");
|
||||
vvv->addWidget(lb);
|
||||
QRegExp regx("[A-Fa-f0-9]{2}");
|
||||
m_r_AddrH3= new QLineEdit("40");
|
||||
QValidator *validator = new QRegExpValidator(regx);
|
||||
m_r_AddrH3->setValidator(validator);
|
||||
vvv->addWidget(m_r_AddrH3);
|
||||
m_g_AddrH3 = new QLineEdit("40") ;
|
||||
m_g_AddrH3->setValidator(validator);
|
||||
vvv->addWidget(m_g_AddrH3);
|
||||
m_b_AddrH3 = new QLineEdit("40") ;
|
||||
m_b_AddrH3->setValidator(validator);
|
||||
vvv->addWidget(m_b_AddrH3);
|
||||
vvv->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
lb = new QLabel("低字节(hex) ");
|
||||
vvv->addWidget(lb);
|
||||
|
||||
m_r_AddrL3= new QLineEdit("07");
|
||||
m_r_AddrL3->setValidator(validator);
|
||||
vvv->addWidget(m_r_AddrL3);
|
||||
m_g_AddrL3= new QLineEdit("07") ;
|
||||
m_g_AddrL3->setValidator(validator);
|
||||
vvv->addWidget(m_g_AddrL3);
|
||||
m_b_AddrL3 = new QLineEdit("07") ;
|
||||
m_b_AddrL3->setValidator(validator);
|
||||
vvv->addWidget(m_b_AddrL3);
|
||||
vvv->addStretch();
|
||||
|
||||
}
|
||||
gBox = new QGroupBox("第四组寄存器");
|
||||
hBox->addWidget(gBox);
|
||||
{
|
||||
auto hh = new HBox(gBox);
|
||||
hh->addSpacing(20);
|
||||
auto vvv = new VBox(hh);
|
||||
auto lb = new QLabel(" ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addSpacing(5);
|
||||
lb = new QLabel("红芯片: ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addSpacing(6);
|
||||
lb = new QLabel("绿芯片: ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addSpacing(7);
|
||||
lb = new QLabel("蓝芯片: ");
|
||||
vvv->addWidget(lb);
|
||||
vvv->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
lb = new QLabel("高字节(hex) ");
|
||||
vvv->addWidget(lb);
|
||||
QRegExp regx("[A-Fa-f0-9]{2}");
|
||||
m_r_AddrH4= new QLineEdit("00");
|
||||
QValidator *validator = new QRegExpValidator(regx);
|
||||
m_r_AddrH4->setValidator(validator);
|
||||
vvv->addWidget(m_r_AddrH4);
|
||||
m_g_AddrH4 = new QLineEdit("00") ;
|
||||
m_g_AddrH4->setValidator(validator);
|
||||
vvv->addWidget(m_g_AddrH4);
|
||||
m_b_AddrH4 = new QLineEdit("00") ;
|
||||
m_b_AddrH4->setValidator(validator);
|
||||
vvv->addWidget(m_b_AddrH4);
|
||||
vvv->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
lb = new QLabel("低字节(hex) ");
|
||||
vvv->addWidget(lb);
|
||||
|
||||
m_r_AddrL4= new QLineEdit("40");
|
||||
m_r_AddrL4->setValidator(validator);
|
||||
vvv->addWidget(m_r_AddrL4);
|
||||
m_g_AddrL4 = new QLineEdit("40") ;
|
||||
m_g_AddrL4->setValidator(validator);
|
||||
vvv->addWidget(m_g_AddrL4);
|
||||
m_b_AddrL4 = new QLineEdit("40") ;
|
||||
m_b_AddrL4->setValidator(validator);
|
||||
vvv->addWidget(m_b_AddrL4);
|
||||
vvv->addStretch();
|
||||
|
||||
}
|
||||
//应用按钮
|
||||
hBox = new HBox(vBox);
|
||||
auto btn = new QPushButton(tr("应用"));
|
||||
btn->setProperty("ss","blue");
|
||||
hBox->addStretch();
|
||||
hBox->addWidget(btn);
|
||||
hBox->addStretch();
|
||||
|
||||
connect(btn, &QPushButton::clicked, this, [=] {
|
||||
expertWin->zrf_rcv_obj.b169_192[0]=m_r_AddrH1->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[1]=m_r_AddrL1->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[2]=m_r_AddrH2->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[3]=m_r_AddrL2->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[4]=m_r_AddrH3->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[5]=m_r_AddrL3->text().toInt(NULL, 16);
|
||||
|
||||
|
||||
expertWin->zrf_rcv_obj.b169_192[6]=m_g_AddrH1->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[7]=m_g_AddrL1->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[8]=m_g_AddrH2->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[9]=m_g_AddrL2->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[10]=m_g_AddrH3->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[11]=m_g_AddrL3->text().toInt(NULL, 16);
|
||||
|
||||
expertWin->zrf_rcv_obj.b169_192[12]=m_b_AddrH1->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[13]=m_b_AddrL1->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[14]=m_b_AddrH2->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[15]=m_b_AddrL2->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[16]=m_b_AddrH3->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[17]=m_b_AddrL3->text().toInt(NULL, 16);
|
||||
|
||||
expertWin->zrf_rcv_obj.b169_192[18]=m_r_AddrH4->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[19]=m_r_AddrL4->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[20]=m_g_AddrH4->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[21]=m_g_AddrL4->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[22]=m_b_AddrH4->text().toInt(NULL, 16);
|
||||
expertWin->zrf_rcv_obj.b169_192[23]=m_b_AddrL4->text().toInt(NULL, 16);
|
||||
expertWin->classToBaseMsg();
|
||||
expertWin->SendBaseParam_zrf();
|
||||
});
|
||||
|
||||
btn = new QPushButton(tr("恢复默认值"));
|
||||
btn->setProperty("ss","blue");
|
||||
hBox->addWidget(btn);
|
||||
connect(btn, &QPushButton::clicked, this, [=] {
|
||||
m_r_AddrH1->setText("1F");
|
||||
m_r_AddrL1->setText("70");
|
||||
m_g_AddrH1->setText("1F");
|
||||
m_g_AddrL1->setText("70");
|
||||
m_b_AddrH1->setText("1F");
|
||||
m_b_AddrL1->setText("70");
|
||||
|
||||
m_r_AddrH2->setText("7F");
|
||||
m_r_AddrL2->setText("FF");
|
||||
m_g_AddrH2->setText("7F");
|
||||
m_g_AddrL2->setText("FF");
|
||||
m_b_AddrH2->setText("7F");
|
||||
m_b_AddrL2->setText("FF");
|
||||
|
||||
m_r_AddrH3->setText("40");
|
||||
m_r_AddrL3->setText("07");
|
||||
m_g_AddrH3->setText("40");
|
||||
m_g_AddrL3->setText("07");
|
||||
m_b_AddrH3->setText("40");
|
||||
m_b_AddrL3->setText("07");
|
||||
|
||||
m_r_AddrH4->setText("00");
|
||||
m_r_AddrL4->setText("40");
|
||||
m_g_AddrH4->setText("00");
|
||||
m_g_AddrL4->setText("40");
|
||||
m_b_AddrH4->setText("00");
|
||||
m_b_AddrL4->setText("40");
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
init();
|
||||
|
||||
}
|
||||
void icn_2053::init()
|
||||
{
|
||||
m_r_AddrH1->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[0],2,16,QLatin1Char('0')).toUpper());
|
||||
m_r_AddrL1->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[1],2,16,QLatin1Char('0')).toUpper());
|
||||
m_r_AddrH2->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[2],2,16,QLatin1Char('0')).toUpper());
|
||||
m_r_AddrL2->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[3],2,16,QLatin1Char('0')).toUpper());
|
||||
m_r_AddrH3->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[4],2,16,QLatin1Char('0')).toUpper());
|
||||
m_r_AddrL3->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[5],2,16,QLatin1Char('0')).toUpper());
|
||||
|
||||
|
||||
m_g_AddrH1->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[6],2,16,QLatin1Char('0')).toUpper());
|
||||
m_g_AddrL1->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[7],2,16,QLatin1Char('0')).toUpper());
|
||||
m_g_AddrH2->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[8],2,16,QLatin1Char('0')).toUpper());
|
||||
m_g_AddrL2->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[9],2,16,QLatin1Char('0')).toUpper());
|
||||
m_g_AddrH3->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[10],2,16,QLatin1Char('0')).toUpper());
|
||||
m_g_AddrL3->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[11],2,16,QLatin1Char('0')).toUpper());
|
||||
|
||||
m_b_AddrH1->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[12],2,16,QLatin1Char('0')).toUpper());
|
||||
m_b_AddrL1->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[13],2,16,QLatin1Char('0')).toUpper());
|
||||
m_b_AddrH2->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[14],2,16,QLatin1Char('0')).toUpper());
|
||||
m_b_AddrL2->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[15],2,16,QLatin1Char('0')).toUpper());
|
||||
m_b_AddrH3->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[16],2,16,QLatin1Char('0')).toUpper());
|
||||
m_b_AddrL3->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[17],2,16,QLatin1Char('0')).toUpper());
|
||||
|
||||
m_r_AddrH4->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[18],2,16,QLatin1Char('0')).toUpper());
|
||||
m_r_AddrL4->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[19],2,16,QLatin1Char('0')).toUpper());
|
||||
m_g_AddrH4->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[20],2,16,QLatin1Char('0')).toUpper());
|
||||
m_g_AddrL4->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[21],2,16,QLatin1Char('0')).toUpper());
|
||||
m_b_AddrH4->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[22],2,16,QLatin1Char('0')).toUpper());
|
||||
m_b_AddrL4->setText(QString("%1").arg(expertWin->zrf_rcv_obj.b169_192[23],2,16,QLatin1Char('0')).toUpper());
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
#ifndef ICN2053_H
|
||||
#define ICN2053_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QWidget>
|
||||
#include "expertwin.h"
|
||||
#include <QLineEdit >
|
||||
class icn_2053: public BaseWin {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit icn_2053(ExpertWin *parent = nullptr);
|
||||
ExpertWin *expertWin;
|
||||
|
||||
QLineEdit *m_r_AddrH1,*m_g_AddrH1,*m_b_AddrH1,*m_r_AddrL1,*m_g_AddrL1,*m_b_AddrL1;
|
||||
QLineEdit *m_r_AddrH2,*m_g_AddrH2,*m_b_AddrH2,*m_r_AddrL2,*m_g_AddrL2,*m_b_AddrL2;
|
||||
QLineEdit *m_r_AddrH3,*m_g_AddrH3,*m_b_AddrH3,*m_r_AddrL3,*m_g_AddrL3,*m_b_AddrL3;
|
||||
QLineEdit *m_r_AddrH4,*m_g_AddrH4,*m_b_AddrH4,*m_r_AddrL4,*m_g_AddrL4,*m_b_AddrL4;
|
||||
QSpinBox *fdBright_r ,*fdBright_g,*fdBright_b;
|
||||
QSlider * sliBright_r , *sliBright_g, *sliBright_b ;
|
||||
QCheckBox *m_chk ;
|
||||
void init();
|
||||
};
|
||||
|
||||
#endif // ICN2053_H
|
|
@ -0,0 +1,293 @@
|
|||
#include "normaleffectwin.h"
|
||||
#include "globalfunc.h"
|
||||
#include "gutil/qgui.h"
|
||||
#include <QPushButton>
|
||||
#include <QStackedWidget>
|
||||
#include <QCheckBox>
|
||||
#include "efffrefr.h"
|
||||
NormalEffectWin::NormalEffectWin(ExpertWin *parent)
|
||||
{
|
||||
expertWin=parent;
|
||||
resize(880, 220);
|
||||
{
|
||||
if(expertWin->m_iRcvCardType == enum_zrf)
|
||||
{
|
||||
auto vBox1=new VBox(this);
|
||||
auto hh = new HBox(vBox1);
|
||||
hh->addSpacing(20);
|
||||
//第一列区域
|
||||
auto vvv = new VBox(hh);
|
||||
//1.1.移位时钟频率
|
||||
auto hhh = new HBox(vvv);
|
||||
auto lb = new QLabel(tr("DCLK频率:"));
|
||||
hhh->addWidget(lb);
|
||||
cbDCLKf = new QComboBox(); cbDCLKf->addItem("31.2M");cbDCLKf->addItem("25M");cbDCLKf->addItem("20.83M");cbDCLKf->addItem("17.86M");cbDCLKf->addItem("15.63M");cbDCLKf->addItem("12.5M");cbDCLKf->addItem("10.42M");cbDCLKf->addItem("8.9M");
|
||||
cbDCLKf->addItem("7.8M");cbDCLKf->addItem("6.25M");;cbDCLKf->addItem("5.2M");;cbDCLKf->addItem("4.5M");;cbDCLKf->addItem("3.9M");;cbDCLKf->addItem("3.125M"); ;cbDCLKf->addItem("1.9M"); ;cbDCLKf->addItem("1M"); hhh->addWidget(cbDCLKf);
|
||||
//1.2.灰度级别
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("灰度级数:")); hhh->addWidget(lb);
|
||||
cbGryLevel = new QComboBox(); cbGryLevel->addItem("无灰度"); cbGryLevel->addItem("无OE8级");cbGryLevel->addItem("无OE16级");cbGryLevel->addItem("无OE32级");cbGryLevel->addItem("无OE64级");cbGryLevel->addItem("正常16级"); cbGryLevel->addItem("高亮16级");cbGryLevel->addItem("正常32级");
|
||||
cbGryLevel->addItem("高亮32级");cbGryLevel->addItem("正常64级");cbGryLevel->addItem("高亮64级");cbGryLevel->addItem("正常128级");cbGryLevel->addItem("高亮128级");cbGryLevel->addItem("正常256级");cbGryLevel->addItem("高亮256级");cbGryLevel->addItem("正常512级");
|
||||
cbGryLevel->addItem("高亮512级");cbGryLevel->addItem("正常1024级");cbGryLevel->addItem("高亮1024级");cbGryLevel->addItem("低亮2048级");cbGryLevel->addItem("正常2048级");cbGryLevel->addItem("高亮2048级");cbGryLevel->addItem("低亮4096级");cbGryLevel->addItem("正常4096级");
|
||||
cbGryLevel->addItem("高亮4096级");cbGryLevel->addItem("低亮8192级");cbGryLevel->addItem("正常8192级");cbGryLevel->addItem("高亮8192级");cbGryLevel->addItem("低亮16384级");cbGryLevel->addItem("正常16384");cbGryLevel->addItem("正常32768级");cbGryLevel->addItem("正常65535级"); hhh->addWidget(cbGryLevel);
|
||||
//1.3.刷新倍率
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("刷新倍率:")); hhh->addWidget(lb);
|
||||
freshBeiLv = new QComboBox(); freshBeiLv->addItem("1");freshBeiLv->addItem("2");freshBeiLv->addItem("3");freshBeiLv->addItem("4");freshBeiLv->addItem("5");freshBeiLv->addItem("6");freshBeiLv->addItem("7");freshBeiLv->addItem("8"); hhh->addWidget(freshBeiLv);
|
||||
//1.4.换行时间
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("换行时间(ns):")); hhh->addWidget(lb);
|
||||
spinLineNs = new QSpinBox; spinLineNs->setRange(2, 9999); hhh->addWidget(spinLineNs);
|
||||
//1.5.换行位置
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("换行位置(ns):")); hhh->addWidget(lb);
|
||||
spinLineWz = new QSpinBox; spinLineWz->setRange(2, 9999); hhh->addWidget(spinLineWz);
|
||||
//1.6.行消隐时间
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行消隐时间(ns):")); hhh->addWidget(lb);
|
||||
spinLineXy = new QSpinBox; spinLineWz->setRange(2, 9999); hhh->addWidget(spinLineXy);
|
||||
|
||||
//第二列区域
|
||||
hh->addSpacing(20);
|
||||
vvv = new VBox(hh);
|
||||
//2.1.无信号数据
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("无信号数据:")); hhh->addWidget(lb);
|
||||
cbNoSign = new QComboBox();
|
||||
cbNoSign->addItem("最后一帧画面");cbNoSign->addItem("黑屏"); hhh->addWidget(cbNoSign);
|
||||
//2.2.显卡同步
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("显卡同步")); hhh->addWidget(lb);
|
||||
checkSyncXianKa = new QCheckBox; checkSyncXianKa->setChecked(true); hhh->addWidget(checkSyncXianKa);
|
||||
//2.3.开屏渐亮
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("双卡备份")); hhh->addWidget(lb);
|
||||
checkDoubleCopy = new QCheckBox; checkDoubleCopy->setChecked(false); hhh->addWidget(checkDoubleCopy);
|
||||
//2.4.开屏渐亮
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("开屏渐亮")); hhh->addWidget(lb);
|
||||
checkJianLiang = new QCheckBox; checkSyncXianKa->setChecked(false); hhh->addWidget(checkJianLiang);
|
||||
//2.5.D信号为第二组时钟
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("信号为第二组时钟")); hhh->addWidget(lb);
|
||||
checkDsignalAsCLk = new QCheckBox; checkDsignalAsCLk->setChecked(false); hhh->addWidget(checkDsignalAsCLk);
|
||||
|
||||
//更多设置
|
||||
hh->addStretch();
|
||||
vvv = new VBox(hh);
|
||||
vvv->addStretch();
|
||||
hhh = new HBox(vvv);
|
||||
auto btn = new QPushButton(tr("更多设置"));
|
||||
btn->setProperty("ss","blue");
|
||||
hhh->addWidget(btn);
|
||||
connect(btn, &QPushButton::clicked, this, [=] {
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
vvv->addStretch();
|
||||
hh->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
//分割线
|
||||
auto hh3 = new HBox(vvv);
|
||||
QFrame * line2 = new QFrame();
|
||||
line2->setFrameShape(QFrame::VLine);
|
||||
line2->setFrameShadow(QFrame::Sunken);
|
||||
line2->setStyleSheet("background-color:#222;");
|
||||
hh3->addWidget(line2);
|
||||
|
||||
//第三列区域
|
||||
vvv = new VBox(hh);
|
||||
//3.1.DCLK相位
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("DCLK相位:")); hhh->addWidget(lb);
|
||||
cbDclkXw = new QComboBox(); cbDclkXw->addItem("0度");cbDclkXw->addItem("+90度");cbDclkXw->addItem("-90度"); hhh->addWidget(cbDclkXw);
|
||||
//3.2.DCLK占空比
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("DCLK占空比:")); hhh->addWidget(lb);
|
||||
cbDclkZkb = new QComboBox(); cbDclkZkb->addItem("50%");cbDclkZkb->addItem("25%");cbDclkZkb->addItem("75%"); hhh->addWidget(cbDclkZkb);
|
||||
//3.3.锁存STB相位微调
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("锁存STB相位微调:")); hhh->addWidget(lb);
|
||||
cbStb = new QComboBox(); cbStb->addItem("不调整");cbStb->addItem("前移1个时钟");cbStb->addItem("前移2个时钟");cbStb->addItem("前移3个时钟");cbStb->addItem("后移1个时钟");cbStb->addItem("后移2个时钟");cbStb->addItem("后移3个时钟"); hhh->addWidget(cbStb);
|
||||
//3.4.行信号DE相位微调
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行信号DE相位微调:")); hhh->addWidget(lb);
|
||||
cbDE = new QComboBox(); cbDE->addItem("不调整");cbDE->addItem("前移1个时钟");cbDE->addItem("前移2个时钟");cbDE->addItem("前移3个时钟");cbDE->addItem("后移1个时钟");cbDE->addItem("后移2个时钟");cbDE->addItem("后移3个时钟"); hhh->addWidget(cbDE);
|
||||
//3.5.行信号ABC相位微调
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行信号ABC相位微调:")); hhh->addWidget(lb);
|
||||
cbABC = new QComboBox(); cbABC->addItem("不调整");cbABC->addItem("前移1个时钟");cbABC->addItem("前移2个时钟");cbABC->addItem("前移3个时钟");cbABC->addItem("后移1个时钟");cbABC->addItem("后移2个时钟");cbABC->addItem("后移3个时钟"); hhh->addWidget(cbABC);
|
||||
//3.6.单口带载点数
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("单口带载点数:")); hhh->addWidget(lb);
|
||||
spinPointsOnePort = new QSpinBox; spinPointsOnePort->setRange(1, 999); hhh->addWidget(spinPointsOnePort);
|
||||
hh->addSpacing(20);
|
||||
//第四列区域
|
||||
vvv = new VBox(hh);
|
||||
//4.1.消隐电平
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("消隐电平:")); hhh->addWidget(lb);
|
||||
cbXiaoYinDianPing= new QComboBox(); cbXiaoYinDianPing->addItem("高有效");cbXiaoYinDianPing->addItem("低有效"); hhh->addWidget(cbXiaoYinDianPing);
|
||||
//4.2.锁存信号
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("锁存信号:")); hhh->addWidget(lb);
|
||||
cbSTB = new QComboBox(); cbSTB->addItem("正向");cbSTB->addItem("反向"); hhh->addWidget(cbSTB);
|
||||
//4.3.行输出
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行输出:")); hhh->addWidget(lb);
|
||||
cbSRowOut = new QComboBox(); cbSRowOut->addItem("低有效");cbSRowOut->addItem("高有效"); hhh->addWidget(cbSRowOut);
|
||||
|
||||
//分割线
|
||||
auto hh1 = new HBox(vBox1);
|
||||
QFrame * line = new QFrame();
|
||||
line->setFrameShape(QFrame::HLine);
|
||||
line->setFrameShadow(QFrame::Sunken);
|
||||
line->setStyleSheet("background-color:#222;");
|
||||
hh1->addWidget(line);
|
||||
|
||||
auto hh2=new HBox(vBox1);
|
||||
//计算结果竖直信息区
|
||||
auto resultInfo = new HBox(hh2);
|
||||
lb = new QLabel(tr("[普刷] 视觉刷新率:")); resultInfo->addWidget(lb);
|
||||
float freshLv1=Get_Frefr(7/*小数权值*/ , 12/*灰度位宽*/ , 12500000/*移位时钟频率*/ , 240/*扫描长度*/ , 16/*扫描类型*/ , 4/*倍频*/ ); m_ctrlFreshRate = new QLabel(QString::number(freshLv1)); resultInfo->addWidget(m_ctrlFreshRate);
|
||||
resultInfo->addStretch();
|
||||
lb = new QLabel(tr("亮度有效率:")); resultInfo->addWidget(lb);
|
||||
float BrightYouXiaoLv1=Get_Eff(8,16); m_ctrlBrightEff = new QLabel(QString::number(BrightYouXiaoLv1)); resultInfo->addWidget(m_ctrlBrightEff);
|
||||
resultInfo->addStretch();
|
||||
lb = new QLabel(tr("最小OE:")); resultInfo->addWidget(lb);
|
||||
float minOe=Get_Eff(8,16); m_ctrlMinOE = new QLabel(QString::number(minOe)); resultInfo->addWidget(m_ctrlMinOE);
|
||||
resultInfo->addStretch();
|
||||
|
||||
vBox1->addStretch();
|
||||
changeValueByEffectControler() ;
|
||||
}
|
||||
else if(expertWin->m_iRcvCardType == enum_xixun_sync)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
void NormalEffectWin::changeValueByEffectControler() {
|
||||
//spinbox
|
||||
if(expertWin->m_iRcvCardType==enum_zrf)
|
||||
{
|
||||
qDebug()<<"changeValueByEffectControler";
|
||||
QObject::connect(spinLineNs, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "换行时间当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(spinLineWz, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "行位置当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(spinLineXy, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "消隐时间当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b2=value; });//
|
||||
QObject::connect(spinPointsOnePort, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "单口带载点数当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
|
||||
//combox
|
||||
QObject::connect(cbDCLKf, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "DLC频率当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b18_3_0=value; });//
|
||||
QObject::connect(cbDclkXw, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "DCLK相位当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b19_7_4=value; });//
|
||||
QObject::connect(cbDclkZkb, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "DCLK占空比当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b19_3_0=value; });//
|
||||
QObject::connect(freshBeiLv, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "刷新倍率出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b21_7_5=value; });//
|
||||
QObject::connect(cbGryLevel, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "灰度等级出当前值:" << value;
|
||||
if(expertWin->zrf_rcv_obj.m_pwmFlag==1){
|
||||
switch(value){
|
||||
case 0: expertWin->zrf_rcv_obj.b21_4_0=23; break;//正常4096
|
||||
case 1: expertWin->zrf_rcv_obj.b21_4_0=26; break;//正常8192
|
||||
case 2: expertWin->zrf_rcv_obj.b21_4_0=29; break;//正常16384
|
||||
case 3: expertWin->zrf_rcv_obj.b21_4_0=30; break;//正常32768
|
||||
case 4: expertWin->zrf_rcv_obj.b21_4_0=31; break;//正常65535
|
||||
default: expertWin->zrf_rcv_obj.b21_4_0=31; break;//正常65535
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
expertWin->zrf_rcv_obj.b21_4_0=value; });//
|
||||
QObject::connect(cbNoSign, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "无信号输出出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b29_1_0=value; });//
|
||||
QObject::connect(cbStb, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行信号STB微调出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(cbDE, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行信号DE微调出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(cbABC, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行信号ABC微调出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(cbXiaoYinDianPing, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "消隐电平出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b1_5=value; });//
|
||||
QObject::connect(cbSTB, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "锁存STB电平方向出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b0_6=value; });//
|
||||
QObject::connect(cbSRowOut, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行输出电平出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b0_4=value; });//
|
||||
//checkbox
|
||||
QObject::connect(checkSyncXianKa, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "同步显卡出当前值:" << value;
|
||||
if(value==0) expertWin->zrf_rcv_obj.b26_7=value ;
|
||||
else expertWin->zrf_rcv_obj.b26_7=0b1; });//
|
||||
QObject::connect(checkJianLiang, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "开屏渐亮出当前值:" << value;
|
||||
if(value==0) expertWin->zrf_rcv_obj.b1_0=value ;
|
||||
else expertWin->zrf_rcv_obj.b1_0=0b1; });//
|
||||
QObject::connect(checkDoubleCopy, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "双备份出当前值:" << value;
|
||||
if(value==0) expertWin->zrf_rcv_obj.b1_4=value ;
|
||||
else expertWin->zrf_rcv_obj.b1_4=0b1; });//
|
||||
QObject::connect(checkDsignalAsCLk, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "D信号作为第二组CLK出当前值:" << value;
|
||||
if(value==0) expertWin->zrf_rcv_obj.b1_1=value ;
|
||||
else expertWin->zrf_rcv_obj.b1_1=0b1; });//
|
||||
}
|
||||
|
||||
}
|
||||
void NormalEffectWin::SetEffectControlerValueByClass()
|
||||
{
|
||||
if(expertWin->m_iRcvCardType == enum_zrf) {
|
||||
//spinbox
|
||||
qDebug()<<"SetEffectControlerValueByClass";
|
||||
spinLineNs->setValue(expertWin->zrf_rcv_obj.b193); qDebug() << "换行时间当前值:" << spinLineNs->value();
|
||||
spinLineWz->setValue(expertWin->zrf_rcv_obj.b193); qDebug() << "行位置当前值:" << spinLineWz->value();
|
||||
spinLineXy->setValue(expertWin->zrf_rcv_obj.b2); qDebug() << "消隐时间当前值:" << spinLineXy->value();//
|
||||
spinPointsOnePort->setValue(expertWin->zrf_rcv_obj.b193); qDebug() << "单口带载点数当前值:" << spinPointsOnePort->value();
|
||||
|
||||
//combox
|
||||
cbDCLKf->setCurrentIndex(expertWin->zrf_rcv_obj.b18_3_0); qDebug() << "DLC频率当前值:" << cbDCLKf->currentIndex();
|
||||
cbDclkXw->setCurrentIndex(expertWin->zrf_rcv_obj.b19_7_4); qDebug() << "DCLK相位当前值:" << cbDclkXw->currentIndex();
|
||||
cbDclkZkb->setCurrentIndex(expertWin->zrf_rcv_obj.b19_3_0); qDebug() << "DCLK占空比当前值:" << cbDclkZkb->currentIndex();
|
||||
freshBeiLv->setCurrentIndex(expertWin->zrf_rcv_obj.b21_7_5); qDebug() << "刷新倍率出当前值:" << freshBeiLv->currentIndex();
|
||||
|
||||
int index=31;
|
||||
if(expertWin->zrf_rcv_obj.m_pwmFlag==1)
|
||||
switch(expertWin->zrf_rcv_obj.b21_4_0){
|
||||
case 23: index=0; break;//正常4096
|
||||
case 26: index=1; break;//正常8192
|
||||
case 29: index=2; break;//正常16384
|
||||
case 30: index=3; break;//正常32768
|
||||
case 31: index=4; break;//正常65535
|
||||
default: index=4; break;//正常65535
|
||||
}
|
||||
else
|
||||
index=expertWin->zrf_rcv_obj.b21_4_0;
|
||||
cbGryLevel->setCurrentIndex(index); qDebug() << "灰度等级出当前值:" << cbGryLevel->currentIndex();
|
||||
cbNoSign->setCurrentIndex(expertWin->zrf_rcv_obj.b29_1_0); qDebug() << "无信号输出出当前值:" << cbNoSign->currentIndex();
|
||||
cbStb->setCurrentIndex(expertWin->zrf_rcv_obj.b193); qDebug() << "行信号STB微调出当前值:" << cbStb->currentIndex();
|
||||
cbDE->setCurrentIndex(expertWin->zrf_rcv_obj.b193); qDebug() << "行信号DE微调出当前值:" << cbDE->currentIndex();
|
||||
cbABC->setCurrentIndex(expertWin->zrf_rcv_obj.b193); qDebug() << "行信号ABC微调出当前值:" << cbABC->currentIndex();
|
||||
cbXiaoYinDianPing->setCurrentIndex(expertWin->zrf_rcv_obj.b1_5); qDebug() << "消隐电平出当前值:" << cbXiaoYinDianPing->currentIndex();
|
||||
cbSTB->setCurrentIndex(expertWin->zrf_rcv_obj.b0_6); qDebug() << "锁存STB电平方向出当前值:" << cbSTB->currentIndex();
|
||||
cbSRowOut->setCurrentIndex(expertWin->zrf_rcv_obj.b0_4); qDebug() << "行输出电平出当前值:" << cbSRowOut->currentIndex();
|
||||
//checkbox
|
||||
checkSyncXianKa->setChecked(expertWin->zrf_rcv_obj.b26_7); qDebug() << "同步显卡出当前值:" << checkSyncXianKa->isChecked();
|
||||
checkJianLiang->setChecked(expertWin->zrf_rcv_obj.b1_0); qDebug() << "开屏渐亮出当前值:" << checkJianLiang->isChecked();
|
||||
checkDoubleCopy->setChecked(expertWin->zrf_rcv_obj.b1_4); qDebug() << "双备份出当前值:" << checkDoubleCopy->isChecked();
|
||||
checkDsignalAsCLk->setChecked(expertWin->zrf_rcv_obj.b1_1); qDebug() << "D信号作为第二组CLK出当前值:" << checkDsignalAsCLk->isChecked();
|
||||
expertWin->SendBaseParam_zrf();
|
||||
}
|
||||
}
|
||||
void NormalEffectWin::reSetcontrolerByIcType(QString strIcName)
|
||||
{
|
||||
if(strIcName == "ICN2053")
|
||||
{
|
||||
cbDCLKf->clear();
|
||||
cbDCLKf->addItem("31.2M");cbDCLKf->addItem("25M");cbDCLKf->addItem("20.83M");cbDCLKf->addItem("17.86M");cbDCLKf->addItem("15.63M");cbDCLKf->addItem("12.5M");cbDCLKf->addItem("10.42M");cbDCLKf->addItem("8.9M");
|
||||
cbDCLKf->addItem("7.8M");cbDCLKf->addItem("6.25M");;cbDCLKf->addItem("5.2M");;cbDCLKf->addItem("4.5M");;cbDCLKf->addItem("3.9M");;cbDCLKf->addItem("3.125M"); ;cbDCLKf->addItem("1.9M"); ;cbDCLKf->addItem("1M");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
#ifndef NORMALEFFECTWIN_H
|
||||
#define NORMALEFFECTWIN_H
|
||||
#include <QObject>
|
||||
#include <QWidget>
|
||||
#include "expertwin.h"
|
||||
#include <QLabel>
|
||||
#include <QSpinBox>
|
||||
#include <QComboBox>
|
||||
#include <QCheckBox>
|
||||
#include <QRadioButton>
|
||||
class NormalEffectWin: public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
NormalEffectWin(ExpertWin *parent = nullptr);
|
||||
ExpertWin *expertWin;
|
||||
QSpinBox *spinLineNs,*spinLineWz,*spinLineXy,*spinPointsOnePort;
|
||||
QComboBox *cbDCLKf,*cbDclkXw, *cbDclkZkb,*freshBeiLv,*cbGryLevel,*cbNoSign,*cbStb,*cbDE,*cbABC,*cbXiaoYinDianPing,*cbSTB,*cbSRowOut;
|
||||
QLabel * m_ctrlFreshRate,*m_ctrlBrightEff,*m_ctrlMinOE;
|
||||
QCheckBox * checkSyncXianKa,*checkJianLiang,*checkDoubleCopy,*checkDsignalAsCLk;
|
||||
void changeValueByEffectControler();
|
||||
void SetEffectControlerValueByClass();
|
||||
void reSetcontrolerByIcType(QString strIcName);
|
||||
};
|
||||
|
||||
#endif // NORMALEFFECTWIN_H
|
|
@ -0,0 +1,321 @@
|
|||
#include "pwmeffectwin.h"
|
||||
#include "globalfunc.h"
|
||||
#include "gutil/qgui.h"
|
||||
#include <QPushButton>
|
||||
#include <QStackedWidget>
|
||||
#include <QCheckBox>
|
||||
#include "efffrefr.h"
|
||||
#include "ic_ui/icn2053.h"
|
||||
PwmEffectWin::PwmEffectWin(ExpertWin *parent):expertWin(parent)
|
||||
{
|
||||
resize(880, 220);
|
||||
{
|
||||
if(expertWin->m_iRcvCardType == enum_zrf)
|
||||
{
|
||||
auto vBox1=new VBox(this);
|
||||
auto hh = new HBox(vBox1);
|
||||
hh->addSpacing(20);
|
||||
//第一列区域
|
||||
auto vvv = new VBox(hh);
|
||||
//1.1.移位时钟频率
|
||||
auto hhh = new HBox(vvv);
|
||||
auto lb = new QLabel(tr("移位时钟:"));
|
||||
hhh->addWidget(lb);
|
||||
cbDCLKf = new QComboBox(); cbDCLKf->addItem("31.2M");cbDCLKf->addItem("25M");cbDCLKf->addItem("20.83M");cbDCLKf->addItem("17.86M");cbDCLKf->addItem("15.63M");cbDCLKf->addItem("12.5M");cbDCLKf->addItem("10.42M");cbDCLKf->addItem("8.9M");
|
||||
cbDCLKf->addItem("7.8M");cbDCLKf->addItem("6.25M");;cbDCLKf->addItem("5.2M");;cbDCLKf->addItem("4.5M");;cbDCLKf->addItem("3.9M");;cbDCLKf->addItem("3.125M"); ;cbDCLKf->addItem("1.9M"); ;cbDCLKf->addItem("1M"); hhh->addWidget(cbDCLKf);
|
||||
//1.2.GCLK频率
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("灰度时钟:"));
|
||||
hhh->addWidget(lb);
|
||||
cbGCLKf = new QComboBox();
|
||||
cbGCLKf->addItem("25M");cbGCLKf->addItem("20.83M");cbGCLKf->addItem("17.86M");cbGCLKf->addItem("15.63M");cbGCLKf->addItem("13.89M");cbGCLKf->addItem("12.5M");cbGCLKf->addItem("11.36M");cbGCLKf->addItem("10.42M");cbGCLKf->addItem("9.62M");
|
||||
hhh->addWidget(cbGCLKf);
|
||||
//1.3.灰度级别
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("灰度级数:")); hhh->addWidget(lb);
|
||||
cbGryLevel = new QComboBox(); cbGryLevel->addItem("无灰度"); cbGryLevel->addItem("无OE8级");cbGryLevel->addItem("无OE16级");cbGryLevel->addItem("无OE32级");cbGryLevel->addItem("无OE64级");cbGryLevel->addItem("正常16级"); cbGryLevel->addItem("高亮16级");cbGryLevel->addItem("正常32级");
|
||||
cbGryLevel->addItem("高亮32级");cbGryLevel->addItem("正常64级");cbGryLevel->addItem("高亮64级");cbGryLevel->addItem("正常128级");cbGryLevel->addItem("高亮128级");cbGryLevel->addItem("正常256级");cbGryLevel->addItem("高亮256级");cbGryLevel->addItem("正常512级");
|
||||
cbGryLevel->addItem("高亮512级");cbGryLevel->addItem("正常1024级");cbGryLevel->addItem("高亮1024级");cbGryLevel->addItem("低亮2048级");cbGryLevel->addItem("正常2048级");cbGryLevel->addItem("高亮2048级");cbGryLevel->addItem("低亮4096级");cbGryLevel->addItem("正常4096级");
|
||||
cbGryLevel->addItem("高亮4096级");cbGryLevel->addItem("低亮8192级");cbGryLevel->addItem("正常8192级");cbGryLevel->addItem("高亮8192级");cbGryLevel->addItem("低亮16384级");cbGryLevel->addItem("正常16384");cbGryLevel->addItem("正常32768级");cbGryLevel->addItem("正常65535级"); hhh->addWidget(cbGryLevel);
|
||||
//1.4.刷新倍率
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("刷新倍率:")); hhh->addWidget(lb);
|
||||
freshBeiLv = new QComboBox(); freshBeiLv->addItem("20");freshBeiLv->addItem("24");freshBeiLv->addItem("28");freshBeiLv->addItem("32");freshBeiLv->addItem("36");freshBeiLv->addItem("40");freshBeiLv->addItem("44");freshBeiLv->addItem("48");freshBeiLv->addItem("64"); hhh->addWidget(freshBeiLv);
|
||||
//1.5.换行时间
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("换行时间(ns):")); hhh->addWidget(lb);
|
||||
spinLineNs = new QSpinBox; spinLineNs->setRange(2, 9999); hhh->addWidget(spinLineNs);
|
||||
//1.6.换行位置
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("换行位置(ns):")); hhh->addWidget(lb);
|
||||
spinLineWz = new QSpinBox; spinLineWz->setRange(2, 9999); hhh->addWidget(spinLineWz);
|
||||
|
||||
//第二列区域
|
||||
hh->addSpacing(20);
|
||||
vvv = new VBox(hh);
|
||||
//2.1.无信号数据
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("无信号数据:")); hhh->addWidget(lb);
|
||||
cbNoSign = new QComboBox();
|
||||
cbNoSign->addItem("最后一帧画面");cbNoSign->addItem("黑屏"); hhh->addWidget(cbNoSign);
|
||||
//2.2.行消隐时间
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行消隐时间(ns):")); hhh->addWidget(lb);
|
||||
spinLineXy = new QSpinBox; spinLineWz->setRange(2, 9999); hhh->addWidget(spinLineXy);
|
||||
//2.3.显卡同步
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("显卡同步")); hhh->addWidget(lb);
|
||||
checkSyncXianKa = new QCheckBox; checkSyncXianKa->setChecked(true); hhh->addWidget(checkSyncXianKa);
|
||||
//2.4.开屏渐亮
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("双卡备份")); hhh->addWidget(lb);
|
||||
checkDoubleCopy = new QCheckBox; checkDoubleCopy->setChecked(false); hhh->addWidget(checkDoubleCopy);
|
||||
//2.5.开屏渐亮
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("开屏渐亮")); hhh->addWidget(lb);
|
||||
checkJianLiang = new QCheckBox; checkSyncXianKa->setChecked(false); hhh->addWidget(checkJianLiang);
|
||||
//2.6.D信号为第二组时钟
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("信号为第二组时钟")); hhh->addWidget(lb);
|
||||
checkDsignalAsCLk = new QCheckBox; checkDsignalAsCLk->setChecked(false); hhh->addWidget(checkDsignalAsCLk);
|
||||
|
||||
//更多设置
|
||||
hh->addStretch();
|
||||
vvv = new VBox(hh);
|
||||
vvv->addStretch();
|
||||
hhh = new HBox(vvv);
|
||||
auto btn = new QPushButton(tr("更多设置"));
|
||||
btn->setProperty("ss","blue");
|
||||
hhh->addWidget(btn);
|
||||
connect(btn, &QPushButton::clicked, this, [=] {
|
||||
(new icn_2053(expertWin))->show();
|
||||
});
|
||||
|
||||
|
||||
|
||||
vvv->addStretch();
|
||||
hh->addStretch();
|
||||
|
||||
vvv = new VBox(hh);
|
||||
//分割线
|
||||
auto hh3 = new HBox(vvv);
|
||||
QFrame * line2 = new QFrame();
|
||||
line2->setFrameShape(QFrame::VLine);
|
||||
line2->setFrameShadow(QFrame::Sunken);
|
||||
line2->setStyleSheet("background-color:#222;");
|
||||
hh3->addWidget(line2);
|
||||
|
||||
//第三列区域
|
||||
vvv = new VBox(hh);
|
||||
//3.1.DCLK相位
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("DCLK相位:")); hhh->addWidget(lb);
|
||||
cbDclkXw = new QComboBox(); cbDclkXw->addItem("0度");cbDclkXw->addItem("+90度");cbDclkXw->addItem("-90度"); hhh->addWidget(cbDclkXw);
|
||||
//3.2.DCLK占空比
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("DCLK占空比:")); hhh->addWidget(lb);
|
||||
cbDclkZkb = new QComboBox(); cbDclkZkb->addItem("50%");cbDclkZkb->addItem("25%");cbDclkZkb->addItem("75%"); hhh->addWidget(cbDclkZkb);
|
||||
//3.3.锁存STB相位微调
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("锁存STB相位微调:")); hhh->addWidget(lb);
|
||||
cbStb = new QComboBox(); cbStb->addItem("不调整");cbStb->addItem("前移1个时钟");cbStb->addItem("前移2个时钟");cbStb->addItem("前移3个时钟");cbStb->addItem("后移1个时钟");cbStb->addItem("后移2个时钟");cbStb->addItem("后移3个时钟"); hhh->addWidget(cbStb);
|
||||
//3.4.行信号DE相位微调
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行信号DE相位微调:")); hhh->addWidget(lb);
|
||||
cbDE = new QComboBox(); cbDE->addItem("不调整");cbDE->addItem("前移1个时钟");cbDE->addItem("前移2个时钟");cbDE->addItem("前移3个时钟");cbDE->addItem("后移1个时钟");cbDE->addItem("后移2个时钟");cbDE->addItem("后移3个时钟"); hhh->addWidget(cbDE);
|
||||
//3.5.行信号ABC相位微调
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行信号ABC相位微调:")); hhh->addWidget(lb);
|
||||
cbABC = new QComboBox(); cbABC->addItem("不调整");cbABC->addItem("前移1个时钟");cbABC->addItem("前移2个时钟");cbABC->addItem("前移3个时钟");cbABC->addItem("后移1个时钟");cbABC->addItem("后移2个时钟");cbABC->addItem("后移3个时钟"); hhh->addWidget(cbABC);
|
||||
//3.6.单口带载点数
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("单口带载点数:")); hhh->addWidget(lb);
|
||||
spinPointsOnePort = new QSpinBox; spinPointsOnePort->setRange(1, 999); hhh->addWidget(spinPointsOnePort);
|
||||
hh->addSpacing(20);
|
||||
//第四列区域
|
||||
vvv = new VBox(hh);
|
||||
//4.1.消隐电平
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("消隐电平:")); hhh->addWidget(lb);
|
||||
cbXiaoYinDianPing= new QComboBox(); cbXiaoYinDianPing->addItem("高有效");cbXiaoYinDianPing->addItem("低有效"); hhh->addWidget(cbXiaoYinDianPing);
|
||||
//4.2.锁存信号
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("锁存信号:")); hhh->addWidget(lb);
|
||||
cbSTB = new QComboBox(); cbSTB->addItem("正向");cbSTB->addItem("反向"); hhh->addWidget(cbSTB);
|
||||
//4.3.行输出
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("行输出:")); hhh->addWidget(lb);
|
||||
cbSRowOut = new QComboBox(); cbSRowOut->addItem("低有效");cbSRowOut->addItem("高有效"); hhh->addWidget(cbSRowOut);
|
||||
//4.5.GCLK相位
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("GCLK相位:")); hhh->addWidget(lb);
|
||||
spinGclkXw = new QSpinBox; spinGclkXw->setRange(20, 80); hhh->addWidget(spinGclkXw);
|
||||
//4.6.GCLK占空比
|
||||
hhh = new HBox(vvv);
|
||||
lb = new QLabel(tr("GCLK占空比:")); hhh->addWidget(lb);
|
||||
spinGclkZkb = new QSpinBox; spinGclkZkb->setRange(20, 80); hhh->addWidget(spinGclkZkb);
|
||||
|
||||
//分割线
|
||||
auto hh1 = new HBox(vBox1);
|
||||
QFrame * line = new QFrame();
|
||||
line->setFrameShape(QFrame::HLine);
|
||||
line->setFrameShadow(QFrame::Sunken);
|
||||
line->setStyleSheet("background-color:#222;");
|
||||
hh1->addWidget(line);
|
||||
|
||||
auto hh2=new HBox(vBox1);
|
||||
//计算结果竖直信息区
|
||||
auto resultInfo = new HBox(hh2);
|
||||
lb = new QLabel(tr("[PWM]视觉刷新率:")); resultInfo->addWidget(lb);
|
||||
float freshLv1=Get_Frefr(7/*小数权值*/ , 12/*灰度位宽*/ , 12500000/*移位时钟频率*/ , 240/*扫描长度*/ , 16/*扫描类型*/ , 4/*倍频*/ ); m_ctrlFreshRate = new QLabel(QString::number(freshLv1)); resultInfo->addWidget(m_ctrlFreshRate);
|
||||
resultInfo->addStretch();
|
||||
lb = new QLabel(tr("亮度有效率:")); resultInfo->addWidget(lb);
|
||||
float BrightYouXiaoLv1=Get_Eff(8,16); m_ctrlBrightEff = new QLabel(QString::number(BrightYouXiaoLv1)); resultInfo->addWidget(m_ctrlBrightEff);
|
||||
resultInfo->addStretch();
|
||||
lb = new QLabel(tr("最小OE:")); resultInfo->addWidget(lb);
|
||||
float minOe=Get_Eff(8,16); m_ctrlMinOE = new QLabel(QString::number(minOe)); resultInfo->addWidget(m_ctrlMinOE);
|
||||
resultInfo->addStretch();
|
||||
|
||||
vBox1->addStretch();
|
||||
changeValueByEffectControler();
|
||||
}
|
||||
else if(expertWin->m_iRcvCardType == enum_xixun_sync)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
void PwmEffectWin::changeValueByEffectControler() {
|
||||
//spinbox
|
||||
if(expertWin->m_iRcvCardType==enum_zrf)
|
||||
{
|
||||
QObject::connect(spinGclkXw, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "GCLK相位当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(spinGclkZkb, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "GCLK占空比当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(spinLineNs, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "换行时间当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(spinLineWz, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "行位置当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(spinLineXy, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "消隐时间当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b2=value; });//
|
||||
QObject::connect(spinPointsOnePort, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), [=](int value){ qDebug() << "单口带载点数当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
|
||||
//combox
|
||||
QObject::connect(cbDCLKf, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "DLC频率当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b18_3_0=value; });//
|
||||
QObject::connect(cbDclkXw, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "DCLK相位当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b19_7_4=value; });//
|
||||
QObject::connect(cbDclkZkb, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "DCLK占空比当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b19_3_0=value; });//
|
||||
QObject::connect(freshBeiLv, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "刷新倍率出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b21_7_5=value; });//
|
||||
QObject::connect(cbGCLKf, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "GCLK周期出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(cbGryLevel, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "灰度等级出当前值:" << value;
|
||||
if(expertWin->zrf_rcv_obj.m_pwmFlag==1){
|
||||
switch(value){
|
||||
case 0: expertWin->zrf_rcv_obj.b21_4_0=23; break;//正常4096
|
||||
case 1: expertWin->zrf_rcv_obj.b21_4_0=26; break;//正常8192
|
||||
case 2: expertWin->zrf_rcv_obj.b21_4_0=29; break;//正常16384
|
||||
case 3: expertWin->zrf_rcv_obj.b21_4_0=30; break;//正常32768
|
||||
case 4: expertWin->zrf_rcv_obj.b21_4_0=31; break;//正常65535
|
||||
default: expertWin->zrf_rcv_obj.b21_4_0=31; break;//正常65535
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
expertWin->zrf_rcv_obj.b21_4_0=value; });//
|
||||
QObject::connect(cbNoSign, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "无信号输出出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b29_1_0=value; });//
|
||||
QObject::connect(cbStb, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行信号STB微调出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(cbDE, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行信号DE微调出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(cbABC, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行信号ABC微调出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b193=value; });
|
||||
QObject::connect(cbXiaoYinDianPing, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "消隐电平出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b1_5=value; });//
|
||||
QObject::connect(cbSTB, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "锁存STB电平方向出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b0_6=value; });//
|
||||
QObject::connect(cbSRowOut, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [=](int value){ qDebug() << "行输出电平出当前值:" << value;
|
||||
expertWin->zrf_rcv_obj.b0_4=value; });//
|
||||
//checkbox
|
||||
QObject::connect(checkSyncXianKa, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "同步显卡出当前值:" << value;
|
||||
if(value==0) expertWin->zrf_rcv_obj.b26_7=value ;
|
||||
else expertWin->zrf_rcv_obj.b26_7=0b1; });//
|
||||
QObject::connect(checkJianLiang, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "开屏渐亮出当前值:" << value;
|
||||
if(value==0) expertWin->zrf_rcv_obj.b1_0=value ;
|
||||
else expertWin->zrf_rcv_obj.b1_0=0b1; });//
|
||||
QObject::connect(checkDoubleCopy, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "双备份出当前值:" << value;
|
||||
if(value==0) expertWin->zrf_rcv_obj.b1_4=value ;
|
||||
else expertWin->zrf_rcv_obj.b1_4=0b1; });//
|
||||
QObject::connect(checkDsignalAsCLk, static_cast<void (QCheckBox::*)(int)>(&QCheckBox::stateChanged), [=](int value){ qDebug() << "D信号作为第二组CLK出当前值:" << value;
|
||||
if(value==0) expertWin->zrf_rcv_obj.b1_1=value ;
|
||||
else expertWin->zrf_rcv_obj.b1_1=0b1; });//
|
||||
}
|
||||
|
||||
}
|
||||
void PwmEffectWin::SetEffectControlerValueByClass()
|
||||
{
|
||||
if(expertWin->m_iRcvCardType == enum_zrf) {
|
||||
//spinbox
|
||||
spinGclkXw->setValue(expertWin->zrf_rcv_obj.b193); qDebug() << "GCLK相位当前值:" << spinGclkXw->value();
|
||||
spinGclkZkb->setValue(expertWin->zrf_rcv_obj.b193); qDebug() << "GCLK占空比当前值:" << spinGclkZkb->value();
|
||||
spinLineNs->setValue(expertWin->zrf_rcv_obj.b193); qDebug() << "换行时间当前值:" << spinLineNs->value();
|
||||
spinLineWz->setValue(expertWin->zrf_rcv_obj.b193); qDebug() << "行位置当前值:" << spinLineWz->value();
|
||||
spinLineXy->setValue(expertWin->zrf_rcv_obj.b2); qDebug() << "消隐时间当前值:" << spinLineXy->value();//
|
||||
spinPointsOnePort->setValue(expertWin->zrf_rcv_obj.b193); qDebug() << "单口带载点数当前值:" << spinPointsOnePort->value();
|
||||
|
||||
//combox
|
||||
cbDCLKf->setCurrentIndex(expertWin->zrf_rcv_obj.b18_3_0); qDebug() << "DLC频率当前值:" << cbDCLKf->currentIndex();
|
||||
cbDclkXw->setCurrentIndex(expertWin->zrf_rcv_obj.b19_7_4); qDebug() << "DCLK相位当前值:" << cbDclkXw->currentIndex();
|
||||
cbDclkZkb->setCurrentIndex(expertWin->zrf_rcv_obj.b19_3_0); qDebug() << "DCLK占空比当前值:" << cbDclkZkb->currentIndex();
|
||||
freshBeiLv->setCurrentIndex(expertWin->zrf_rcv_obj.b21_7_5); qDebug() << "刷新倍率出当前值:" << freshBeiLv->currentIndex();
|
||||
cbGCLKf->setCurrentIndex(expertWin->zrf_rcv_obj.b193); qDebug() << "GCLK周期出当前值:" << cbGCLKf->currentIndex();
|
||||
|
||||
int index=31;
|
||||
if(expertWin->zrf_rcv_obj.m_pwmFlag==1)
|
||||
switch(expertWin->zrf_rcv_obj.b21_4_0){
|
||||
case 23: index=0; break;//正常4096
|
||||
case 26: index=1; break;//正常8192
|
||||
case 29: index=2; break;//正常16384
|
||||
case 30: index=3; break;//正常32768
|
||||
case 31: index=4; break;//正常65535
|
||||
default: index=4; break;//正常65535
|
||||
}
|
||||
else
|
||||
index=expertWin->zrf_rcv_obj.b21_4_0;
|
||||
cbGryLevel->setCurrentIndex(index); qDebug() << "灰度等级出当前值:" << cbGryLevel->currentIndex();
|
||||
cbNoSign->setCurrentIndex(expertWin->zrf_rcv_obj.b29_1_0); qDebug() << "无信号输出出当前值:" << cbNoSign->currentIndex();
|
||||
cbStb->setCurrentIndex(expertWin->zrf_rcv_obj.b193); qDebug() << "行信号STB微调出当前值:" << cbStb->currentIndex();
|
||||
cbDE->setCurrentIndex(expertWin->zrf_rcv_obj.b193); qDebug() << "行信号DE微调出当前值:" << cbDE->currentIndex();
|
||||
cbABC->setCurrentIndex(expertWin->zrf_rcv_obj.b193); qDebug() << "行信号ABC微调出当前值:" << cbABC->currentIndex();
|
||||
cbXiaoYinDianPing->setCurrentIndex(expertWin->zrf_rcv_obj.b1_5); qDebug() << "消隐电平出当前值:" << cbXiaoYinDianPing->currentIndex();
|
||||
cbSTB->setCurrentIndex(expertWin->zrf_rcv_obj.b0_6); qDebug() << "锁存STB电平方向出当前值:" << cbSTB->currentIndex();
|
||||
cbSRowOut->setCurrentIndex(expertWin->zrf_rcv_obj.b0_4); qDebug() << "行输出电平出当前值:" << cbSRowOut->currentIndex();
|
||||
//checkbox
|
||||
checkSyncXianKa->setChecked(expertWin->zrf_rcv_obj.b26_7); qDebug() << "同步显卡出当前值:" << checkSyncXianKa->isChecked();
|
||||
checkJianLiang->setChecked(expertWin->zrf_rcv_obj.b1_0); qDebug() << "开屏渐亮出当前值:" << checkJianLiang->isChecked();
|
||||
checkDoubleCopy->setChecked(expertWin->zrf_rcv_obj.b1_4); qDebug() << "双备份出当前值:" << checkDoubleCopy->isChecked();
|
||||
checkDsignalAsCLk->setChecked(expertWin->zrf_rcv_obj.b1_1); qDebug() << "D信号作为第二组CLK出当前值:" << checkDsignalAsCLk->isChecked();
|
||||
expertWin->SendBaseParam_zrf();
|
||||
}
|
||||
}
|
||||
void PwmEffectWin::reSetcontrolerByIcType(QString strIcName)
|
||||
{//不同的pwm芯片的配置参数不同,控件支持的值的范围也不同,需要根据IC名称重新初始化控件内容
|
||||
if(strIcName == "ICN2053")
|
||||
{
|
||||
cbDCLKf->clear();
|
||||
cbDCLKf->addItem("31.2M");cbDCLKf->addItem("25M");cbDCLKf->addItem("20.83M");cbDCLKf->addItem("17.86M");cbDCLKf->addItem("15.63M");cbDCLKf->addItem("12.5M");cbDCLKf->addItem("10.42M");cbDCLKf->addItem("8.9M");
|
||||
cbDCLKf->addItem("7.8M");cbDCLKf->addItem("6.25M");;cbDCLKf->addItem("5.2M");;cbDCLKf->addItem("4.5M");;cbDCLKf->addItem("3.9M");;cbDCLKf->addItem("3.125M"); ;cbDCLKf->addItem("1.9M"); ;cbDCLKf->addItem("1M");
|
||||
cbGCLKf->clear();
|
||||
cbGCLKf->addItem("25M");cbGCLKf->addItem("20.83M");cbGCLKf->addItem("17.86M");cbGCLKf->addItem("15.63M");cbGCLKf->addItem("13.89M");cbGCLKf->addItem("12.5M");cbGCLKf->addItem("11.36M");cbGCLKf->addItem("10.42M");cbGCLKf->addItem("9.62M");
|
||||
|
||||
cbGryLevel->clear();
|
||||
cbGryLevel->addItem("正常16384");
|
||||
freshBeiLv->clear();
|
||||
freshBeiLv->addItem("8");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
#ifndef PWMEFFECTWIN_H
|
||||
#define PWMEFFECTWIN_H
|
||||
#include <QObject>
|
||||
#include <QWidget>
|
||||
#include "expertwin.h"
|
||||
#include <QLabel>
|
||||
#include <QSpinBox>
|
||||
#include <QComboBox>
|
||||
#include <QCheckBox>
|
||||
#include <QRadioButton>
|
||||
class PwmEffectWin: public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
PwmEffectWin(ExpertWin *parent = nullptr);
|
||||
ExpertWin *expertWin;
|
||||
QSpinBox *spinGclkXw,*spinGclkZkb,*spinLineNs,*spinLineWz,*spinLineXy,*spinPointsOnePort;
|
||||
QComboBox *cbDCLKf,*cbDclkXw, *cbDclkZkb,*freshBeiLv,*cbGCLKf,*cbGryLevel,*cbNoSign,*cbStb,*cbDE,*cbABC,*cbXiaoYinDianPing,*cbSTB,*cbSRowOut;
|
||||
QLabel * m_ctrlFreshRate,*m_ctrlBrightEff,*m_ctrlMinOE;
|
||||
QCheckBox * checkSyncXianKa,*checkJianLiang,*checkDoubleCopy,*checkDsignalAsCLk;
|
||||
void changeValueByEffectControler();
|
||||
void SetEffectControlerValueByClass();
|
||||
void reSetcontrolerByIcType(QString strIcName);
|
||||
};
|
||||
|
||||
#endif // PWMEFFECTWIN_H
|
Binary file not shown.
After Width: | Height: | Size: 9.2 KiB |
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
Binary file not shown.
After Width: | Height: | Size: 8.7 KiB |
|
@ -72,6 +72,10 @@ SOURCES += \
|
|||
gutil/cu.cpp \
|
||||
gutil/qgui.cpp \
|
||||
gutil/qjson.cpp \
|
||||
ic_ui/doublelatcheffectwin.cpp \
|
||||
ic_ui/icn2053.cpp \
|
||||
ic_ui/normaleffectwin.cpp \
|
||||
ic_ui/pwmeffectwin.cpp \
|
||||
main.cpp \
|
||||
mainwin.cpp \
|
||||
pcaprethread.cpp \
|
||||
|
@ -94,6 +98,10 @@ HEADERS += \
|
|||
gutil/cu.h \
|
||||
gutil/qgui.h \
|
||||
gutil/qjson.h \
|
||||
ic_ui/doublelatcheffectwin.h \
|
||||
ic_ui/icn2053.h \
|
||||
ic_ui/normaleffectwin.h \
|
||||
ic_ui/pwmeffectwin.h \
|
||||
mainwin.h \
|
||||
pcaprethread.h \
|
||||
testwin.h \
|
||||
|
|
|
@ -33,5 +33,8 @@
|
|||
<file>imgs/close.png</file>
|
||||
<file>imgs/macos-max.png</file>
|
||||
<file>imgs/macos-max1.png</file>
|
||||
<file>imgs/cascade.png</file>
|
||||
<file>imgs/mainsend.png</file>
|
||||
<file>imgs/rcv.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
Loading…
Reference in New Issue
Block a user