public static DBusMessage ModifyMS43Message(DMEAnalogValues av, Message message) { var data = message.Data.Skip(0); data[30] = ToByte((av.WideBandLambda - 0.5) * 255); // TODO why not? TBD with JMG data[31] = ToByte(av.IntakePressure / 10); return new DBusMessage(DeviceAddress.DME, message.ReceiverDescription, data); }
public static DBusMessage ModifyMS43Message(DMEAnalogValues av, Message message) { var data = message.Data.Skip(0); data[30] = ToByte((av.WideBandLambda - 0.5) * 255); // TODO why not? TBD with JMG data[31] = ToByte(av.IntakePressure / 10); return(new DBusMessage(DeviceAddress.DME, message.ReceiverDescription, data)); }
public static DBusMessage ModifyMS43Message(DMEAnalogValues av, Message message) { var data = message.Data; if (data.Length < 51) { data = data.PadRight(0x00, 51 - data.Length); } data[42] = ToByte((av.WideBandLambda - 0.5) * 255); data[43] = ToByte(av.IntakePressure / 10); data[44] = ToByte(av.FuelPressure / 40); data[45] = ToByte(av.OilPressure / 40); data[46] = ToByte(av.IntakeTempAfterCooler * 2.55); data[47] = ToByte(av.CoolerInTemp * 2.55); data[48] = ToByte(av.CoolerOutTemp * 2.55); data[49] = ToByte(av.IsMethanolInjecting ? 0x01 : 0x00); data[50] = ToByte(av.IsMethanolFailsafe ? 0x01 : 0x00); return(new DBusMessage(DeviceAddress.DME, message.ReceiverDescription, data)); }
public void Update(DMEAnalogValues av) { SecondaryWatcher?.Update(av); if (Settings.FieldType != GaugeField.Custom) { return; } try { if (!properties.Keys.Contains(Settings.Field)) { properties.Add(Settings.Field, av.GetType().GetProperty(Settings.Field)); } var obj = properties[Settings.Field].GetValue(av); if (obj is double) { RawValue = (double)obj; } else if (obj is int) { RawValue = Convert.ToDouble((int)obj); } } catch { StringValue = "N/A"; } }
public void Update(DMEAnalogValues av) { SecondaryWatcher?.Update(av); if (Settings.FieldType != GaugeField.Custom) { return; } try { if (!properties.Keys.Contains(Settings.Field)) { properties.Add(Settings.Field, av.GetType().GetProperty(Settings.Field)); } RawValue = properties[Settings.Field].GetValue(av); } catch { StringValue = "N/A"; } }