switch to signed values for items

This commit is contained in:
2022-02-01 22:36:24 +01:00
parent 1f36522492
commit 6a9ad7f855
12 changed files with 39 additions and 36 deletions

View File

@ -3,7 +3,7 @@
#include <QJsonArray>
ItemData::ItemData(uint32_t itemIdIn, QString name, uint8_t value): name_(name), value_(value), itemId_(itemIdIn)
ItemData::ItemData(uint32_t itemIdIn, QString name, int8_t value): name_(name), value_(value), itemId_(itemIdIn)
{
}
@ -18,7 +18,7 @@ void ItemData::setName(QString name)
name_ = name;
}
uint8_t ItemData::getValue() const
int8_t ItemData::getValue() const
{
return value_;
}
@ -31,7 +31,7 @@ uint32_t ItemData::id() const
//item
Item::Item(uint32_t itemIdIn, QString name, uint8_t value, QObject *parent): QObject(parent), ItemData (itemIdIn, name, value)
Item::Item(uint32_t itemIdIn, QString name, int8_t value, QObject *parent): QObject(parent), ItemData (itemIdIn, name, value)
{
}
@ -50,13 +50,13 @@ void Item::setFunction(uint8_t function, bool on)
functionChanged(function, on);
}
void Item::setValue(uint8_t value)
void Item::setValue(int8_t value)
{
value_ = value;
valueChanged(value_);
}
void Item::informValue(uint8_t value)
void Item::informValue(int8_t value)
{
Item::setValue(value);
}

View File

@ -12,12 +12,12 @@ class ItemData
{
protected:
QString name_;
uint8_t value_;
int8_t value_;
uint32_t itemId_;
public:
ItemData(uint32_t itemIdIn = QRandomGenerator::global()->generate(), QString name = "Item", uint8_t value = 0);
ItemData(uint32_t itemIdIn = QRandomGenerator::global()->generate(), QString name = "Item", int8_t value = 0);
inline bool operator==(const ItemData& in) const{ return itemId_==in.itemId_; }
inline bool operator!=(const ItemData& in) const{ return itemId_!=in.itemId_; }
@ -25,7 +25,7 @@ public:
uint32_t id() const;
void setName(QString name);
uint8_t getValue() const;
int8_t getValue() const;
virtual QString getName() const;
};
@ -37,22 +37,22 @@ private:
signals:
void valueChanged(uint8_t value);
void functionChanged(uint8_t function, bool on);
void valueChanged(int8_t value);
void functionChanged(uint8_t function, bool on);
public slots:
virtual void setValue(uint8_t value);
virtual void setValue(int8_t value);
virtual void setFunction(uint8_t funciton, bool value);
public:
Item(uint32_t itemIdIn = QRandomGenerator::global()->generate(), QString name = "Item", uint8_t value = 0, QObject *parent = nullptr);
Item(uint32_t itemIdIn = QRandomGenerator::global()->generate(), QString name = "Item", int8_t value = 0, QObject *parent = nullptr);
Item(const ItemData& itemData, QObject *parent = nullptr);
virtual ~Item();
void informValue(uint8_t value);
void informValue(int8_t value);
};

View File

@ -17,7 +17,7 @@ void Train::setFunction(uint8_t funciton, bool value)
micro->trainSetFunction(train_id_, funciton, value);
}
void Train::setValue(uint8_t value)
void Train::setValue(int8_t value)
{
Item::setValue(value);
if(micro)

View File

@ -18,8 +18,8 @@ public:
public slots:
void reverse();
virtual void setFunction(uint8_t function, bool on);
virtual void setValue(uint8_t value);
virtual void setFunction(uint8_t function, bool on);
virtual void setValue(int8_t value);
uint8_t getTrainId(){return train_id_;}
};

View File

@ -9,7 +9,7 @@ Turnout::Turnout(uint8_t id, uint8_t address, uint8_t subaddress)
name_ = QString("Turnout ")+QString::number(id);
}
void Turnout::setValue(uint8_t value)
void Turnout::setValue(int8_t value)
{
Item::setValue(value);
if(micro)

View File

@ -12,7 +12,7 @@ public:
static Microcontroller *micro;
explicit Turnout(uint8_t id = 0, uint8_t address = 0, uint8_t subaddress = 0);
virtual void setValue(uint8_t value);
virtual void setValue(int8_t value);
uint8_t getTurnoutId(){return turnoutId_;}
};