75 lines
2.3 KiB
Rust
75 lines
2.3 KiB
Rust
|
use lazy_static::lazy_static;
|
||
|
use satrs::spacepackets::{PacketId, PacketType};
|
||
|
use std::{collections::HashSet, net::Ipv4Addr};
|
||
|
use strum::IntoEnumIterator;
|
||
|
|
||
|
pub const OBSW_SERVER_ADDR: Ipv4Addr = Ipv4Addr::UNSPECIFIED;
|
||
|
pub const SERVER_PORT: u16 = 7301;
|
||
|
|
||
|
lazy_static! {
|
||
|
pub static ref PACKET_ID_VALIDATOR: HashSet<PacketId> = {
|
||
|
let mut set = HashSet::new();
|
||
|
for id in components::Apid::iter() {
|
||
|
set.insert(PacketId::new(PacketType::Tc, true, id as u16));
|
||
|
}
|
||
|
set
|
||
|
};
|
||
|
pub static ref APID_VALIDATOR: HashSet<u16> = {
|
||
|
let mut set = HashSet::new();
|
||
|
for id in components::Apid::iter() {
|
||
|
set.insert(id as u16);
|
||
|
}
|
||
|
set
|
||
|
};
|
||
|
}
|
||
|
|
||
|
pub mod components {
|
||
|
use satrs::request::UniqueApidTargetId;
|
||
|
use strum::EnumIter;
|
||
|
|
||
|
#[derive(Copy, Clone, PartialEq, Eq, EnumIter)]
|
||
|
pub enum Apid {
|
||
|
Sched = 1,
|
||
|
GenericPus = 2,
|
||
|
Cfdp = 4,
|
||
|
}
|
||
|
|
||
|
// Component IDs for components with the PUS APID.
|
||
|
#[derive(Copy, Clone, PartialEq, Eq)]
|
||
|
pub enum PusId {
|
||
|
PusEventManagement = 0,
|
||
|
PusRouting = 1,
|
||
|
PusTest = 2,
|
||
|
PusAction = 3,
|
||
|
PusMode = 4,
|
||
|
PusHk = 5,
|
||
|
}
|
||
|
|
||
|
#[derive(Copy, Clone, PartialEq, Eq)]
|
||
|
pub enum AcsId {
|
||
|
Mgm0 = 0,
|
||
|
}
|
||
|
|
||
|
pub const PUS_ACTION_SERVICE: UniqueApidTargetId =
|
||
|
UniqueApidTargetId::new(Apid::GenericPus as u16, PusId::PusAction as u32);
|
||
|
pub const PUS_EVENT_MANAGEMENT: UniqueApidTargetId =
|
||
|
UniqueApidTargetId::new(Apid::GenericPus as u16, 0);
|
||
|
pub const PUS_ROUTING_SERVICE: UniqueApidTargetId =
|
||
|
UniqueApidTargetId::new(Apid::GenericPus as u16, PusId::PusRouting as u32);
|
||
|
pub const PUS_TEST_SERVICE: UniqueApidTargetId =
|
||
|
UniqueApidTargetId::new(Apid::GenericPus as u16, PusId::PusTest as u32);
|
||
|
pub const PUS_MODE_SERVICE: UniqueApidTargetId =
|
||
|
UniqueApidTargetId::new(Apid::GenericPus as u16, PusId::PusMode as u32);
|
||
|
pub const PUS_HK_SERVICE: UniqueApidTargetId =
|
||
|
UniqueApidTargetId::new(Apid::GenericPus as u16, PusId::PusHk as u32);
|
||
|
pub const PUS_SCHED_SERVICE: UniqueApidTargetId =
|
||
|
UniqueApidTargetId::new(Apid::Sched as u16, 0);
|
||
|
}
|
||
|
|
||
|
pub mod tasks {
|
||
|
pub const FREQ_MS_UDP_TMTC: u64 = 200;
|
||
|
pub const FREQ_MS_EVENT_HANDLING: u64 = 400;
|
||
|
pub const FREQ_MS_AOCS: u64 = 500;
|
||
|
pub const FREQ_MS_PUS_STACK: u64 = 200;
|
||
|
}
|