Browse Source

The BPI Flash API is added to write and verify the BIN files.

The reducing of the hardware API RAM is done by decreasing the software buffer to 16 instead of 100.
Some features in developedUi are added.
The preprocessors are fixed to using the upper layer of sono software.
master v3.0
Arash Aletayeb 3 years ago
parent
commit
5206e83718
  1. 0
      api.cpp
  2. 0
      api.h
  3. 0
      developHw.pro
  4. 2
      developHw.pro.user
  5. 0
      developHw.pro.user.14f6a8b.4.10-pre1
  6. 0
      developHw.pro.user.78e1b4e
  7. 0
      developHw.pro.user.78e1b4e.22
  8. 0
      developHw.pro.user.c192e63
  9. 0
      hdf5Scenario/hdf5Scenario.cpp
  10. 0
      hdf5Scenario/hdf5Scenario.h
  11. 0
      include/config/Configuration.h
  12. 0
      include/model/hardware/Hardware.h
  13. 0
      include/model/hardware/core/Fan.h
  14. 0
      include/model/hardware/core/HardwareCore.h
  15. 0
      include/model/hardware/core/HwBoard.h
  16. 0
      include/model/hardware/core/IBoard.h
  17. 0
      include/model/hardware/core/IBoardFactory.h
  18. 0
      include/model/hardware/core/PowerBoard.h
  19. 0
      include/model/hardware/core/PowerBoardFactory.h
  20. 0
      include/model/hardware/core/PowerBoardStatus.h
  21. 0
      include/model/hardware/core/RelayBoard.h
  22. 0
      include/model/hardware/core/RelayBoardFactory.h
  23. 0
      include/model/hardware/core/Status.h
  24. 0
      include/model/hardware/core/Temperature.h
  25. 0
      include/model/hardware/core/TrxBoardFactory.h
  26. 0
      include/model/hardware/core/Voltage.h
  27. 60
      include/model/hardware/core/lowLevelApi/TrxBoard.h
  28. 0
      include/model/hardware/core/lowLevelApi/TrxBoardUtils/PreProcessorDef.h
  29. 0
      include/model/hardware/core/lowLevelApi/TrxBoardUtils/ScenParamsRanges.h
  30. 0
      include/model/hardware/core/lowLevelApi/TrxBoardUtils/TrxBoardEnums.h
  31. 0
      include/model/hardware/core/lowLevelApi/TrxBoardUtils/TrxBoardStructures.h
  32. 0
      include/model/hardware/core/lowLevelApi/register/Field.h
  33. 0
      include/model/hardware/core/lowLevelApi/register/RegUtils.h
  34. 4
      include/model/hardware/core/lowLevelApi/register/Register.h
  35. 0
      include/model/hardware/core/lowLevelApi/register/afe/Afe.h
  36. 0
      include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/ActiveTerm.h
  37. 0
      include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/AdcLatency.h
  38. 0
      include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/AdcSyncStatus.h
  39. 0
      include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/Global.h
  40. 0
      include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/LnaHpf.h
  41. 0
      include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/LowNf.h
  42. 0
      include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/Pga.h
  43. 0
      include/model/hardware/core/lowLevelApi/register/beamFormer/BeamFormer.h
  44. 0
      include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/AfeLut.h
  45. 0
      include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/ApodizationLut.h
  46. 0
      include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/ElementPositionLut.h
  47. 0
      include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/PulseLut.h
  48. 0
      include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/RegValid.h
  49. 0
      include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/RxBeamformerLut.h
  50. 25
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/BoardsCtrlMngt.h
  51. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/BoardsSpecs.h
  52. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/FanStatus.h
  53. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/FanTacho1.h
  54. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/FanTacho2.h
  55. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsEepromRwReq.h
  56. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsEepromRwStatus.h
  57. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsHvRegulatorClk.h
  58. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsHvStopState.h
  59. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsPm5RegulatorClk.h
  60. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorDacValue.h
  61. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorFaultStatus.h
  62. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorI2cStatus.h
  63. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbCmd.h
  64. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbCurr24V.h
  65. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbCwdp.h
  66. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbHvStop.h
  67. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbHvap.h
  68. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbHvbp.h
  69. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbM5V.h
  70. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP12V.h
  71. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP24V.h
  72. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP4d.h
  73. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP5V.h
  74. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRdData.h
  75. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRwReq.h
  76. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorSetupCmd.h
  77. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlCmd.h
  78. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlEepromRwReq.h
  79. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlEepromRwStatus.h
  80. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlStatus.h
  81. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbEepromRwReq.h
  82. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbEepromRwStatus.h
  83. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/Adc12Vin.h
  84. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/Adc3P3V.h
  85. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/Adc5Vin.h
  86. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcAfeA1P8V.h
  87. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcAfeD1P8V.h
  88. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcAfeVcntlp.h
  89. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcPrbCtrl3P3V.h
  90. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcPrbZeroEncoder.h
  91. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/FpgaXadc1.h
  92. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/FpgaXadc2.h
  93. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/OnBoardTempSensor.h
  94. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/PcieId.h
  95. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/TrxEepromRwReq.h
  96. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/TrxEepromRwStatus.h
  97. 0
      include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/TrxRegulatorPg.h
  98. 49
      include/model/hardware/core/lowLevelApi/register/bpiFlash/BpiFlash.h
  99. 49
      include/model/hardware/core/lowLevelApi/register/bpiFlash/registerDefinition/McsRdWr.h
  100. 0
      include/model/hardware/core/lowLevelApi/register/builtInTest/BuiltInTest.h

