private DataStatus NewDataAvail(U8TelemVar marker, MemoryMappedViewAccessor source, ref byte lastMarkerValue) { byte newValue = marker.GetByteValue(source, false)[0]; if (newValue != lastMarkerValue) { lastMarkerValue = newValue; if (newValue == 0) { return(DataStatus.CLEARED); } else { return(DataStatus.UPDATED); } } else { return(DataStatus.NO_NEW); } }
public EventVariableList(List <TelemVar> TruckEventVars, List <TelemVar> TrailerEventVars, List <TelemVar> JobEventVars, U8TelemVar truckDataMarker, U8TelemVar trailerDataMarker, U8TelemVar jobDataMarker) { this.TruckEventVars = TruckEventVars; this.TrailerEventVars = TrailerEventVars; this.JobEventVars = JobEventVars; this.truckDataMarker = truckDataMarker; this.trailerDataMarker = trailerDataMarker; this.jobDataMarker = jobDataMarker; var tempDisplayedVars = new ObservableCollection <TelemVar>(); TruckEventVars.ForEach((x) => tempDisplayedVars.Add(x)); TrailerEventVars.ForEach((x) => tempDisplayedVars.Add(x)); JobEventVars.ForEach((x) => tempDisplayedVars.Add(x)); DisplayedVars = tempDisplayedVars; }
public Model() { StreamedVars = new ObservableCollection <TelemVar> { new U32TelemVar("plugin_version", "", "", GAME_INFO, 0), new U32TelemVar("game", "", "", GAME_INFO, 4), new U32TelemVar("sdk_version", "", "", GAME_INFO, 8), new BoolTelemVar("paused", "", "", GAME_INFO, 12), new FloatTelemVar("g_local_scale", "", "", GAME_INFO, 13, Unit.NONE), new U32TelemVar("g_game_time", "", "", GAME_INFO, 17), new S32TelemVar("g_next_rest_stop", "", "", GAME_INFO, 21), new DPlacementTelemVar("t_world_placement", "", "", POSITION, 25), new FVectorTelemVar("t_local_linear_velocity", "", "", POSITION, 65), new FVectorTelemVar("t_local_angular_velocity", "", "", POSITION, 77), new FVectorTelemVar("t_local_linear_acceleration", "", "", POSITION, 89), new FVectorTelemVar("t_local_angular_acceleration", "", "", POSITION, 101), new FPlacementTelemVar("t_cabin_offset", "", "", POSITION, 113), new FVectorTelemVar("t_cabin_angular_velocity", "", "", POSITION, 137), new FVectorTelemVar("t_cabin_angular_acceleration", "", "", POSITION, 149), new FPlacementTelemVar("t_head_offset", "", "", POSITION, 161), new FloatTelemVar("t_speed", "", "", DRIVETRAIN, 185, Unit.MS), new FloatTelemVar("t_engine_rpm", "", "", DRIVETRAIN, 189, Unit.NONE), new S32TelemVar("t_engine_gear", "", "", DRIVETRAIN, 193), new S32TelemVar("t_displayed_gear", "", "", DRIVETRAIN, 197), new FloatTelemVar("t_input_steering", "", "", STEERING, 201, Unit.NONE), new FloatTelemVar("t_input_throttle", "", "", STEERING, 205, Unit.NONE), new FloatTelemVar("t_input_brake", "", "", STEERING, 209, Unit.NONE), new FloatTelemVar("t_input_clutch", "", "", STEERING, 213, Unit.NONE), new FloatTelemVar("t_effective_steering", "", "", STEERING, 217, Unit.NONE), new FloatTelemVar("t_effective_throttle", "", "", STEERING, 221, Unit.NONE), new FloatTelemVar("t_effective_brake", "", "", STEERING, 225, Unit.NONE), new FloatTelemVar("t_effective_clutch", "", "", STEERING, 229, Unit.NONE), new FloatTelemVar("t_cruise_control", "", "", STEERING, 233, Unit.MS), new U32TelemVar("t_hshifter_slot", "", "", STEERING, 237), new BoolTelemVar("t_parking_brake", "", "", STEERING, 241), new BoolTelemVar("t_motor_brake", "", "", STEERING, 242), new U32TelemVar("t_retarder_level", "", "", STEERING, 243), new FloatTelemVar("t_brake_air_pressure", "", "", STEERING, 247, Unit.PSI), new BoolTelemVar("t_brake_air_pressure_warning", "", "", STEERING, 251), new BoolTelemVar("t_brake_air_pressure_emergency", "", "", STEERING, 252), new FloatTelemVar("t_brake_temperature", "", "", STEERING, 253, Unit.C), new FloatTelemVar("t_fuel", "", "", PERIPHERALS, 257, Unit.L), new BoolTelemVar("t_fuel_warning", "", "", PERIPHERALS, 261), new FloatTelemVar("t_fuel_average_consumption", "", "", PERIPHERALS, 262, Unit.L100KM), new FloatTelemVar("t_fuel_range", "", "", PERIPHERALS, 266, Unit.KM), //not sure about this one new FloatTelemVar("t_adblue", "", "", PERIPHERALS, 270, Unit.L), new BoolTelemVar("t_adblue_warning", "", "", PERIPHERALS, 274), new FloatTelemVar("t_adblue_average_consumption", "", "", PERIPHERALS, 275, Unit.L100KM), new FloatTelemVar("t_oil_pressure", "", "", PERIPHERALS, 279, Unit.PSI), new BoolTelemVar("t_oil_pressure_warning", "", "", PERIPHERALS, 283), new FloatTelemVar("t_oil_temperature", "", "", PERIPHERALS, 284, Unit.C), new FloatTelemVar("t_water_temperature", "", "", PERIPHERALS, 288, Unit.C), new BoolTelemVar("t_water_temperature_warning", "", "", PERIPHERALS, 292), new FloatTelemVar("t_battery_voltage", "", "", PERIPHERALS, 293, Unit.NONE), new BoolTelemVar("t_battery_voltage_warning", "", "", PERIPHERALS, 297), new BoolTelemVar("t_electric_enabled", "", "", PERIPHERALS, 298), new BoolTelemVar("t_engine_enabled", "", "", DRIVETRAIN, 299), new BoolTelemVar("t_lblinker", "", "", LIGHTS, 300), new BoolTelemVar("t_rblinker", "", "", LIGHTS, 301), new BoolTelemVar("t_light_lblinker", "", "", LIGHTS, 302), new BoolTelemVar("t_light_rblinker", "", "", LIGHTS, 303), new BoolTelemVar("t_light_parking", "", "", LIGHTS, 304), new BoolTelemVar("t_light_low_beam", "", "", LIGHTS, 305), new BoolTelemVar("t_light_high_beam", "", "", LIGHTS, 306), new U32TelemVar("t_light_aux_front", "", "", LIGHTS, 307), new U32TelemVar("t_light_aux_roof", "", "", LIGHTS, 311), new BoolTelemVar("t_light_beacon", "", "", LIGHTS, 315), new BoolTelemVar("t_light_brake", "", "", LIGHTS, 316), new BoolTelemVar("t_light_reverse", "", "", LIGHTS, 317), new BoolTelemVar("t_wipers", "", "", PERIPHERALS, 318), new FloatTelemVar("t_dashboard_backlight", "", "", PERIPHERALS, 319, Unit.NONE), new FloatTelemVar("t_wear_engine", "", "", WEAR, 323, Unit.NONE), new FloatTelemVar("t_wear_transmission", "", "", WEAR, 327, Unit.NONE), new FloatTelemVar("t_wear_cabin", "", "", WEAR, 331, Unit.NONE), new FloatTelemVar("t_wear_chassis", "", "", WEAR, 335, Unit.NONE), new FloatTelemVar("t_wear_wheels", "", "", WEAR, 339, Unit.NONE), new FloatTelemVar("t_odometer", "", "", PERIPHERALS, 343, Unit.NONE), new FloatTelemVar("t_navigation_distance", "", "", NAVIGATION, 347, Unit.KM), //not sure about this one new FloatTelemVar("t_navigation_time", "", "", NAVIGATION, 351, Unit.NONE), new FloatTelemVar("t_navigation_speed_limit", "", "", NAVIGATION, 355, Unit.MS), new FloatTelemVar("t_wheel_susp_deflection", "", "", WHEELS, 359, Unit.NONE, TRUCK_WHEEL_COUNT), new BoolTelemVar("t_wheel_on_ground", "", "", WHEELS, 391, TRUCK_WHEEL_COUNT), new FloatTelemVar("t_wheel_velocity", "", "", WHEELS, 399, Unit.NONE, TRUCK_WHEEL_COUNT), new FloatTelemVar("t_wheel_steering", "", "", WHEELS, 431, Unit.NONE, TRUCK_WHEEL_COUNT), new FloatTelemVar("t_wheel_rotation", "", "", WHEELS, 463, Unit.NONE, TRUCK_WHEEL_COUNT), new FloatTelemVar("t_wheel_lift", "", "", WHEELS, 395, Unit.NONE, TRUCK_WHEEL_COUNT), new FloatTelemVar("t_wheel_lift_offset", "", "", WHEELS, 527, Unit.NONE, TRUCK_WHEEL_COUNT), new BoolTelemVar("r_connected", "", "", TRAILER, 559), new DPlacementTelemVar("r_world_placement", "", "", TRAILER, 560), new FVectorTelemVar("r_local_linear_velocity", "", "", TRAILER, 600), new FVectorTelemVar("r_local_angular_velocity", "", "", TRAILER, 612), new FVectorTelemVar("r_local_linear_acceleration", "", "", TRAILER, 624), new FVectorTelemVar("r_local_angular_acceleration", "", "", TRAILER, 636), new FloatTelemVar("r_wear_chassis", "", "", TRAILER, 648, Unit.NONE), new FloatTelemVar("r_wheel_susp_deflection", "", "", TRAILER, 652, Unit.NONE, TRAILER_WHEEL_COUNT), new BoolTelemVar("r_wheel_on_ground", "", "", TRAILER, 716, TRAILER_WHEEL_COUNT), new FloatTelemVar("r_wheel_velocity", "", "", TRAILER, 732, Unit.NONE, TRAILER_WHEEL_COUNT), new FloatTelemVar("r_wheel_steering", "", "", TRAILER, 796, Unit.NONE, TRAILER_WHEEL_COUNT), new FloatTelemVar("r_wheel_rotation", "", "", TRAILER, 860, Unit.NONE, TRAILER_WHEEL_COUNT) }; List <TelemVar> truckEventVars = new List <TelemVar>() { new StringTelemVar("ct_brand_id", "", "", TRUCK, 927), new StringTelemVar("ct_brand", "", "", TRUCK, 991), new StringTelemVar("ct_id", "", "", TRUCK, 1055), new StringTelemVar("ct_name", "", "", TRUCK, 1119), new FloatTelemVar("ct_fuel_capacity", "", "", TRUCK, 1183, Unit.L), new FloatTelemVar("ct_fuel_warning_factor", "", "", TRUCK, 1187, Unit.L), new FloatTelemVar("ct_adblue_capacity", "", "", TRUCK, 1191, Unit.L), new FloatTelemVar("ct_adblue_warning_factor", "", "", TRUCK, 1195, Unit.L), new FloatTelemVar("ct_air_pressure_warning", "", "", TRUCK, 1199, Unit.PSI), new FloatTelemVar("ct_air_pressure_emergency", "", "", TRUCK, 1203, Unit.PSI), new FloatTelemVar("ct_oil_pressure_warning", "", "", TRUCK, 1207, Unit.PSI), new FloatTelemVar("ct_water_temperature_warning", "", "", TRUCK, 1211, Unit.C), new FloatTelemVar("ct_battery_voltage_warning", "", "", TRUCK, 1215, Unit.NONE), new FloatTelemVar("ct_rpm_limit", "", "", TRUCK, 1219, Unit.NONE), new U32TelemVar("ct_forward_gear_count", "", "", TRUCK, 1223), new U32TelemVar("ct_reverse_gear_count", "", "", TRUCK, 1227), new FloatTelemVar("ct_differential_ratio", "", "", TRUCK, 1231, Unit.NONE), new U32TelemVar("ct_retarder_step_count", "", "", TRUCK, 1235), new FVectorTelemVar("ct_cabin_position", "", "", TRUCK, 1239), new FVectorTelemVar("ct_head_position", "", "", TRUCK, 1251), new FVectorTelemVar("ct_hook_position", "", "", TRUCK, 1263), new U32TelemVar("ct_wheel_count", "", "", TRUCK, 1275), new FVectorTelemVar("ct_wheel_position", "", "", TRUCK, 1279, TRUCK_WHEEL_COUNT), new BoolTelemVar("ct_wheel_steerable", "", "", TRUCK, 1375, TRUCK_WHEEL_COUNT), new BoolTelemVar("ct_wheel_simulated", "", "", TRUCK, 1383, TRUCK_WHEEL_COUNT), new FloatTelemVar("ct_wheel_radius", "", "", TRUCK, 1391, Unit.NONE, TRUCK_WHEEL_COUNT), new BoolTelemVar("ct_wheel_powered", "", "", TRUCK, 1423, TRUCK_WHEEL_COUNT), new BoolTelemVar("ct_wheel_liftable", "", "", TRUCK, 1431, TRUCK_WHEEL_COUNT), new FloatTelemVar("ct_forward_ratio", "", "", TRUCK, 1439, Unit.NONE, FWD_GEAR_COUNT), new FloatTelemVar("ct_reverse_ratio", "", "", TRUCK, 1567, Unit.NONE, RVS_GEAR_COUNT) }; List <TelemVar> trailerEventVars = new List <TelemVar>() { new StringTelemVar("cr_id", "", "", TRAILER, 1631), new StringTelemVar("cr_cargo_accessory_id", "", "", TRAILER, 1695), new FVectorTelemVar("cr_hook_position", "", "", TRAILER, 1759), new U32TelemVar("cr_wheel_count", "", "", TRAILER, 1771), new FVectorTelemVar("cr_wheel_position", "", "", TRAILER, 1775, TRAILER_WHEEL_COUNT), new BoolTelemVar("cr_wheel_steerable", "", "", TRAILER, 1967, TRAILER_WHEEL_COUNT), new BoolTelemVar("cr_wheel_simulated", "", "", TRAILER, 1983, TRAILER_WHEEL_COUNT), new FloatTelemVar("cr_wheel_radius", "", "", TRAILER, 1999, Unit.NONE, TRAILER_WHEEL_COUNT), new BoolTelemVar("cr_wheel_powered", "", "", TRAILER, 2063, TRAILER_WHEEL_COUNT), new BoolTelemVar("cr_wheel_liftable", "", "", TRAILER, 2079, TRAILER_WHEEL_COUNT), new StringTelemVar("cj_cargo_id", "", "", JOB, 2095) }; List <TelemVar> jobEventVars = new List <TelemVar>() { new StringTelemVar("cj_cargo", "", "", JOB, 2159), new FloatTelemVar("cj_cargo_mass", "", "", JOB, 2223, Unit.NONE), //not sure bout this one - need a mass unit new StringTelemVar("cj_destination_city_id", "", "", JOB, 2227), new StringTelemVar("cj_destination_city", "", "", JOB, 2291), new StringTelemVar("cj_destination_company_id", "", "", JOB, 2355), new StringTelemVar("cj_destination_company", "", "", JOB, 2419), new StringTelemVar("cj_source_city_id", "", "", JOB, 2483), new StringTelemVar("cj_source_city", "", "", JOB, 2547), new StringTelemVar("cj_source_company_id", "", "", JOB, 2611), new StringTelemVar("cj_source_company", "", "", JOB, 2675), new U64TelemVar("cj_income", "", "", JOB, 2739), new U32TelemVar("cj_delivery_time", "", "", JOB, 2747) }; U8TelemVar truckDataMarker = new U8TelemVar(null, null, null, null, 924); U8TelemVar trailerDataMarker = new U8TelemVar(null, null, null, null, 925); U8TelemVar jobDataMarker = new U8TelemVar(null, null, null, null, 926); EventVariableList = new EventVariableList(truckEventVars, trailerEventVars, jobEventVars, truckDataMarker, trailerDataMarker, jobDataMarker); }