initial integration with telem viz

This commit is contained in:
2026-01-02 15:36:50 -05:00
parent 59b5679dda
commit 275cb07c4c
16 changed files with 1408 additions and 190 deletions

View File

@@ -5,19 +5,18 @@ edition = "2024"
[dependencies]
anyhow = { workspace = true }
log = { workspace = true, features = ["max_level_trace", "release_max_level_debug"] }
chrono = { workspace = true }
embedded-hal = "1.0.0"
embedded-hal-bus = { version = "0.3.0", features = ["std"] }
embedded-hal-mock = { version = "0.11.1", optional = true }
rpi-pal = { version = "0.22.2", features = ["hal"], optional = true }
hex = "0.4.3"
crc = "3.3.0"
nautilus_common = { path = "../common" }
crc = {workspace = true}
embedded-hal = {workspace = true}
embedded-hal-bus = { workspace = true, features = ["std"] }
embedded-hal-mock = { workspace = true, optional = true }
log = { workspace = true, features = ["max_level_trace", "release_max_level_debug"] }
nautilus_common = { workspace = true }
postcard = { workspace = true }
rpi-pal = { workspace = true, features = ["hal"], optional = true }
[dev-dependencies]
embedded-hal-mock = { version = "0.11.1" }
embedded-hal-mock = { workspace = true }
[features]
raspi = ["dep:rpi-pal"]

View File

@@ -10,12 +10,12 @@ use crate::state_vector::StateVector;
use anyhow::Result;
use embedded_hal::pwm::SetDutyCycle;
use log::info;
use nautilus_common::add_ctrlc_handler;
use nautilus_common::telemetry::{SwitchBank, TelemetryMessage};
use std::sync::Arc;
use std::sync::atomic::{AtomicBool, Ordering};
use std::thread::sleep;
use std::time::Duration;
use nautilus_common::add_ctrlc_handler_arc;
mod hardware;
@@ -35,7 +35,7 @@ pub fn run() -> Result<()> {
);
let running = Arc::new(AtomicBool::new(true));
add_ctrlc_handler(running.clone())?;
add_ctrlc_handler_arc(running.clone())?;
let state_vector = StateVector::new();
@@ -92,7 +92,7 @@ pub fn run() -> Result<()> {
});
});
},
1,
10,
)?;
info!("Starting Main Loop");
@@ -119,7 +119,6 @@ pub fn run() -> Result<()> {
mod comms;
mod data;
mod on_drop;
mod rcs;
mod scheduler;
mod state_vector;

View File

@@ -1,18 +0,0 @@
use log::trace;
use std::any::type_name;
pub struct OnDrop<F: FnMut()> {
func: F,
}
pub fn on_drop<F: FnMut()>(func: F) -> OnDrop<F> {
trace!("on_drop<F={}>()", type_name::<F>());
OnDrop { func }
}
impl<F: FnMut()> Drop for OnDrop<F> {
fn drop(&mut self) {
trace!("OnDrop<F={}>::drop()", type_name::<F>());
(self.func)();
}
}

View File

@@ -1,6 +1,6 @@
use crate::on_drop::on_drop;
use anyhow::Result;
use log::trace;
use nautilus_common::on_drop::on_drop;
use std::any::type_name;
use std::fmt::Debug;
use std::ops::Deref;