Browse Source

checkSystemCompatibility api modified.

Arash Aletayeb 10 months ago
parent
commit
779d77c1df
  1. 2
      developHw.pro.user
  2. 6
      include/model/hardware/core/lowLevelApi/TrxBoard.h
  3. 40
      mainwindow.cpp
  4. 70
      src/model/hardware/core/lowLevelApi/TrxBoard.cpp

2
developHw.pro.user

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.10.0, 2024-04-28T18:35:46. -->
<!-- Written by QtCreator 4.10.0, 2024-05-11T18:20:05. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>

6
include/model/hardware/core/lowLevelApi/TrxBoard.h

@ -57,7 +57,6 @@ private:
QList<quint32> _afeModuleOffset;
QList<quint32> _fpgaOffset;
QByteArray _eepromCrc;
QList<QList<quint32>> _systemLut;
const quint32 _offsetSlave0;
const quint32 _offsetSlave1;
const quint32 _offsetSlave2;
@ -177,8 +176,7 @@ private:
//QList<quint32> signedVector2unsignedList(QVector<qint32>& sgnVec);
QList<quint32> systemStructure2List(systemE2proms &systemRoms);
void systemLutCompletion(void);
void systemCompare(QList<quint32> &system) const;
void systemCompare(QList<quint32> &currentSystem, QList<QList<quint32>> &systemDataset) const;
void crcCheck (const QByteArray array, quint8 crcRom) const;
void trxCrcCheck(const QByteArray array, quint32 offset) const;
void prbCtrlCrcCheck(const QByteArray array, quint32 offset) const;
@ -279,7 +277,7 @@ public:
quint32 deviceId(void) const;
quint32 vendorId(void) const;
void checkSystemCompatibility(void);
void checkSystemCompatibility(QList<systemE2proms> &systemLut);
quint8 crcGenerator(QByteArray inputByteArray) const;
QByteArray trxRomHeader(void) const;

40
mainwindow.cpp

@ -4155,7 +4155,45 @@ void MainWindow::on_chk_sysCompatibilityCheck_clicked(bool checked)
{
if(checked)
{
_trx.checkSystemCompatibility();
QList<systemE2proms> systemLut;
systemE2proms sysRoms;
sysRoms.trx.id = trxId;
sysRoms.prbCtrl.id= prbCtrlId;
sysRoms.mps.id = mpsId;
sysRoms.trx.pid= pid;
sysRoms.prbCtrl.pid= pid;
sysRoms.mps.pid = pid;
sysRoms.trx.pcbVersion = 1;
sysRoms.prbCtrl.pcbVersion= 1;
sysRoms.mps.pcbVersion = 1;
sysRoms.trx.firstMbedCodeVersion = 230001;
sysRoms.mps.firstMbedCodeVersion = 240001;
sysRoms.trx.secondMbedCodeVersion = 230001;
sysRoms.mps.secondMbedCodeVersion = 240001;
sysRoms.fpgaCodeVersion.masterCode = 2312111600;
sysRoms.fpgaCodeVersion.slave0Code = 2312111647;
sysRoms.fpgaCodeVersion.slave1Code = 2312111647;
sysRoms.fpgaCodeVersion.slave2Code = 2312111647;
systemLut.append(sysRoms);
sysRoms.trx.pcbVersion = 2;
sysRoms.prbCtrl.pcbVersion = 2;
sysRoms.mps.pcbVersion = 2;
sysRoms.trx.firstMbedCodeVersion = 240001;
sysRoms.mps.firstMbedCodeVersion = 240001;
sysRoms.trx.secondMbedCodeVersion = 240001;
sysRoms.mps.secondMbedCodeVersion = 240001;
sysRoms.fpgaCodeVersion.masterCode = 2312111808;
sysRoms.fpgaCodeVersion.slave0Code = 2312111657;
sysRoms.fpgaCodeVersion.slave1Code = 2312111657;
sysRoms.fpgaCodeVersion.slave2Code = 2312111657;
systemLut.append(sysRoms);
_trx.checkSystemCompatibility(systemLut);
}
}
catch(SonoException& e)

70
src/model/hardware/core/lowLevelApi/TrxBoard.cpp

