mirror of
https://github.com/italicsjenga/fh5-telemetry-watcher.git
synced 2024-12-23 14:11:33 +11:00
serde + data structure
This commit is contained in:
parent
8f57c15a54
commit
f9294ce6bf
45
Cargo.lock
generated
45
Cargo.lock
generated
|
@ -86,6 +86,12 @@ dependencies = [
|
||||||
"hashbrown",
|
"hashbrown",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "itoa"
|
||||||
|
version = "1.0.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lazy_static"
|
name = "lazy_static"
|
||||||
version = "1.4.0"
|
version = "1.4.0"
|
||||||
|
@ -155,6 +161,43 @@ dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ryu"
|
||||||
|
version = "1.0.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde"
|
||||||
|
version = "1.0.136"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789"
|
||||||
|
dependencies = [
|
||||||
|
"serde_derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_derive"
|
||||||
|
version = "1.0.136"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_json"
|
||||||
|
version = "1.0.79"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95"
|
||||||
|
dependencies = [
|
||||||
|
"itoa",
|
||||||
|
"ryu",
|
||||||
|
"serde",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "strsim"
|
name = "strsim"
|
||||||
version = "0.10.0"
|
version = "0.10.0"
|
||||||
|
@ -177,6 +220,8 @@ name = "telemetry"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap",
|
"clap",
|
||||||
|
"serde",
|
||||||
|
"serde_json",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
|
@ -6,4 +6,6 @@ edition = "2021"
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
clap = { version = "3.1.1", features = ["derive"] }
|
clap = { version = "3.1.1", features = ["derive"] }
|
||||||
|
serde = { version = "1.0.136", features = ["derive"] }
|
||||||
|
serde_json = "1.0.79"
|
99
src/main.rs
99
src/main.rs
|
@ -7,6 +7,105 @@ struct Args {
|
||||||
folder: String,
|
folder: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
|
struct Telemetry {
|
||||||
|
isRaceOn: bool,
|
||||||
|
timeStampMS: u64,
|
||||||
|
engineMaxRpm: f32,
|
||||||
|
engineIdleRpm: f32,
|
||||||
|
currentEngineRpm: f32,
|
||||||
|
accelerationX: f32,
|
||||||
|
accelerationY: f32,
|
||||||
|
accelerationZ: f32,
|
||||||
|
velocityX: f32,
|
||||||
|
velocityY: f32,
|
||||||
|
velocityZ: f32,
|
||||||
|
angularVelocityX: f32,
|
||||||
|
angularVelocityY: f32,
|
||||||
|
angularVelocityZ: f32,
|
||||||
|
yaw: f32,
|
||||||
|
pitch: f32,
|
||||||
|
roll: f32,
|
||||||
|
normalizedSuspensionTravelFrontLeft: f32,
|
||||||
|
normalizedSuspensionTravelFrontRight: f32,
|
||||||
|
normalizedSuspensionTravelRearLeft: f32,
|
||||||
|
normalizedSuspensionTravelRearRight: f32,
|
||||||
|
tireSlipRatioFrontLeft: f32,
|
||||||
|
tireSlipRatioFrontRight: f32,
|
||||||
|
tireSlipRatioRearLeft: f32,
|
||||||
|
tireSlipRatioRearRight: f32,
|
||||||
|
wheelRotationSpeedFrontLeft: f32,
|
||||||
|
wheelRotationSpeedFrontRight: f32,
|
||||||
|
wheelRotationSpeedRearLeft: f32,
|
||||||
|
wheelRotationSpeedRearRight: f32,
|
||||||
|
wheelOnRumbleStripFrontLeft: i32,
|
||||||
|
wheelOnRumbleStripFrontRight: i32,
|
||||||
|
wheelOnRumbleStripRearLeft: i32,
|
||||||
|
wheelOnRumbleStripRearRight: i32,
|
||||||
|
wheelInPuddleDepthFrontLeft: f32,
|
||||||
|
wheelInPuddleDepthFrontRight: f32,
|
||||||
|
wheelInPuddleDepthRearLeft: f32,
|
||||||
|
wheelInPuddleDepthRearRight: f32,
|
||||||
|
surfaceRumbleFrontLeft: f32,
|
||||||
|
surfaceRumbleFrontRight: f32,
|
||||||
|
surfaceRumbleRearLeft: f32,
|
||||||
|
surfaceRumbleRearRight: f32,
|
||||||
|
tireSlipAngleFrontLeft: f32,
|
||||||
|
tireSlipAngleFrontRight: f32,
|
||||||
|
tireSlipAngleRearLeft: f32,
|
||||||
|
tireSlipAngleRearRight: f32,
|
||||||
|
tireCombinedSlipFrontLeft: f32,
|
||||||
|
tireCombinedSlipFrontRight: f32,
|
||||||
|
tireCombinedSlipRearLeft: f32,
|
||||||
|
tireCombinedSlipRearRight: f32,
|
||||||
|
suspensionTravelMetersFrontLeft: f32,
|
||||||
|
suspensionTravelMetersFrontRight: f32,
|
||||||
|
suspensionTravelMetersRearLeft: f32,
|
||||||
|
suspensionTravelMetersRearRight: f32,
|
||||||
|
carClass: i32,
|
||||||
|
carPerformanceIndex: i32,
|
||||||
|
drivetrai32ype: i32,
|
||||||
|
numCylinders: i32,
|
||||||
|
carType: i32,
|
||||||
|
unknown1: i8,
|
||||||
|
unknown2: i8,
|
||||||
|
unknown3: i8,
|
||||||
|
unknown4: i8,
|
||||||
|
unknown5: i8,
|
||||||
|
unknown6: i8,
|
||||||
|
unknown7: i8,
|
||||||
|
unknown8: i8,
|
||||||
|
carOrdinal: i32,
|
||||||
|
positionX: f32,
|
||||||
|
positionY: f32,
|
||||||
|
positionZ: f32,
|
||||||
|
speed: f32,
|
||||||
|
power: f32,
|
||||||
|
torque: f32,
|
||||||
|
tireTempFrontLeft: f32,
|
||||||
|
tireTempFrontRight: f32,
|
||||||
|
tireTempRearLeft: f32,
|
||||||
|
tireTempRearRight: f32,
|
||||||
|
boost: f32,
|
||||||
|
fuel: f32,
|
||||||
|
distanceTraveled: f32,
|
||||||
|
bestLap: f32,
|
||||||
|
lastLap: f32,
|
||||||
|
currentLap: f32,
|
||||||
|
currentRaceTime: f32,
|
||||||
|
lapNumber: i16,
|
||||||
|
racePosition: i8,
|
||||||
|
accel: i8,
|
||||||
|
brake: i8,
|
||||||
|
clutch: i8,
|
||||||
|
handbrake: i8,
|
||||||
|
gear: i8,
|
||||||
|
steer: i8,
|
||||||
|
normalizedDrivingLine: i8,
|
||||||
|
normalizedAIBrakeDifference: i8,
|
||||||
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = Args::parse();
|
let args = Args::parse();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue