Skip to content

Commit d79f0b5

Browse files
committed
test event working
1 parent 033c995 commit d79f0b5

File tree

4 files changed

+35
-91
lines changed

4 files changed

+35
-91
lines changed

satrs-example/client/src/main.rs

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use anyhow::bail;
22
use arbitrary_int::u11;
33
use clap::Parser as _;
4-
use models::{Apid, TcHeader};
4+
use models::{Apid, MessageType, TcHeader};
55
use satrs_example::config::{OBSW_SERVER_ADDR, SERVER_PORT};
66
use spacepackets::{CcsdsPacketIdAndPsc, SpacePacketHeader};
77
use std::{
@@ -17,6 +17,8 @@ use std::{
1717
pub struct Cli {
1818
#[arg(short, long)]
1919
ping: bool,
20+
#[arg(short, long)]
21+
test_event: bool,
2022
}
2123

2224
fn setup_logger(level: log::LevelFilter) -> Result<(), fern::InitError> {
@@ -60,6 +62,20 @@ fn main() -> anyhow::Result<()> {
6062
let request_packet = request.to_vec();
6163
client.send_to(&request_packet, addr).unwrap();
6264
}
65+
if cli.test_event {
66+
let request = models::ccsds::CcsdsTcPacketOwned::new_with_request(
67+
SpacePacketHeader::new_from_apid(u11::new(Apid::Tmtc as u16)),
68+
TcHeader::new(models::ComponentId::Controller, models::MessageType::Event),
69+
models::control::request::Request::TestEvent,
70+
);
71+
let sent_tc_id = CcsdsPacketIdAndPsc::new_from_ccsds_packet(&request.sp_header);
72+
log::info!(
73+
"sending event request with TC ID {:#010x}",
74+
sent_tc_id.raw()
75+
);
76+
let request_packet = request.to_vec();
77+
client.send_to(&request_packet, addr).unwrap();
78+
}
6379

6480
let mut recv_buf: Box<[u8; 2048]> = Box::new([0; 2048]);
6581
loop {
@@ -106,8 +122,21 @@ fn handle_raw_tm_packet(data: &[u8]) -> anyhow::Result<()> {
106122
tm_header.sender_id,
107123
);
108124
}
125+
if tm_header.message_type == MessageType::Event {
126+
let response = postcard::from_bytes::<models::Event>(remainder);
127+
log::info!(
128+
"Received event from {:?}: {:?}",
129+
tm_header.sender_id,
130+
response.unwrap()
131+
);
132+
return Ok(());
133+
}
109134
match tm_header.sender_id {
110-
models::ComponentId::Pcdu => todo!(),
135+
models::ComponentId::Pcdu => {
136+
let response =
137+
postcard::from_bytes::<models::pcdu::response::Response>(remainder);
138+
log::info!("Received response from PCDU: {:?}", response.unwrap());
139+
}
111140
models::ComponentId::Controller => {
112141
let response =
113142
postcard::from_bytes::<models::control::response::Response>(remainder);
@@ -122,7 +151,7 @@ fn handle_raw_tm_packet(data: &[u8]) -> anyhow::Result<()> {
122151
models::ComponentId::UdpServer => todo!(),
123152
models::ComponentId::TcpServer => todo!(),
124153
models::ComponentId::Ground => todo!(),
125-
models::ComponentId::EventManager => todo!(),
154+
models::ComponentId::EventManager => {}
126155
}
127156
}
128157
Err(_) => todo!(),

satrs-example/models/src/control.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,14 @@ pub mod response {
2525
#[derive(serde::Serialize, serde::Deserialize, Clone, Copy, Debug)]
2626
pub enum Response {
2727
Ok,
28+
Event(super::Event),
2829
}
2930

3031
impl Message for Response {
3132
fn message_type(&self) -> crate::MessageType {
3233
match self {
3334
Response::Ok => crate::MessageType::Verification,
35+
Response::Event(_event) => crate::MessageType::Event,
3436
}
3537
}
3638
}

satrs-example/src/acs/mgm.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ impl<ComInterface: SpiInterface> MgmHandlerLis3Mdl<ComInterface> {
208208
}
209209
mgm::request::Request::Hk(hk_request) => {
210210
self.handle_hk_request(Some(tc_id), &hk_request)
211-
}
211+
} //mgm::request::Request::Mo
212212
}
213213
}
214214
Err(e) => {

satrs-example/src/bin/simpleclient.rs

Lines changed: 0 additions & 87 deletions
This file was deleted.

0 commit comments

Comments
 (0)