Merge pull request #120 from qitechgmbh/fix/119

Remove `chrono`
This commit is contained in:
Icedsoda authored and GitHub committed 2025-05-05 13:20:33 +02:00
commit 25bbf903bf
8 files changed
+25 -209

No files matched your search

Generated
-194
View File
@@ -26,21 +26,6 @@ dependencies = [
"memchr",
]
[[package]]
name = "android-tzdata"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
[[package]]
name = "android_system_properties"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
dependencies = [
"libc",
]
[[package]]
name = "anes"
version = "0.1.6"
@@ -403,12 +388,6 @@ dependencies = [
"piper",
]
[[package]]
name = "bumpalo"
version = "3.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
[[package]]
name = "byteorder"
version = "1.5.0"
@@ -451,20 +430,6 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
[[package]]
name = "chrono"
version = "0.4.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c"
dependencies = [
"android-tzdata",
"iana-time-zone",
"js-sys",
"num-traits",
"wasm-bindgen",
"windows-link",
]
[[package]]
name = "ciborium"
version = "0.2.2"
@@ -540,7 +505,6 @@ dependencies = [
"approx",
"axum",
"bitvec",
"chrono",
"crc",
"ethercat_hal",
"ethercrab",
@@ -553,12 +517,6 @@ dependencies = [
"uom",
]
[[package]]
name = "core-foundation-sys"
version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
[[package]]
name = "cpufeatures"
version = "0.2.17"
@@ -1255,30 +1213,6 @@ dependencies = [
"tower-service",
]
[[package]]
name = "iana-time-zone"
version = "0.1.63"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"log",
"wasm-bindgen",
"windows-core",
]
[[package]]
name = "iana-time-zone-haiku"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
dependencies = [
"cc",
]
[[package]]
name = "if_chain"
version = "1.0.2"
@@ -1406,16 +1340,6 @@ dependencies = [
"syn 2.0.101",
]
[[package]]
name = "js-sys"
version = "0.3.77"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
dependencies = [
"once_cell",
"wasm-bindgen",
]
[[package]]
name = "lazy_static"
version = "1.5.0"
@@ -2005,7 +1929,6 @@ dependencies = [
"approx",
"axum",
"bitvec",
"chrono",
"control_core",
"env_logger",
"ethercat_hal",
@@ -2532,64 +2455,6 @@ dependencies = [
"wit-bindgen-rt",
]
[[package]]
name = "wasm-bindgen"
version = "0.2.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
dependencies = [
"cfg-if",
"once_cell",
"rustversion",
"wasm-bindgen-macro",
]
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
dependencies = [
"bumpalo",
"log",
"proc-macro2",
"quote",
"syn 2.0.101",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
]
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.101",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
dependencies = [
"unicode-ident",
]
[[package]]
name = "winapi"
version = "0.3.9"
@@ -2621,65 +2486,6 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows-core"
version = "0.61.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980"
dependencies = [
"windows-implement",
"windows-interface",
"windows-link",
"windows-result",
"windows-strings",
]
[[package]]
name = "windows-implement"
version = "0.60.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.101",
]
[[package]]
name = "windows-interface"
version = "0.59.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.101",
]
[[package]]
name = "windows-link"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38"
[[package]]
name = "windows-result"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252"
dependencies = [
"windows-link",
]
[[package]]
name = "windows-strings"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97"
dependencies = [
"windows-link",
]
[[package]]
name = "windows-sys"
version = "0.36.1"
-1
View File
@@ -6,7 +6,6 @@ edition = "2024"
[dependencies]
anyhow = "1.0.98"
axum = "0.8.3"
chrono = "0.4.40"
ethercat_hal = { path = "../ethercat-hal" }
ethercrab = "0.6"
interfaces = "0.0.9"
+8 -3
View File
@@ -1,3 +1,5 @@
use std::time::{SystemTime, UNIX_EPOCH};
use serde::Serialize;
use serde_json::Value;
@@ -6,7 +8,7 @@ pub struct GenericEvent {
pub name: String,
pub data: Value,
/// Timestamp in milliseconds
pub ts: i64,
pub ts: u64,
}
#[derive(Debug, Clone, Serialize)]
@@ -17,7 +19,7 @@ where
pub name: String,
pub data: T,
/// Timestamp in milliseconds
pub ts: i64,
pub ts: u64,
}
impl<T> TryFrom<Event<T>> for GenericEvent
@@ -58,7 +60,10 @@ where
Self {
name: event.to_string(),
data,
ts: chrono::Utc::now().timestamp_millis(),
ts: SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap()
.as_millis() as u64,
}
}
}
+10 -4
View File
@@ -1,6 +1,10 @@
use crate::socketio::event::GenericEvent;
use socketioxide::extract::SocketRef;
use std::{collections::HashMap, time::Duration};
use std::{
alloc::System,
collections::HashMap,
time::{Duration, Instant, SystemTime, UNIX_EPOCH},
};
pub trait NamespaceInterface {
/// Adds a socket to the namespace.
@@ -171,9 +175,11 @@ pub fn cache_one_event() -> CacheFn {
/// [BufferFn] that stores events for a certain duration
pub fn cache_duration(duration: Duration) -> CacheFn {
Box::new(move |events, event| {
let now = chrono::Utc::now();
let cutoff_time = now - chrono::Duration::from_std(duration).unwrap_or_default();
let cutoff_millis = cutoff_time.timestamp_millis();
let now = SystemTime::now()
.duration_since(UNIX_EPOCH)
.expect("System time before UNIX EPOCH");
let cutoff_time = now - duration;
let cutoff_millis = cutoff_time.as_millis() as u64;
// Since events are ordered by increasing ts, we can find the first index
// that should be kept and truncate everything before it
-1
View File
@@ -22,7 +22,6 @@ axum = { version = "0.8.3", features = ["macros"] }
# utility
uom = "0.36.0"
chrono = "0.4.39"
serde = "1.0.217"
anyhow = "1.0.98"
serde_json = "1.0.137"
+3 -3
View File
@@ -1,4 +1,4 @@
use std::time::Instant;
use std::time::{Duration, Instant};
use super::Winder2;
use control_core::actors::Actor;
@@ -19,8 +19,8 @@ impl Actor for Winder2 {
self.sync_spool_speed(now);
// if last measurement emit is older than 1 second, emit a new measurement
let now = chrono::Utc::now();
if (now - self.last_measurement_emit).num_milliseconds() > 16 {
let now = Instant::now();
if now.duration_since(self.last_measurement_emit) > Duration::from_millis(16) {
self.emit_tension_arm_angle();
self.emit_spool_rpm();
self.last_measurement_emit = now;
+1 -2
View File
@@ -12,7 +12,6 @@ use api::{
ModeStateEvent, TensionArmAngleEvent, TensionArmStateEvent, TraverseStateEvent, Winder1Events,
Winder1Namespace,
};
use chrono::DateTime;
use control_core::{
actors::{
digital_output_setter::DigitalOutputSetter, stepper_driver_el70x1::StepperDriverEL70x1,
@@ -36,7 +35,7 @@ pub struct Winder2 {
// socketio
namespace: Winder1Namespace,
last_measurement_emit: DateTime<chrono::Utc>,
last_measurement_emit: Instant,
// mode
pub mode: Winder2Mode,
+3 -1
View File
@@ -1,3 +1,5 @@
use std::time::Instant;
use super::api::Winder1Namespace;
use super::linear_spool_speed_controller::LinearSpoolSpeedController;
use super::tension_arm::TensionArm;
@@ -296,7 +298,7 @@ impl MachineNewTrait for Winder2 {
mode: Winder2Mode::Standby,
spool_step_converter: StepConverter::new(200),
spool_speed_controller: Box::new(LinearSpoolSpeedController::new(200.0, 1250.0)),
last_measurement_emit: chrono::Utc::now(),
last_measurement_emit: Instant::now(),
};
// Role 5