You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
465 B
28 lines
465 B
5 years ago
|
#ifndef REGISTERFIELD_H
|
||
|
#define REGISTERFIELD_H
|
||
|
|
||
|
#include <QObject>
|
||
|
|
||
|
class RegisterField : public QObject
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
private:
|
||
|
quint32 _mask;
|
||
|
quint32 _value;
|
||
|
bool _isSigned;
|
||
|
quint32 getBitPosition();
|
||
|
quint32 getBitLength();
|
||
|
|
||
|
public:
|
||
|
RegisterField(quint32 mask, bool isSigned);
|
||
|
void update(quint32 value);
|
||
|
quint32 getRawValue();
|
||
|
void ExtractValue(quint32 value);
|
||
|
|
||
|
signals:
|
||
|
void fieldUpdated(quint32 value, quint32 clearMask);
|
||
|
};
|
||
|
|
||
|
#endif //REGISTERFIELD_H
|