LibreVNA/Software/PC_Application/Device/RegisterAccess/registerdevice.h

39 lines
779 B
C
Raw Normal View History

2021-05-26 20:38:27 +02:00
#ifndef REGISTERDEVICE_H
#define REGISTERDEVICE_H
#include <QString>
#include "register.h"
#include "savable.h"
#include "Device/device.h"
class RegisterDevice : public Savable
2021-05-26 20:38:27 +02:00
{
public:
static RegisterDevice *create(Device *dev, int number, QString partnumber, QString name);
2021-05-26 20:38:27 +02:00
~RegisterDevice();
void setRegister(int address, unsigned long value);
QWidget *getWidget() const;
QString getPartnumber() const;
QString getName() const;
2021-05-26 20:38:27 +02:00
protected:
void addRegister(Register *reg);
nlohmann::json registersToJSON();
void registersFromJSON(nlohmann::json j);
2021-05-26 20:38:27 +02:00
RegisterDevice();
Device *dev;
int number;
QString partnumber;
QString name;
2021-05-26 20:38:27 +02:00
std::vector<Register*> regs;
QWidget *widget;
};
#endif // REGISTERDEVICE_H