LibreVNA/Software/PC_Application/Device/RegisterAccess/registerdevice.h
2021-05-27 20:13:02 +02:00

39 lines
779 B
C++

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