Fixes #2460
This commit is contained in:
@@ -951,10 +951,11 @@ class SensorData {
|
||||
bool filter;
|
||||
bool logs;
|
||||
bool persistent;
|
||||
bool onlyPositive;
|
||||
|
||||
// for custom sensors
|
||||
unsigned int ratio;
|
||||
unsigned int offset;
|
||||
int offset;
|
||||
|
||||
// for consumption
|
||||
unsigned int amps;
|
||||
|
||||
@@ -2801,7 +2801,8 @@ class SensorField: public TransformedField {
|
||||
internalField.Append(new BoolField<1>(sensor.filter));
|
||||
internalField.Append(new BoolField<1>(sensor.logs));
|
||||
internalField.Append(new BoolField<1>(sensor.persistent));
|
||||
internalField.Append(new SpareBitsField<4>());
|
||||
internalField.Append(new BoolField<1>(sensor.onlyPositive));
|
||||
internalField.Append(new SpareBitsField<3>());
|
||||
internalField.Append(new UnsignedField<32>(_param, "param"));
|
||||
}
|
||||
|
||||
@@ -2810,7 +2811,7 @@ class SensorField: public TransformedField {
|
||||
if (sensor.type == SensorData::TELEM_TYPE_CUSTOM) {
|
||||
_id = sensor.id;
|
||||
_instance = sensor.instance;
|
||||
_param = (sensor.ratio) + (sensor.offset << 16);
|
||||
_param = (sensor.ratio) + ((unsigned int)sensor.offset << 16);
|
||||
}
|
||||
else {
|
||||
_id = sensor.persistentValue;
|
||||
@@ -2831,8 +2832,8 @@ class SensorField: public TransformedField {
|
||||
if (sensor.type == SensorData::TELEM_TYPE_CUSTOM) {
|
||||
sensor.id = _id;
|
||||
sensor.instance = _instance;
|
||||
sensor.ratio = _param & 0xFF;
|
||||
sensor.offset = (_param >> 16) & 0xFF;
|
||||
sensor.ratio = _param & 0xFFFF;
|
||||
sensor.offset = (_param >> 16) & 0xFFFF;
|
||||
}
|
||||
else {
|
||||
sensor.persistentValue = _id;
|
||||
|
||||
@@ -481,6 +481,7 @@ TelemetrySensorPanel::TelemetrySensorPanel(QWidget *parent, SensorData & sensor,
|
||||
ui->filter->setField(sensor.filter);
|
||||
ui->logs->setField(sensor.logs);
|
||||
ui->persistent->setField(sensor.persistent);
|
||||
ui->onlyPositive->setField(sensor.onlyPositive);
|
||||
ui->gpsSensor->setField(sensor.gps);
|
||||
ui->altSensor->setField(sensor.alt);
|
||||
ui->ampsSensor->setField(sensor.amps);
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="0,1,0,0,0,1,1,1,1,0,0,1,0,1,0,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="0,1,0,0,0,1,1,1,1,0,0,1,0,1,0,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
@@ -541,7 +541,7 @@
|
||||
<double>0.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>3000.000000000000000</double>
|
||||
<double>65535.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -617,6 +617,16 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="AutoCheckBox" name="onlyPositive">
|
||||
<property name="layoutDirection">
|
||||
<enum>Qt::LeftToRight</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Positive</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="AutoCheckBox" name="logs">
|
||||
<property name="layoutDirection">
|
||||
|
||||
Reference in New Issue
Block a user