96 lines
2.6 KiB
C++
96 lines
2.6 KiB
C++
#ifndef ADC_H
|
|
#define ADC_H
|
|
|
|
#include <QObject>
|
|
|
|
#include "stpclient.h"
|
|
#include "adcqueue.h"
|
|
#include "adcregisters.h"
|
|
#include "idserver.h"
|
|
#include "adcchannel.h"
|
|
|
|
class ADC : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit ADC(uint16_t sn, QObject *parent = nullptr);
|
|
~ADC();
|
|
|
|
void start();
|
|
void stop();
|
|
|
|
void startADC(ADC_ns::SYNCMode mode);
|
|
void stopADC();
|
|
|
|
ADC_ns::ADCState getADCState() { return _state; };
|
|
|
|
uint16_t getModelID() { return _modelId; }
|
|
uint16_t getSN() {return _sn; }
|
|
uint16_t getChannelsCount() { return _channelsCount; }
|
|
bool getIsTachoSignal() { return _isTachoSignal; }
|
|
bool getIsGen() { return _isGen; }
|
|
uint32_t getFreq() { return _freq; }
|
|
ADC_ns::bitDepth getBitDeph() { return _bitDepth; }
|
|
|
|
// сеть
|
|
bool getIsDHCPMode() { return _dhcp_mode; }
|
|
QByteArray getMacAddress() { return _mac_address; }
|
|
QHostAddress getDefaultIP() { return _default_ip; }
|
|
QHostAddress getDefaultGate() { return _default_gate; }
|
|
QHostAddress getDefaultMask() { return _default_mask; }
|
|
QHostAddress getStaticIP() { return _static_ip; }
|
|
QHostAddress getStaticGate() { return _static_gate; }
|
|
QHostAddress getStaticMask() { return _static_mask; }
|
|
QList<ADCChannel *> * getChannelsConfig() { return _channels; }
|
|
uint32_t getDataCounter() { return _dataCounter; }
|
|
void setDataCounter(uint32_t value) { _dataCounter=value; }
|
|
void incDataCounter() { _dataCounter++; }
|
|
void setChannelIEPE(int index, bool IEPE);
|
|
void setChannelMODE(int index, ADC_ns::channelMode mode);
|
|
|
|
int getSamplesCount();
|
|
signals:
|
|
void ADC_connected();
|
|
void ADC_disconnected();
|
|
void ADC_configReadingFinished();
|
|
void ADC_dataPacketReceived(QByteArray dataPacket);
|
|
void ADC_started();
|
|
|
|
private:
|
|
void _packReadADCParams();
|
|
void _parseRegisterData(ADCQueue_ns::cmdItem cmd);
|
|
void _packStartADC(ADC_ns::SYNCMode mode);
|
|
void _packStopADC();
|
|
|
|
ADC_ns::ADCState _state;
|
|
stpClient * _stpClient;
|
|
ADCQueue * _adcqueue;
|
|
idServer * _idServer;
|
|
QTimer * _discoverTimer;
|
|
uint32_t _dataCounter;
|
|
|
|
// АЦП
|
|
uint16_t _modelId;
|
|
uint16_t _sn;
|
|
uint16_t _channelsCount;
|
|
bool _isTachoSignal;
|
|
bool _isGen;
|
|
uint32_t _freq;
|
|
ADC_ns::bitDepth _bitDepth;
|
|
|
|
// сеть
|
|
bool _dhcp_mode;
|
|
QByteArray _mac_address;
|
|
QHostAddress _default_ip;
|
|
QHostAddress _default_gate;
|
|
QHostAddress _default_mask;
|
|
QHostAddress _static_ip;
|
|
QHostAddress _static_gate;
|
|
QHostAddress _static_mask;
|
|
QList<ADCChannel *> * _channels;
|
|
|
|
|
|
};
|
|
|
|
#endif // ADC_H
|