@ -368,59 +368,6 @@ QList<quint32> TrxBoard::systemStructure2List(systemE2proms &systemRoms)
return dataset;
}
void TrxBoard::systemLutCompletion()
{
_systemLut.clear();
systemE2proms systemRoms;
systemRoms.trx.id = trxId;
systemRoms.prbCtrl.id = prbCtrlId;
systemRoms.mps.id = mpsId;
systemRoms.trx.pid = pid;
systemRoms.prbCtrl.pid = pid;
systemRoms.mps.pid = pid;
systemRoms.trx.pcbVersion = 1;
systemRoms.prbCtrl.pcbVersion = 1;
systemRoms.mps.pcbVersion = 1;
systemRoms.trx.firstMbedCodeVersion = 1;
systemRoms.mps.firstMbedCodeVersion = 1;
systemRoms.trx.secondMbedCodeVersion = 1;
systemRoms.mps.secondMbedCodeVersion = 1;
systemRoms.fpgaCodeVersion.masterCode = 2312111600;
systemRoms.fpgaCodeVersion.slave0Code = 2312111647;
systemRoms.fpgaCodeVersion.slave1Code = 2312111647;
systemRoms.fpgaCodeVersion.slave2Code = 2312111647;
_systemLut.append(systemStructure2List(systemRoms));
systemRoms.trx.pcbVersion = 2;
systemRoms.prbCtrl.pcbVersion = 2;
systemRoms.mps.pcbVersion = 2;
systemRoms.trx.firstMbedCodeVersion = 1;
systemRoms.mps.firstMbedCodeVersion = 1;
systemRoms.trx.secondMbedCodeVersion = 1;
systemRoms.mps.secondMbedCodeVersion = 1;
systemRoms.fpgaCodeVersion.masterCode = 2312111808;
systemRoms.fpgaCodeVersion.slave0Code = 2312111657;
systemRoms.fpgaCodeVersion.slave1Code = 2312111657;
systemRoms.fpgaCodeVersion.slave2Code = 2312111657;
_systemLut.append(systemStructure2List(systemRoms));
// systemRoms.trx.pcbVersion = 2;
// systemRoms.prbCtrl.pcbVersion = 2;
// systemRoms.mps.pcbVersion = 2;
// systemRoms.trx.firstMbedCodeVersion = 1;
// systemRoms.mps.firstMbedCodeVersion = 1;
// systemRoms.trx.secondMbedCodeVersion = 2;
// systemRoms.mps.secondMbedCodeVersion = 1;
// systemRoms.fpgaCodeVersion.masterCode = 2312111600;
// systemRoms.fpgaCodeVersion.slave0Code = 2312111647;
// systemRoms.fpgaCodeVersion.slave1Code = 2312111647;
// systemRoms.fpgaCodeVersion.slave2Code = 2312111647;
// _systemLut.append(systemStructure2List(systemRoms));
}
//QList<quint32> TrxBoard::signedVector2unsignedList (QVector<qint32>& sgnVec)
//{
//_unsignedQntzrList.clear();
@ -474,7 +421,6 @@ TrxBoard::TrxBoard() : _offsetSlave0(0), _offsetSlave1(0x400000), _offsetSlave2(
setRomCrc();
setFpgaOffset();
setAfeModuleOffset();
systemLutCompletion();
preSubBatch = -1;
preBatch = 0;
@ -1940,11 +1886,11 @@ quint32 TrxBoard::vendorId() const
return vid;
}
void TrxBoard::systemCompare(QList<quint32> &system) const
void TrxBoard::systemCompare(QList<quint32> &currentSystem, QList<QList<quint32>> &systemDataset) const
{
foreach(auto &lut, _systemLut)
foreach(auto &lut, systemDataset)
{
if(lut == system)
if(lut == currentSystem)
{
return;
}
@ -1952,7 +1898,7 @@ void TrxBoard::systemCompare(QList<quint32> &system) const
throw SonoException("The system parameters are not compatible.");
}
void TrxBoard::checkSystemCompatibility()
void TrxBoard::checkSystemCompatibility(QList<systemE2proms> &systemLut)
{
EepromStatus trxE2prom, prbCtrlE2prom, mpsE2prom;
this->trxState(trxE2prom);
@ -1968,7 +1914,13 @@ void TrxBoard::checkSystemCompatibility()
QList<quint32> currentSystem = systemStructure2List(currentSystemRoms);
systemCompare(currentSystem);
QList<QList<quint32>> systemDataset;
foreach(auto lut, systemLut)
{
systemDataset.append(systemStructure2List(lut));
}
systemCompare(currentSystem, systemDataset);
}
quint8 TrxBoard::crcGenerator(QByteArray inputByteArray) const

Loading…
Cancel
Save