0
api.cpp

0
api.h

0
developHw.pro

2
developHw.pro.user

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.10.0, 2021-08-09T09:47:55. -->
<!-- Written by QtCreator 4.10.0, 2021-09-11T10:25:25. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>

0
developHw.pro.user.14f6a8b.4.10-pre1

0
developHw.pro.user.78e1b4e

0
developHw.pro.user.78e1b4e.22

0
developHw.pro.user.c192e63

0
hdf5Scenario/hdf5Scenario.cpp

0
hdf5Scenario/hdf5Scenario.h

0
include/config/Configuration.h

0
include/model/hardware/Hardware.h

0
include/model/hardware/core/Fan.h

0
include/model/hardware/core/HardwareCore.h

0
include/model/hardware/core/HwBoard.h

0
include/model/hardware/core/IBoard.h

0
include/model/hardware/core/IBoardFactory.h

0
include/model/hardware/core/PowerBoard.h

0
include/model/hardware/core/PowerBoardFactory.h

0
include/model/hardware/core/PowerBoardStatus.h

0
include/model/hardware/core/RelayBoard.h

0
include/model/hardware/core/RelayBoardFactory.h

0
include/model/hardware/core/Status.h

0
include/model/hardware/core/Temperature.h

0
include/model/hardware/core/TrxBoardFactory.h

0
include/model/hardware/core/Voltage.h

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

