added own main
This commit is contained in:
parent
6b7c3dda97
commit
154e4ef4ce
33
src/can.rs
Normal file
33
src/can.rs
Normal file
@ -0,0 +1,33 @@
|
||||
use std::sync::Receiver;
|
||||
use std::sync::Sender;
|
||||
use satrs_core::pool::StoreAddr;
|
||||
#[cfg(feature = "can")]
|
||||
use socketcan;
|
||||
use crate::tmtc::TmStore;
|
||||
|
||||
struct CanThreadArgs {
|
||||
rx_can_request: Receiver<HkRequest>,
|
||||
tm_sender: Sender<StoreAddr>,
|
||||
tm_store: TmStore,
|
||||
}
|
||||
|
||||
pub type CollInterval = u32;
|
||||
pub enum HkIds {
|
||||
AcsHk = 0
|
||||
}
|
||||
pub enum HkRequest {
|
||||
OneShot(HkIds),
|
||||
Enable(HkIds, CollInterval), // periodic
|
||||
Disable(HkIds, CollInterval)
|
||||
}
|
||||
|
||||
// impl CanThreadArgs {
|
||||
// fn operation(&self) {
|
||||
//
|
||||
// }
|
||||
// }
|
||||
fn can_thread(canthreadargs: CanThreadArgs) {
|
||||
// handle tc requests
|
||||
// request from devices
|
||||
// send tms
|
||||
}
|
19
src/main.rs
19
src/main.rs
@ -1,6 +1,11 @@
|
||||
#![allow(dead_code)]
|
||||
mod ccsds;
|
||||
mod pus;
|
||||
mod tmtc;
|
||||
#[cfg(target_os = "unix")]
|
||||
mod can;
|
||||
|
||||
|
||||
|
||||
use crate::tmtc::{core_tmtc_task, CoreTmtcArgs, TmStore, PUS_APID};
|
||||
use satrs_core::event_man::{
|
||||
@ -20,7 +25,8 @@ use satrs_core::pus::{EcssTmError, EcssTmSender};
|
||||
use satrs_core::seq_count::SimpleSeqCountProvider;
|
||||
use satrs_core::tmtc::CcsdsError;
|
||||
use eurosim_obsw::{OBSW_SERVER_ADDR, SERVER_PORT};
|
||||
use spacepackets::time::{CdsShortTimeProvider, TimeWriter};
|
||||
use spacepackets::time::cds::TimeProvider;
|
||||
use spacepackets::time::TimeWriter;
|
||||
use spacepackets::tm::PusTm;
|
||||
use std::net::{IpAddr, SocketAddr};
|
||||
use std::sync::mpsc::channel;
|
||||
@ -105,6 +111,8 @@ fn main() {
|
||||
let core_args = CoreTmtcArgs {
|
||||
tm_store: tm_store_helper.clone(),
|
||||
tm_sender: tm_funnel_tx.clone(),
|
||||
// can_tm_sender: tm_funnel_tx.clone(),
|
||||
// can_tm_store: tm_store_helper.clone(),
|
||||
event_sender,
|
||||
event_request_tx,
|
||||
};
|
||||
@ -134,7 +142,7 @@ fn main() {
|
||||
let jh2 = thread::spawn(move || {
|
||||
let mut timestamp: [u8; 7] = [0; 7];
|
||||
let mut sender = EventTmSender::new(tm_store_helper, tm_funnel_tx);
|
||||
let mut time_provider = CdsShortTimeProvider::new(0, 0);
|
||||
let mut time_provider = TimeProvider::new_with_u16_days(0, 0);
|
||||
let mut report_completion = |event_req: EventRequestWithToken, timestamp: &[u8]| {
|
||||
reporter1
|
||||
.completion_success(event_req.token, timestamp)
|
||||
@ -168,12 +176,13 @@ fn main() {
|
||||
}
|
||||
});
|
||||
|
||||
own_main();
|
||||
jh0.join().expect("Joining UDP TMTC server thread failed");
|
||||
jh1.join().expect("Joining TM Funnel thread failed");
|
||||
jh2.join().expect("Joining Event Manager thread failed");
|
||||
}
|
||||
|
||||
pub fn update_time(time_provider: &mut CdsShortTimeProvider, timestamp: &mut [u8]) {
|
||||
pub fn update_time(time_provider: &mut TimeProvider, timestamp: &mut [u8]) {
|
||||
time_provider
|
||||
.update_from_now()
|
||||
.expect("Could not get current time");
|
||||
@ -181,3 +190,7 @@ pub fn update_time(time_provider: &mut CdsShortTimeProvider, timestamp: &mut [u8
|
||||
.write_to_bytes(timestamp)
|
||||
.expect("Writing timestamp failed");
|
||||
}
|
||||
|
||||
fn own_main() {
|
||||
|
||||
}
|
||||
|
16
src/pus.rs
16
src/pus.rs
@ -10,7 +10,8 @@ use satrs_core::tmtc::tm_helper::PusTmWithCdsShortHelper;
|
||||
use satrs_core::tmtc::PusServiceProvider;
|
||||
use spacepackets::ecss::{EcssEnumU16, PusPacket};
|
||||
use spacepackets::tc::PusTc;
|
||||
use spacepackets::time::{CdsShortTimeProvider, TimeWriter};
|
||||
use spacepackets::time::cds::TimeProvider;
|
||||
use spacepackets::time::TimeWriter;
|
||||
use spacepackets::SpHeader;
|
||||
use std::sync::mpsc;
|
||||
|
||||
@ -20,7 +21,7 @@ pub struct PusReceiver {
|
||||
pub tm_store: TmStore,
|
||||
pub verif_reporter: StdVerifReporterWithSender,
|
||||
event_request_tx: mpsc::Sender<EventRequestWithToken>,
|
||||
stamper: CdsShortTimeProvider,
|
||||
stamper: TimeProvider,
|
||||
time_stamp: [u8; 7],
|
||||
}
|
||||
|
||||
@ -38,7 +39,7 @@ impl PusReceiver {
|
||||
tm_store,
|
||||
verif_reporter,
|
||||
event_request_tx,
|
||||
stamper: CdsShortTimeProvider::default(),
|
||||
stamper: TimeProvider::default(),
|
||||
time_stamp: [0; 7],
|
||||
}
|
||||
}
|
||||
@ -71,6 +72,15 @@ impl PusServiceProvider for PusReceiver {
|
||||
}
|
||||
}
|
||||
|
||||
pub type CollInterval = u32;
|
||||
pub enum HkIds {
|
||||
AcsHk = 0
|
||||
}
|
||||
pub enum HkRequest {
|
||||
OneShot(HkIds),
|
||||
Enable(HkIds, CollInterval), // periodic
|
||||
Disable(HkIds, CollInterval)
|
||||
}
|
||||
impl PusReceiver {
|
||||
fn handle_test_service(&mut self, pus_tc: &PusTc, token: VerificationToken<TcStateAccepted>) {
|
||||
if pus_tc.subservice() == 1 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user