first TC handling

This commit is contained in:
Robin Mueller
2026-05-13 10:23:44 +02:00
parent 2cab8d7fed
commit bcc1cc850f
8 changed files with 418 additions and 67 deletions
@@ -7,7 +7,7 @@ use std::{
use clap::Parser;
use cobs::CobsDecoderOwned;
use embedded_models::Request;
use embedded_models::stm32f3;
use spacepackets::{CcsdsPacketCreatorOwned, CcsdsPacketReader, SpHeader};
use tmtc_utils::transport::serial::PacketTransportSerialCobs;
@@ -69,8 +69,7 @@ fn main() {
let mut transport = PacketTransportSerialCobs::new(serial, CobsDecoderOwned::new(1024));
if cli.ping {
let request = Request::Ping;
let tc = create_stm32f3_tc(&request);
let tc = create_stm32f3_tc(&embedded_models::stm32f3::Request::Ping);
log::info!(
"Sending ping request with TC ID: {:#010x}",
tc.ccsds_packet_id_and_psc().raw()
@@ -79,7 +78,7 @@ fn main() {
}
if let Some(freq_ms) = cli.set_led_frequency {
let request = Request::ChangeBlinkFrequency(Duration::from_millis(freq_ms as u64));
let request = stm32f3::Request::ChangeBlinkFrequency(Duration::from_millis(freq_ms as u64));
let tc = create_stm32f3_tc(&request);
log::info!(
"Sending change blink frequency request {:?} with TC ID: {:#010x}",
@@ -100,7 +99,7 @@ fn main() {
}
}
fn create_stm32f3_tc(request: &Request) -> CcsdsPacketCreatorOwned {
fn create_stm32f3_tc(request: &stm32f3::Request) -> CcsdsPacketCreatorOwned {
let req_raw = postcard::to_allocvec(&request).unwrap();
let sp_header = SpHeader::new_from_apid(satrs_stm32f3_disco_rtic::APID);
CcsdsPacketCreatorOwned::new_tc_with_checksum(sp_header, &req_raw).unwrap()