sat-rs/satrs/src/hk.rs

41 lines
899 B
Rust
Raw Normal View History

use crate::{
pus::verification::{TcStateAccepted, VerificationToken},
TargetId,
};
2024-02-13 11:05:59 +01:00
2023-02-13 09:20:00 +01:00
pub type CollectionIntervalFactor = u32;
2023-02-27 11:51:48 +01:00
pub type UniqueId = u32;
2023-02-13 09:20:00 +01:00
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum HkRequest {
2023-02-27 11:51:48 +01:00
OneShot(UniqueId),
Enable(UniqueId),
Disable(UniqueId),
ModifyCollectionInterval(UniqueId, CollectionIntervalFactor),
}
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub struct TargetedHkRequest {
pub target_id: TargetId,
pub hk_request: HkRequest,
2023-02-13 09:20:00 +01:00
}
2024-02-13 11:05:59 +01:00
impl TargetedHkRequest {
pub fn new(target_id: TargetId, hk_request: HkRequest) -> Self {
Self {
target_id,
hk_request,
}
}
}
pub trait PusHkRequestRouter {
type Error;
fn route(
&self,
target_id: TargetId,
hk_request: HkRequest,
token: VerificationToken<TcStateAccepted>,
) -> Result<(), Self::Error>;
2024-02-13 11:05:59 +01:00
}