This commit is contained in:
@@ -43,31 +43,28 @@ namespace PamhagenSysCtrl.Helpers {
|
|||||||
GC.SuppressFinalize(this);
|
GC.SuppressFinalize(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static FillState Int3ToFillState(int n) {
|
protected static FillState Int3ToFillState(int n, bool bigEndian = true) {
|
||||||
return n switch {
|
return
|
||||||
7 => FillState.Full,
|
(bigEndian && (n & 0x4) != 0) || (!bigEndian && (n & 0x1) != 0) ? FillState.Full :
|
||||||
6 => FillState.Half,
|
(bigEndian && (n & 0x2) != 0) || (!bigEndian && (n & 0x2) != 0) ? FillState.Half :
|
||||||
4 => FillState.Filled,
|
(bigEndian && (n & 0x1) != 0) || (!bigEndian && (n & 0x4) != 0) ? FillState.Filled :
|
||||||
0 => FillState.Empty,
|
n == 0 ? FillState.Empty :
|
||||||
_ => FillState.Invalid,
|
FillState.Invalid;
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static FillState Int2ToFillState(int n) {
|
protected static FillState Int2ToFillState(int n, bool bigEndian = true) {
|
||||||
return n switch {
|
return
|
||||||
2 => FillState.Full,
|
(bigEndian && (n & 0x2) != 0) || (!bigEndian && (n & 0x1) != 0) ? FillState.Full :
|
||||||
0 => FillState.Filled,
|
(bigEndian && (n & 0x1) != 0) || (!bigEndian && (n & 0x2) != 0) ? FillState.Filled :
|
||||||
1 => FillState.Empty,
|
n == 0 ? FillState.Empty :
|
||||||
_ => FillState.Invalid,
|
FillState.Invalid;
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static FillState Int1ToFillState(int n) {
|
protected static FillState Int1ToFillState(int n) {
|
||||||
return n switch {
|
return
|
||||||
1 => FillState.Full,
|
n == 1 ? FillState.Full :
|
||||||
0 => FillState.Unknown,
|
n == 0 ? FillState.Unknown :
|
||||||
_ => FillState.Invalid,
|
FillState.Invalid;
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static MotorState Int2ToPumpState(int n, bool inverse) {
|
protected static MotorState Int2ToPumpState(int n, bool inverse) {
|
||||||
@@ -110,8 +107,8 @@ namespace PamhagenSysCtrl.Helpers {
|
|||||||
long pressure = (long)r1 | ((long)r2 << 16) | ((long)r3 << 32) | ((long)r4 << 48);
|
long pressure = (long)r1 | ((long)r2 << 16) | ((long)r3 << 32) | ((long)r4 << 48);
|
||||||
pressure = (pressure & 0x01FFFFFFFFFFFFFF) | ((pressure & 0x0600000000000000) << 1);
|
pressure = (pressure & 0x01FFFFFFFFFFFFFF) | ((pressure & 0x0600000000000000) << 1);
|
||||||
|
|
||||||
var mw1 = Int3ToFillState((f1 ) & 0x7); // 111 011 001 000
|
var mw1 = Int3ToFillState((f1 ) & 0x7, false); // 111 011 001 000
|
||||||
var mw2 = Int3ToFillState((f1 >> 3) & 0x7); // 111 011 001 000
|
var mw2 = Int3ToFillState((f1 >> 3) & 0x7, false); // 111 011 001 000
|
||||||
var p1 = ((f1 >> 6) & 0x1) == 0; // 1 0
|
var p1 = ((f1 >> 6) & 0x1) == 0; // 1 0
|
||||||
var p2 = ((f1 >> 7) & 0x1) == 0; // 1 0
|
var p2 = ((f1 >> 7) & 0x1) == 0; // 1 0
|
||||||
var wp = ((f1 >> 8) & 0x3); // 10 01
|
var wp = ((f1 >> 8) & 0x3); // 10 01
|
||||||
@@ -129,11 +126,11 @@ namespace PamhagenSysCtrl.Helpers {
|
|||||||
// -> factor: 0,03125 + (offset) 25 Oe
|
// -> factor: 0,03125 + (offset) 25 Oe
|
||||||
double oe = v * 0.03125 + 25;
|
double oe = v * 0.03125 + 25;
|
||||||
|
|
||||||
var t1 = Int2ToFillState((f2 ) & 0x3); // 10 01 00
|
var t1 = Int1ToFillState(((f2 ) & 0x3) >> 1); // 1X 0X
|
||||||
var t2 = Int2ToFillState((f2 >> 2) & 0x3); // 10 01 00
|
var t2 = Int1ToFillState(((f2 >> 2) & 0x3) >> 1); // 1X 0X
|
||||||
var t3 = Int2ToFillState((f2 >> 4) & 0x3); // 10 01 00
|
var t3 = Int1ToFillState(((f2 >> 4) & 0x3) >> 1); // 1X 0X
|
||||||
var t4 = Int2ToFillState((f2 >> 6) & 0x3); // 10 01 00
|
var t4 = Int1ToFillState(((f2 >> 6) & 0x3) >> 1); // 1X 0X
|
||||||
var t5 = Int2ToFillState((f2 >> 8) & 0x3); // 10 01 00
|
var t5 = Int1ToFillState(((f2 >> 8) & 0x3) >> 1); // 1X 0X
|
||||||
var t6 = Int1ToFillState((f2 >> 10) & 0x1); // 1 0
|
var t6 = Int1ToFillState((f2 >> 10) & 0x1); // 1 0
|
||||||
var t7 = Int1ToFillState((f2 >> 11) & 0x1); // 1 0
|
var t7 = Int1ToFillState((f2 >> 11) & 0x1); // 1 0
|
||||||
var t8 = Int1ToFillState((f2 >> 12) & 0x1); // 1 0
|
var t8 = Int1ToFillState((f2 >> 12) & 0x1); // 1 0
|
||||||
|
|||||||
Reference in New Issue
Block a user