@ -23,6 +23,8 @@
#include "model/hardware/core/lowLevelApi/register/sram/Sram.h"
#include "model/hardware/core/lowLevelApi/register/dsp/Dsp.h"
#include "model/hardware/core/lowLevelApi/register/afe/Afe.h"
#include "model/hardware/core/lowLevelApi/TrxBoardUtils/PreProcessorDef.h"
#include "model/hardware/device/SonoDevice.h"
#include "TrxBoardUtils/TrxBoardStructures.h"
#include "TrxBoardUtils/ScenParamsRanges.h"
@ -33,13 +35,11 @@
#include "model/hardware/service/HardwarePacketEngine.h"
#define SLAVE_ELEMENT_SEGMENT 64U
#define TOTAL_SLAVE_FPGA_NUM 3U
#define TOTAL_SCEN_LUT_SRAM 5U
#define MOUNTED_SLAVE_FPGA 7U
#define CLOCK_DIVISION 0x55
#define AFE_CHANNEL_NUM_PER_SLAVE 64U
#define TOTAL_AFE_CHANNEL_NUM 192U
#define LOGGER_SAMPLE_CNT 2048U
#define BITE_INTERVAL 0x0
@ -52,17 +52,17 @@
#define EEPROM_IMPULSE_RESPONSE_BEGIN 428U
#define EEPROM_IMPULSE_RESPONSE_NUMBER 1024U
#define EEPROM_NO_ERROR 0x0
#define EEPROM_CRC_ERROR 0x1
#define EEPROM_NO_ERROR 0x0
#define EEPROM_CRC_ERROR 0x1
class TrxBoard : public QObject
{
Q_OBJECT
private:
QVector<quint8> _swapVec;
QVector<quint8> _swapVec;
QVector<quint32> _unsignedQntzrVec;
QList<quint32> _unsignedQntzrList;
QList<quint32> _unsignedQntzrList;
QList<quint32> _afeModuleOffset;
QList<quint32> _fpgaOffset;
QByteArray _eepromCrc;
@ -144,11 +144,14 @@ private:
* _scenParams;
void fpgaProgram(const QString path) const;
void sendPacket(void);
void delay(quint16 ms) const;
void fpgaProgram(const QString path, const quint8& slaveMounted) const;
void mcsRead(const QString path) const;
void setScenario(ScenGenHardwareParam* _scenParams);
void sramClear (eSramClear clearMode);
void sramClear(eSramClear clearMode);
void setSwapVector(void);
void setRomCrc(void);
void setFpgaOffset(void);
@ -157,12 +160,13 @@ private:
//QList<quint32> signedVector2unsignedList(QVector<qint32>& sgnVec);
#ifndef DEVELOP_UI
void afeAdcsSync(void) const;
void afeAdcsSync(const quint8& slaveMounted);
void gtReadReset(void);
#endif
void waitForCaptureDone(Debug* _dbg) const;
void adcCaptureStop(Debug *_dbg) const;
void adcCaptureStart(Debug *_dbg) const;
void adcLogTransferRoutine (Debug* _dbg, quint8 chNumPerFpga);
void waitForCaptureDone(Debug* _dbg);
void adcCaptureStop(Debug* _dbg) const;
void adcCaptureStart(Debug* _dbg) const;
void adcLogTransferRoutine(Debug* _dbg, quint8 chNumPerFpga);
void debuggerMode(Debug* _dbg, DebugMode& debug, DebugMode& debugRb, QString slaveN) const;
template<class T>
@ -171,19 +175,19 @@ private:
template<class T>
T byteArray2UintLittleEndian(QByteArray& byte) const;
signals:
void sendFramePacket(QByteArray newPacket);
void sramBinaryCreateFlag(void);
void registerCsvCompareFlag(void);
void sramVerifyMessage(QString message);
public:
#ifndef DEVELOP_UI
HardwarePacketEngine packetEngine;
#else
void afeAdcsSync(void) const;
void afeAdcsSync(const quint8& slaveMounted);
void gtReadReset(void);
#endif
TrxBoard();
@ -193,8 +197,8 @@ public:
void init(void);
////////////////////////////////// Scenario API ///////////////////////////////
void setProbeDependParams(ScenPrbDepHardwareParam &prbDepParams);
void setScenario(ScenGenHardwareOutput_t &scenGenHw);
void setProbeDependParams(ScenPrbDepHardwareParam& prbDepParams);
void setScenario(ScenGenHardwareOutput_t& scenGenHw);
void setLineFilterCoefficient(QVector<float>& lineFilterLut);
void setStbCoefficient(QVector<quint32>& stbLut);
@ -204,20 +208,22 @@ public:
void scenPlayerStop(bool afeHvPwrOff = false);
//void scenPlayerPause (bool pause) const;
void setFramesMetaData(const QByteArray &metaData) const;
void setFramesMetaData(const QByteArray& metaData) const;
/////////////////////////////// Built-in Test API /////////////////////////////
void setBiteDacData(const QByteArray& iData,const QByteArray& qData) const;
void setBiteDacData(const QByteArray& iData, const QByteArray& qData) const;
void biteScenPlayerStart(void);
void biteScenPlayerStop(void);
////////////////////////////////// UI Test API ////////////////////////////////
void setScenarioCompare (const QString scenPath);
void setScenarioCompare(const QString scenPath);
void setAtgcMode(eAtgcMode mode, quint16 value) const;
QList<quint32> getAfeReg(eSlaveSelect sel, quint32 afeRegAddr);
void setAdgCfg(eBiteDacOutput adg) const;
void setTxDacEnable(quint8 biteInterval, bool cmd) const;
void powerAo(bool flag);
////////////////////////////// Slave Programming API //////////////////////////
void slaveFpgaProgram(const QString path);
@ -234,10 +240,10 @@ public:
quint32 deviceId(void) const;
quint32 vendorId(void) const;
void trxState(EepromStatus &romStatus) const;
void mpsState(EepromStatus &romStatus) const;
void prbCtrlState(EepromStatus &romStatus) const;
void selectedPrbState(EepromStatus &romStatus, eSelectProbe prbSel) const;
void trxState(EepromStatus& romStatus) const;
void mpsState(EepromStatus& romStatus) const;
void prbCtrlState(EepromStatus& romStatus) const;
void selectedPrbState(EepromStatus& romStatus, eSelectProbe prbSel) const;
void prbState(PrbCase* prb) const;
QString trxInfo(void) const;
@ -267,9 +273,9 @@ public:
quint32 getFrameLostCounter(void) const;
////////////////////////////////// Logger API /////////////////////////////////
void adcCaptureConfig(captureConfig &capCfg) const;
void adcCaptureConfig(captureConfig& capCfg) const;
void adcCaptureStart(void) const;
void adcCaptureDone(void) const;
void adcCaptureDone(void);
void setCaptureManualSync(void) const;
void adcLoggerStart(const QString path, const QString fileName);
void setDebuggerMode(eDebugMode bfMode, bool enable);

0
include/model/hardware/core/lowLevelApi/TrxBoardUtils/PreProcessorDef.h

0
include/model/hardware/core/lowLevelApi/TrxBoardUtils/ScenParamsRanges.h

0
include/model/hardware/core/lowLevelApi/TrxBoardUtils/TrxBoardEnums.h

0
include/model/hardware/core/lowLevelApi/TrxBoardUtils/TrxBoardStructures.h

0
include/model/hardware/core/lowLevelApi/register/Field.h

0
include/model/hardware/core/lowLevelApi/register/RegUtils.h

4
include/model/hardware/core/lowLevelApi/register/Register.h

@ -28,6 +28,8 @@ protected:
bool _isUpdated;
SonoDevice* _device;
QList<Field*> _fields;
public:
@ -35,8 +37,6 @@ public:
Register(quint8 bar, quint32 offset, SonoDevice* device, quint32 arrayLength = 0);
virtual ~Register();
SonoDevice* _device;
quint32 getValue();
void setValue(quint32 value);

0
include/model/hardware/core/lowLevelApi/register/afe/Afe.h

0
include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/ActiveTerm.h

0
include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/AdcLatency.h

0
include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/AdcSyncStatus.h

0
include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/Global.h

0
include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/LnaHpf.h

0
include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/LowNf.h

0
include/model/hardware/core/lowLevelApi/register/afe/registerDefinition/Pga.h

0
include/model/hardware/core/lowLevelApi/register/beamFormer/BeamFormer.h

0
include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/AfeLut.h

0
include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/ApodizationLut.h

0
include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/ElementPositionLut.h

0
include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/PulseLut.h

0
include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/RegValid.h

0
include/model/hardware/core/lowLevelApi/register/beamFormer/registerDefinition/RxBeamformerLut.h

25
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/BoardsCtrlMngt.h

@ -2,7 +2,6 @@
#define BOARDSCTRLMNGT_H
#include <QObject>
#include <QDebug>
#include <QTimer>
#include <QByteArray>
#include "registerDefinition/BoardsSpecs.h"
@ -16,7 +15,7 @@
#define SUPERVISOR_RB_RESOLUTION 65535
#define SUPERVISOR_RB_V_REF 2.048f
#define F_SYS_CLK 1E8f //FPGAclk = 100MHz
#define F_SYS_CLK 1E8f //FPGAclk = 100MHz
#define CWD_Offset 1.53f
#define CWD_GAIN 47.065f
#define HVA_Offset 1.525f
@ -25,7 +24,7 @@
#define HVB_GAIN 2.635f
#define HVA_MAX_VALUE 66.0f
#define HVB_MAX_VALUE 66.0f // must be check
#define HVB_MAX_VALUE 66.0f //must be check
enum ePg : bool
{
@ -225,11 +224,11 @@ private:
float fanTacho(T7* tachoMean);
float resDiv(float r1, float r2, quint32 adcValue);
QVector<float> voltPg(float adcVolt);
float fpgaVoltage (quint32 coreVolt) const;
float fpgaTemp(FpgaXadc1 *coreTemp) const;
float fpgaVccInt(FpgaXadc1 *coreVccInt) const;
float fpgaVccAux(FpgaXadc2 *coreVccAux) const;
float fpgaVccBram(FpgaXadc2 *coreVccBram) const;
float fpgaVoltage(quint32 coreVolt) const;
float fpgaTemp(FpgaXadc1* coreTemp) const;
float fpgaVccInt(FpgaXadc1* coreVccInt) const;
float fpgaVccAux(FpgaXadc2* coreVccAux) const;
float fpgaVccBram(FpgaXadc2* coreVccBram) const;
float getCWdpValue(void) const;
float getCurr24vValue(void) const;
@ -279,8 +278,8 @@ public:
}
void timerShot(quint16 ms) const;
void timerStop(void) const;
bool checkTimeout(void) const;
void timerStop(void) const;
quint32 getPid(void) const;
quint32 getVid(void) const;
@ -301,10 +300,10 @@ public:
void mpsDacsOff(void) const;
void mpsDacsOn(void) const;
void mpsHvSet(float& hva, float& hvb) const;
void getFpgaTemp(criticalComponentTemperature *coreTemp);
void getFpgaVccInt(FpgaVccInt &coreVcc);
void getFpgaVccAux(FpgaVccAux &coreAux);
void getFpgaVccBram(FpgaVccBram &coreBram);
void getFpgaTemp(criticalComponentTemperature* coreTemp);
void getFpgaVccInt(FpgaVccInt& coreVcc);
void getFpgaVccAux(FpgaVccAux& coreAux);
void getFpgaVccBram(FpgaVccBram& coreBram);
void getFanRpm(FanRpm* _rpm);
QByteArray trxEepromRead(quint32 address, quint32 length);

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/BoardsSpecs.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/FanStatus.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/FanTacho1.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/FanTacho2.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsEepromRwReq.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsEepromRwStatus.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsHvRegulatorClk.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsHvStopState.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/MpsPm5RegulatorClk.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorDacValue.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorFaultStatus.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorI2cStatus.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbCmd.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbCurr24V.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbCwdp.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbHvStop.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbHvap.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbHvbp.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbM5V.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP12V.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP24V.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP4d.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRbP5V.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRdData.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorRwReq.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/mps/SupervisorSetupCmd.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlCmd.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlEepromRwReq.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlEepromRwStatus.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbCtrlStatus.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbEepromRwReq.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/probe/PrbEepromRwStatus.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/Adc12Vin.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/Adc3P3V.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/Adc5Vin.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcAfeA1P8V.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcAfeD1P8V.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcAfeVcntlp.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcPrbCtrl3P3V.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/AdcPrbZeroEncoder.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/FpgaXadc1.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/FpgaXadc2.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/OnBoardTempSensor.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/PcieId.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/TrxEepromRwReq.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/TrxEepromRwStatus.h

0
include/model/hardware/core/lowLevelApi/register/boardsCtrlMngt/registerDefinition/trx/TrxRegulatorPg.h

49
include/model/hardware/core/lowLevelApi/register/bpiFlash/BpiFlash.h

@ -1,29 +1,50 @@
#ifndef BPIFLASH_H
#define BPIFLASH_H
#include "registerDefinition/McsRdWr.h"
#include "model/hardware/core/lowLevelApi/register/fpgaProgram/FpgaProgram.h"
#include "model/hardware/core/lowLevelApi/TrxBoardUtils/PreProcessorDef.h"
#include "model/hardware/device/SonoDevice.h"
#include <QDataStream>
#include <QTimer>
class BpiFlash
#define BPI_FLASH_SIZE 64 * 1024 * 1024 //Byte
#define UNLOCK_ERASE_BLOCK 256U
#define BPI_NO_ERR_STATUS 0x80
#define MAXIMUM_WR_NUM 1024
#define STEP_128KB 0x20000
class BpiFlash : public QObject
{
Q_OBJECT
private:
McsRdWr* _mcsRdWr;
SonoDevice* _device;
QTimer* _timer;
template<class T>
T byteArray2UintLittleEndian(QByteArray& byte) const;
void bpiInitialize(void) const;
void bpiReset(void) const;
void bpiErase(void) const;
void timerShot(quint16 ms) const;
bool checkTimeout(void) const;
void timerStop(void) const;
void bpiClearStatus(void) const;
void bpiUnlock(quint16& blockOffset);
void bpiErase(quint16& blockOffset);
void bpiWrite(quint16& wrCount); //max = 511 word
void bpiWriteCmplt(quint16& num);
void bpiRead(void) const;
void bpiWrite(void) const;
signals:
void startTimerShot(quint16 ms);
void remainingTime(QString message);
void stopTimer(void);
public:
explicit BpiFlash(SonoDevice* device);
~BpiFlash();
void writeMcs (QByteArray& mcs) const;
QList<quint32> readMcs (void) const;
void readCommand(void) const;
void writeCommand(void) const;
void writeMcs(QByteArray& mcs);
QList<quint32> readMcs(void) const;
};
#endif // BPIFLASH_H
#endif //BPIFLASH_H

49
include/model/hardware/core/lowLevelApi/register/bpiFlash/registerDefinition/McsRdWr.h

@ -1,49 +0,0 @@
#ifndef MCSRDWR_H
#define MCSRDWR_H
#include "model/hardware/core/lowLevelApi/register/Register.h"
#include "model/hardware/core/lowLevelApi/register/RegUtils.h"
#undef BAR
#define MASTER_MCS_DATA_MASK 0xFFFFFFFF
#define BAR 1U
#define OFFSET 0X4000000
#define MCS_FILE_SIZE 32*1024*1024
class McsRdWr : public Register
{
private:
QList<quint32> _mcsListWr;
void prepareData(quint32 index) override
{
masterMcsData->setValue(_mcsListWr[static_cast<qint32>(index)]);
}
public:
Field* masterMcsData;
QList<quint32> mcsListRd;
void mcsWrite (QList<quint32>& mcsList) {
_mcsListWr = mcsList;
}
void receiveData (void) override
{
mcsListRd.push_back(this->masterMcsData->getValue());
}
McsRdWr(SonoDevice* device) : Register(BAR, OFFSET, device, MCS_FILE_SIZE)
{
ADD_UNSIGNED_FIELD(masterMcsData, MASTER_MCS_DATA_MASK);
}
};
#undef MASTER_MCS_DATA_MASK
#undef BAR
#undef OFFSET
#endif // MCSRDWR_H

0
include/model/hardware/core/lowLevelApi/register/builtInTest/BuiltInTest.h

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save