更新202606222
This commit is contained in:
@@ -533,11 +533,21 @@ namespace Footwear_Test_methodsfor_wholeshoe_Slipresistanceperformance.Services
|
||||
|
||||
var pressure = ConvertAdc(pressureRaw, pressureZero, pressureCoefficient);
|
||||
|
||||
// Keep each settings row paired with the same ADC channel used by the legacy zero-capture button.
|
||||
var friction1 = ConvertAdc(friction1Raw, frictionZero1, frictionCoefficient1);
|
||||
var friction2 = ConvertAdc(friction2Raw, frictionZero2, frictionCoefficient2);
|
||||
var friction = (friction1 + friction2) * -1.0;
|
||||
return AdcConversionResult.Valid(pressure, friction1, friction2, friction);
|
||||
var namedFriction1 = ConvertAdc(friction1Raw, frictionZero1, frictionCoefficient1);
|
||||
var namedFriction2 = ConvertAdc(friction2Raw, frictionZero2, frictionCoefficient2);
|
||||
var namedFriction = (namedFriction1 + namedFriction2) * -1.0;
|
||||
|
||||
var legacyFriction1 = ConvertAdc(friction2Raw, frictionZero1, frictionCoefficient2);
|
||||
var legacyFriction2 = ConvertAdc(friction1Raw, frictionZero2, frictionCoefficient1);
|
||||
var legacyFriction = (legacyFriction1 + legacyFriction2) * -1.0;
|
||||
return AdcConversionResult.Valid(
|
||||
pressure,
|
||||
namedFriction1,
|
||||
namedFriction2,
|
||||
namedFriction,
|
||||
legacyFriction1,
|
||||
legacyFriction2,
|
||||
legacyFriction);
|
||||
}
|
||||
|
||||
private bool ValidateAdcSettings(
|
||||
@@ -606,14 +616,18 @@ namespace Footwear_Test_methodsfor_wholeshoe_Slipresistanceperformance.Services
|
||||
if (conversion.IsValid)
|
||||
{
|
||||
Log.Debug(
|
||||
"ADC 采样:RawPressure={RawPressure}, RawFriction1={RawFriction1}, RawFriction2={RawFriction2}, Pressure={Pressure:F3} N, Friction1={Friction1:F3} N, Friction2={Friction2:F3} N, Friction={Friction:F3} N, Coefficients=[P:{PressureCoefficient}, F1:{FrictionCoefficient1}, F2:{FrictionCoefficient2}], Zeros=[P:{PressureZero}, F1:{FrictionZero1}, F2:{FrictionZero2}]",
|
||||
"ADC 采样:RawPressure={RawPressure}, RawFriction1={RawFriction1}, RawFriction2={RawFriction2}, Pressure={Pressure:F3} N, FrictionMode=LegacyCross, FinalFriction={Friction:F3} N, LegacyFriction1={LegacyFriction1:F3} N, LegacyFriction2={LegacyFriction2:F3} N, NamedFriction1={NamedFriction1:F3} N, NamedFriction2={NamedFriction2:F3} N, NamedFriction={NamedFriction:F3} N, FrictionDelta={FrictionDelta:F3} N, Coefficients=[P:{PressureCoefficient}, F1:{FrictionCoefficient1}, F2:{FrictionCoefficient2}], Zeros=[P:{PressureZero}, F1:{FrictionZero1}, F2:{FrictionZero2}]",
|
||||
pressureRaw,
|
||||
friction1Raw,
|
||||
friction2Raw,
|
||||
conversion.Pressure,
|
||||
conversion.Friction1,
|
||||
conversion.Friction2,
|
||||
conversion.Friction,
|
||||
conversion.LegacyFriction1,
|
||||
conversion.LegacyFriction2,
|
||||
conversion.NamedFriction1,
|
||||
conversion.NamedFriction2,
|
||||
conversion.NamedFriction,
|
||||
conversion.Friction - conversion.NamedFriction,
|
||||
settings.NormalPressureCoefficient,
|
||||
settings.FrictionCoefficient1,
|
||||
settings.FrictionCoefficient2,
|
||||
@@ -734,16 +748,35 @@ namespace Footwear_Test_methodsfor_wholeshoe_Slipresistanceperformance.Services
|
||||
private readonly record struct AdcConversionResult(
|
||||
bool IsValid,
|
||||
double Pressure,
|
||||
double Friction1,
|
||||
double Friction2,
|
||||
double NamedFriction1,
|
||||
double NamedFriction2,
|
||||
double NamedFriction,
|
||||
double LegacyFriction1,
|
||||
double LegacyFriction2,
|
||||
double Friction,
|
||||
string Error)
|
||||
{
|
||||
public static AdcConversionResult Valid(double pressure, double friction1, double friction2, double friction) =>
|
||||
new(true, pressure, friction1, friction2, friction, string.Empty);
|
||||
public static AdcConversionResult Valid(
|
||||
double pressure,
|
||||
double namedFriction1,
|
||||
double namedFriction2,
|
||||
double namedFriction,
|
||||
double legacyFriction1,
|
||||
double legacyFriction2,
|
||||
double friction) =>
|
||||
new(
|
||||
true,
|
||||
pressure,
|
||||
namedFriction1,
|
||||
namedFriction2,
|
||||
namedFriction,
|
||||
legacyFriction1,
|
||||
legacyFriction2,
|
||||
friction,
|
||||
string.Empty);
|
||||
|
||||
public static AdcConversionResult Invalid(string error) =>
|
||||
new(false, 0, 0, 0, 0, error);
|
||||
new(false, 0, 0, 0, 0, 0, 0, 0, error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user