Skip to content

Commit 0be31ec

Browse files
committed
ev: use model data from file when available
1 parent cf42af0 commit 0be31ec

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

src/ev.rs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
use simplelog::*;
2+
use std::path::PathBuf;
23
use std::sync::Arc;
4+
use tokio::fs;
35
use tokio::sync::mpsc::Sender;
46
use tokio::sync::Mutex;
57

@@ -101,8 +103,18 @@ pub async fn send_ev_data(
101103
ev_battery_capacity: u64,
102104
ev_factor: f32,
103105
) -> Result<()> {
104-
// parse initial sample Ford data
105-
let mut msg = SensorBatch::parse_from_bytes(FORD_EV_MODEL)?;
106+
// obtain binary model data
107+
let model_path: PathBuf = PathBuf::from(EV_MODEL_FILE);
108+
let data = if fs::try_exists(&model_path).await? {
109+
// reading model from file
110+
fs::read(&model_path).await?
111+
} else {
112+
// default initial sample Ford data
113+
FORD_EV_MODEL.to_vec()
114+
};
115+
116+
// parse
117+
let mut msg = SensorBatch::parse_from_bytes(&data)?;
106118

107119
// apply our changes
108120
msg.energy_model_control[0].u1.as_mut().unwrap().u6 = 1.0;

0 commit comments

Comments
 (0)