bumped spacepackets version

This commit is contained in:
Robin Mueller
2025-11-06 14:20:58 +01:00
parent d54167837e
commit 0cd929a19c
15 changed files with 89 additions and 73 deletions

View File

@@ -9,7 +9,7 @@ serialport = "4"
toml = "0.9" toml = "0.9"
serde = { version = "1", features = ["derive"] } serde = { version = "1", features = ["derive"] }
satrs-stm32f3-disco-rtic = { path = "../stm32f3-disco-rtic" } satrs-stm32f3-disco-rtic = { path = "../stm32f3-disco-rtic" }
spacepackets = { git = "https://egit.irs.uni-stuttgart.de/rust/spacepackets.git", version = "0.17" } spacepackets = { version = "0.17" }
tmtc-utils = { git = "https://egit.irs.uni-stuttgart.de/rust/tmtc-utils.git", version = "0.1" } tmtc-utils = { git = "https://egit.irs.uni-stuttgart.de/rust/tmtc-utils.git", version = "0.1" }
postcard = { version = "1", features = ["alloc"] } postcard = { version = "1", features = ["alloc"] }
cobs = "0.5" cobs = "0.5"

View File

@@ -9,7 +9,7 @@ use clap::Parser;
use cobs::CobsDecoderOwned; use cobs::CobsDecoderOwned;
use satrs_stm32f3_disco_rtic::Request; use satrs_stm32f3_disco_rtic::Request;
use spacepackets::{CcsdsPacketCreatorOwned, CcsdsPacketReader, SpHeader}; use spacepackets::{CcsdsPacketCreatorOwned, CcsdsPacketReader, SpHeader};
use tmtc_utils::transport::{PacketTransport, serial::PacketTransportSerialCobs}; use tmtc_utils::transport::serial::PacketTransportSerialCobs;
#[derive(Parser, Debug)] #[derive(Parser, Debug)]
struct Cli { struct Cli {

View File

@@ -17,7 +17,7 @@ cortex-m-semihosting = "0.5.0"
embassy-stm32 = { version = "0.4", features = ["defmt", "stm32f303vc", "unstable-pac"] } embassy-stm32 = { version = "0.4", features = ["defmt", "stm32f303vc", "unstable-pac"] }
enumset = "1" enumset = "1"
heapless = "0.9" heapless = "0.9"
spacepackets = { version = "0.17", git = "https://egit.irs.uni-stuttgart.de/rust/spacepackets.git", default-features = false, features = ["defmt", "serde"] } spacepackets = { version = "0.17", default-features = false, features = ["defmt", "serde"] }
static_cell = "2" static_cell = "2"
cobs = { version = "0.5", default-features = false, features = ["defmt"] } cobs = { version = "0.5", default-features = false, features = ["defmt"] }
postcard = { version = "1" } postcard = { version = "1" }

View File

@@ -1,4 +1,4 @@
all: check build embedded test fmt clippy docs all: check build embedded test check-fmt clippy docs
check: check:
cargo check cargo check
@@ -15,6 +15,9 @@ embedded:
cargo check -p satrs --target=thumbv7em-none-eabihf --no-default-features cargo check -p satrs --target=thumbv7em-none-eabihf --no-default-features
fmt: fmt:
cargo fmt --all
check-fmt:
cargo fmt --all -- --check cargo fmt --all -- --check
clippy: clippy:

View File

@@ -55,7 +55,7 @@ impl PusHkHelper {
buf: &'b mut [u8], buf: &'b mut [u8],
) -> Result<PusTmCreator<'a, 'b>, ByteConversionError> { ) -> Result<PusTmCreator<'a, 'b>, ByteConversionError> {
let sec_header = PusTmSecondaryHeader::new( let sec_header = PusTmSecondaryHeader::new(
MessageTypeId::new(3, hk::Subservice::TmHkPacket as u8), MessageTypeId::new(3, hk::MessageSubtypeId::TmHkPacket as u8),
0, 0,
0, 0,
timestamp, timestamp,

View File

@@ -168,7 +168,7 @@ impl PusTcToRequestConverter<ActivePusRequestStd, HkRequest> for HkRequestConver
let target_id_and_apid = UniqueApidTargetId::from_pus_tc(tc).expect("invalid tc format"); let target_id_and_apid = UniqueApidTargetId::from_pus_tc(tc).expect("invalid tc format");
let unique_id = u32::from_be_bytes(tc.user_data()[4..8].try_into().unwrap()); let unique_id = u32::from_be_bytes(tc.user_data()[4..8].try_into().unwrap());
let standard_subservice = hk::Subservice::try_from(subservice); let standard_subservice = hk::MessageSubtypeId::try_from(subservice);
if standard_subservice.is_err() { if standard_subservice.is_err() {
verif_reporter verif_reporter
.start_failure( .start_failure(
@@ -180,19 +180,22 @@ impl PusTcToRequestConverter<ActivePusRequestStd, HkRequest> for HkRequestConver
return Err(GenericConversionError::InvalidSubservice(subservice)); return Err(GenericConversionError::InvalidSubservice(subservice));
} }
let request = match standard_subservice.unwrap() { let request = match standard_subservice.unwrap() {
hk::Subservice::TcEnableHkGeneration | hk::Subservice::TcEnableDiagGeneration => { hk::MessageSubtypeId::TcEnableHkGeneration
| hk::MessageSubtypeId::TcEnableDiagGeneration => {
HkRequest::new(unique_id, HkRequestVariant::EnablePeriodic) HkRequest::new(unique_id, HkRequestVariant::EnablePeriodic)
} }
hk::Subservice::TcDisableHkGeneration | hk::Subservice::TcDisableDiagGeneration => { hk::MessageSubtypeId::TcDisableHkGeneration
| hk::MessageSubtypeId::TcDisableDiagGeneration => {
HkRequest::new(unique_id, HkRequestVariant::DisablePeriodic) HkRequest::new(unique_id, HkRequestVariant::DisablePeriodic)
} }
hk::Subservice::TcReportHkReportStructures => todo!(), hk::MessageSubtypeId::TcReportHkReportStructures => todo!(),
hk::Subservice::TmHkPacket => todo!(), hk::MessageSubtypeId::TmHkPacket => todo!(),
hk::Subservice::TcGenerateOneShotHk | hk::Subservice::TcGenerateOneShotDiag => { hk::MessageSubtypeId::TcGenerateOneShotHk
| hk::MessageSubtypeId::TcGenerateOneShotDiag => {
HkRequest::new(unique_id, HkRequestVariant::OneShot) HkRequest::new(unique_id, HkRequestVariant::OneShot)
} }
hk::Subservice::TcModifyDiagCollectionInterval hk::MessageSubtypeId::TcModifyDiagCollectionInterval
| hk::Subservice::TcModifyHkCollectionInterval => { | hk::MessageSubtypeId::TcModifyHkCollectionInterval => {
if user_data.len() < 12 { if user_data.len() < 12 {
verif_reporter verif_reporter
.start_failure( .start_failure(
@@ -314,7 +317,7 @@ mod tests {
pus::test_util::TEST_APID, pus::test_util::TEST_APID,
request::GenericMessage, request::GenericMessage,
spacepackets::{ spacepackets::{
ecss::{hk::Subservice, tc::PusTcCreator}, ecss::{hk::MessageSubtypeId, tc::PusTcCreator},
SpHeader, SpHeader,
}, },
}; };
@@ -340,7 +343,7 @@ mod tests {
let hk_req = PusTcCreator::new_simple( let hk_req = PusTcCreator::new_simple(
sp_header, sp_header,
MessageTypeId::new(3, Subservice::TcGenerateOneShotHk as u8), MessageTypeId::new(3, MessageSubtypeId::TcGenerateOneShotHk as u8),
&app_data, &app_data,
CreatorConfig::default(), CreatorConfig::default(),
); );
@@ -379,14 +382,14 @@ mod tests {
}; };
let tc0 = PusTcCreator::new_simple( let tc0 = PusTcCreator::new_simple(
sp_header, sp_header,
MessageTypeId::new(3, Subservice::TcEnableHkGeneration as u8), MessageTypeId::new(3, MessageSubtypeId::TcEnableHkGeneration as u8),
&app_data, &app_data,
CreatorConfig::default(), CreatorConfig::default(),
); );
generic_check(&tc0); generic_check(&tc0);
let tc1 = PusTcCreator::new_simple( let tc1 = PusTcCreator::new_simple(
sp_header, sp_header,
MessageTypeId::new(3, Subservice::TcEnableDiagGeneration as u8), MessageTypeId::new(3, MessageSubtypeId::TcEnableDiagGeneration as u8),
&app_data, &app_data,
CreatorConfig::default(), CreatorConfig::default(),
); );
@@ -416,14 +419,14 @@ mod tests {
}; };
let tc0 = PusTcCreator::new_simple( let tc0 = PusTcCreator::new_simple(
sp_header, sp_header,
MessageTypeId::new(3, Subservice::TcDisableHkGeneration as u8), MessageTypeId::new(3, MessageSubtypeId::TcDisableHkGeneration as u8),
&app_data, &app_data,
CreatorConfig::default(), CreatorConfig::default(),
); );
generic_check(&tc0); generic_check(&tc0);
let tc1 = PusTcCreator::new_simple( let tc1 = PusTcCreator::new_simple(
sp_header, sp_header,
MessageTypeId::new(3, Subservice::TcDisableDiagGeneration as u8), MessageTypeId::new(3, MessageSubtypeId::TcDisableDiagGeneration as u8),
&app_data, &app_data,
CreatorConfig::default(), CreatorConfig::default(),
); );
@@ -457,14 +460,14 @@ mod tests {
}; };
let tc0 = PusTcCreator::new_simple( let tc0 = PusTcCreator::new_simple(
sp_header, sp_header,
MessageTypeId::new(3, Subservice::TcModifyHkCollectionInterval as u8), MessageTypeId::new(3, MessageSubtypeId::TcModifyHkCollectionInterval as u8),
&app_data, &app_data,
CreatorConfig::default(), CreatorConfig::default(),
); );
generic_check(&tc0); generic_check(&tc0);
let tc1 = PusTcCreator::new_simple( let tc1 = PusTcCreator::new_simple(
sp_header, sp_header,
MessageTypeId::new(3, Subservice::TcModifyDiagCollectionInterval as u8), MessageTypeId::new(3, MessageSubtypeId::TcModifyDiagCollectionInterval as u8),
&app_data, &app_data,
CreatorConfig::default(), CreatorConfig::default(),
); );

View File

@@ -8,6 +8,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
# [unreleased] # [unreleased]
# [v0.2.4] 2025-11-06
`spacepackets` v0.17.0
# [v0.2.3] 2025-07-22 # [v0.2.3] 2025-07-22
`spacepackets` range v0.14 to v0.15 `spacepackets` range v0.14 to v0.15

View File

@@ -1,7 +1,7 @@
[package] [package]
name = "satrs-shared" name = "satrs-shared"
description = "Components shared by multiple sat-rs crates" description = "Components shared by multiple sat-rs crates"
version = "0.2.3" version = "0.2.4"
edition = "2021" edition = "2021"
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"] authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
homepage = "https://absatsw.irs.uni-stuttgart.de/projects/sat-rs/" homepage = "https://absatsw.irs.uni-stuttgart.de/projects/sat-rs/"
@@ -11,7 +11,7 @@ license = "Apache-2.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
spacepackets = { version = "0.17", git = "https://egit.irs.uni-stuttgart.de/rust/spacepackets.git", default-features = false } spacepackets = { version = "0.17", default-features = false }
serde = { version = "1", default-features = false, optional = true } serde = { version = "1", default-features = false, optional = true }
defmt = {version = "1", optional = true } defmt = {version = "1", optional = true }

View File

@@ -8,10 +8,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
# [unreleased] # [unreleased]
# [v0.3.0-alpha.3] 2025-09-?? # [v0.3.0-alpha.3] 2025-11-06
- Bump `sat-rs` edition to 2024. - Bump `sat-rs` edition to 2024.
- Bumped `spacepackets` to v0.16 - Bumped `spacepackets` to v0.17
- `ComponentId` is u32 now - `ComponentId` is u32 now
- Simplified TCP servers - Simplified TCP servers

View File

@@ -14,7 +14,7 @@ categories = ["aerospace", "aerospace::space-protocols", "no-std", "hardware-sup
[dependencies] [dependencies]
satrs-shared = { version = "0.2", path = "../satrs-shared" } satrs-shared = { version = "0.2", path = "../satrs-shared" }
spacepackets = { version = "0.17", git = "https://egit.irs.uni-stuttgart.de/rust/spacepackets.git", default-features = false } spacepackets = { version = "0.17", default-features = false }
delegate = "0.13" delegate = "0.13"
paste = "1" paste = "1"

View File

@@ -31,7 +31,7 @@ impl EventReportCreator {
src_data_buf: &'src_data mut [u8], src_data_buf: &'src_data mut [u8],
) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> { ) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> {
self.generate_and_send_generic_tm( self.generate_and_send_generic_tm(
Subservice::TmInfoReport, MessageSubtypeId::TmInfoReport,
time_stamp, time_stamp,
event_id, event_id,
params, params,
@@ -47,7 +47,7 @@ impl EventReportCreator {
src_data_buf: &'src_data mut [u8], src_data_buf: &'src_data mut [u8],
) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> { ) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> {
self.generate_and_send_generic_tm( self.generate_and_send_generic_tm(
Subservice::TmLowSeverityReport, MessageSubtypeId::TmLowSeverityReport,
time_stamp, time_stamp,
event_id, event_id,
params, params,
@@ -63,7 +63,7 @@ impl EventReportCreator {
buf: &'src_data mut [u8], buf: &'src_data mut [u8],
) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> { ) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> {
self.generate_and_send_generic_tm( self.generate_and_send_generic_tm(
Subservice::TmMediumSeverityReport, MessageSubtypeId::TmMediumSeverityReport,
time_stamp, time_stamp,
event_id, event_id,
params, params,
@@ -79,7 +79,7 @@ impl EventReportCreator {
src_data_buf: &'src_data mut [u8], src_data_buf: &'src_data mut [u8],
) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> { ) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> {
self.generate_and_send_generic_tm( self.generate_and_send_generic_tm(
Subservice::TmHighSeverityReport, MessageSubtypeId::TmHighSeverityReport,
time_stamp, time_stamp,
event_id, event_id,
params, params,
@@ -89,7 +89,7 @@ impl EventReportCreator {
fn generate_and_send_generic_tm<'time, 'src_data>( fn generate_and_send_generic_tm<'time, 'src_data>(
&self, &self,
subservice: Subservice, subservice: MessageSubtypeId,
time_stamp: &'time [u8], time_stamp: &'time [u8],
event_id: impl EcssEnumeration, event_id: impl EcssEnumeration,
params: Option<&'src_data [u8]>, params: Option<&'src_data [u8]>,
@@ -100,7 +100,7 @@ impl EventReportCreator {
fn generate_generic_event_tm<'time, 'src_data>( fn generate_generic_event_tm<'time, 'src_data>(
&self, &self,
subservice: Subservice, subservice: MessageSubtypeId,
time_stamp: &'time [u8], time_stamp: &'time [u8],
event_id: impl EcssEnumeration, event_id: impl EcssEnumeration,
params: Option<&'src_data [u8]>, params: Option<&'src_data [u8]>,
@@ -333,12 +333,12 @@ mod tests {
} }
} }
fn severity_to_subservice(severity: Severity) -> Subservice { fn severity_to_subservice(severity: Severity) -> MessageSubtypeId {
match severity { match severity {
Severity::Info => Subservice::TmInfoReport, Severity::Info => MessageSubtypeId::TmInfoReport,
Severity::Low => Subservice::TmLowSeverityReport, Severity::Low => MessageSubtypeId::TmLowSeverityReport,
Severity::Medium => Subservice::TmMediumSeverityReport, Severity::Medium => MessageSubtypeId::TmMediumSeverityReport,
Severity::High => Subservice::TmHighSeverityReport, Severity::High => MessageSubtypeId::TmHighSeverityReport,
} }
} }

View File

@@ -313,7 +313,7 @@ mod tests {
use alloc::vec; use alloc::vec;
use arbitrary_int::{u11, u21}; use arbitrary_int::{u11, u21};
use spacepackets::ecss::PusPacket; use spacepackets::ecss::PusPacket;
use spacepackets::ecss::event::Subservice; use spacepackets::ecss::event::MessageSubtypeId;
use spacepackets::ecss::tm::PusTmReader; use spacepackets::ecss::tm::PusTmReader;
use super::*; use super::*;
@@ -410,7 +410,10 @@ mod tests {
let event_tm = event_rx.try_recv().expect("no event received"); let event_tm = event_rx.try_recv().expect("no event received");
let tm = PusTmReader::new(&event_tm.packet, 7).expect("reading TM failed"); let tm = PusTmReader::new(&event_tm.packet, 7).expect("reading TM failed");
assert_eq!(tm.service_type_id(), 5); assert_eq!(tm.service_type_id(), 5);
assert_eq!(tm.message_subtype_id(), Subservice::TmInfoReport as u8); assert_eq!(
tm.message_subtype_id(),
MessageSubtypeId::TmInfoReport as u8
);
assert_eq!(tm.user_data().len(), 4 + param_data.len()); assert_eq!(tm.user_data().len(), 4 + param_data.len());
let u32_event = u32::from_be_bytes(tm.user_data()[0..4].try_into().unwrap()); let u32_event = u32::from_be_bytes(tm.user_data()[0..4].try_into().unwrap());
assert_eq!(u32_event, INFO_EVENT.raw()); assert_eq!(u32_event, INFO_EVENT.raw());
@@ -438,7 +441,10 @@ mod tests {
let event_tm = event_rx.try_recv().expect("no event received"); let event_tm = event_rx.try_recv().expect("no event received");
let tm = PusTmReader::new(&event_tm.packet, 7).expect("reading TM failed"); let tm = PusTmReader::new(&event_tm.packet, 7).expect("reading TM failed");
assert_eq!(tm.service_type_id(), 5); assert_eq!(tm.service_type_id(), 5);
assert_eq!(tm.message_subtype_id(), Subservice::TmInfoReport as u8); assert_eq!(
tm.message_subtype_id(),
MessageSubtypeId::TmInfoReport as u8
);
assert_eq!(tm.user_data().len(), 4 + param_data.len()); assert_eq!(tm.user_data().len(), 4 + param_data.len());
let u32_event = u32::from_be_bytes(tm.user_data()[0..4].try_into().unwrap()); let u32_event = u32::from_be_bytes(tm.user_data()[0..4].try_into().unwrap());
assert_eq!(u32_event, INFO_EVENT.raw()); assert_eq!(u32_event, INFO_EVENT.raw());

View File

@@ -4,7 +4,7 @@ use crate::pus::verification::TcStateToken;
use crate::pus::{DirectPusPacketHandlerResult, PartialPusHandlingError, PusPacketHandlingError}; use crate::pus::{DirectPusPacketHandlerResult, PartialPusHandlingError, PusPacketHandlingError};
use crate::queue::GenericSendError; use crate::queue::GenericSendError;
use spacepackets::ecss::PusPacket; use spacepackets::ecss::PusPacket;
use spacepackets::ecss::event::Subservice; use spacepackets::ecss::event::MessageSubtypeId;
use std::sync::mpsc::Sender; use std::sync::mpsc::Sender;
use super::verification::VerificationReportingProvider; use super::verification::VerificationReportingProvider;
@@ -61,7 +61,7 @@ impl<
.cache(&ecss_tc_and_token.tc_in_memory)?; .cache(&ecss_tc_and_token.tc_in_memory)?;
let tc = self.service_helper.tc_in_mem_converter().convert()?; let tc = self.service_helper.tc_in_mem_converter().convert()?;
let subservice = tc.message_subtype_id(); let subservice = tc.message_subtype_id();
let srv = Subservice::try_from(subservice); let srv = MessageSubtypeId::try_from(subservice);
if srv.is_err() { if srv.is_err() {
return Ok(DirectPusPacketHandlerResult::CustomSubservice( return Ok(DirectPusPacketHandlerResult::CustomSubservice(
tc.message_subtype_id(), tc.message_subtype_id(),
@@ -116,21 +116,21 @@ impl<
}; };
match srv.unwrap() { match srv.unwrap() {
Subservice::TmInfoReport MessageSubtypeId::TmInfoReport
| Subservice::TmLowSeverityReport | MessageSubtypeId::TmLowSeverityReport
| Subservice::TmMediumSeverityReport | MessageSubtypeId::TmMediumSeverityReport
| Subservice::TmHighSeverityReport => { | MessageSubtypeId::TmHighSeverityReport => {
return Err(PusPacketHandlingError::RequestConversion( return Err(PusPacketHandlingError::RequestConversion(
GenericConversionError::WrongService(tc.message_subtype_id()), GenericConversionError::WrongService(tc.message_subtype_id()),
)); ));
} }
Subservice::TcEnableEventGeneration => { MessageSubtypeId::TcEnableEventGeneration => {
handle_enable_disable_request(true)?; handle_enable_disable_request(true)?;
} }
Subservice::TcDisableEventGeneration => { MessageSubtypeId::TcDisableEventGeneration => {
handle_enable_disable_request(false)?; handle_enable_disable_request(false)?;
} }
Subservice::TcReportDisabledList | Subservice::TmDisabledEventsReport => { MessageSubtypeId::TcReportDisabledList | MessageSubtypeId::TmDisabledEventsReport => {
return Ok(DirectPusPacketHandlerResult::SubserviceNotImplemented( return Ok(DirectPusPacketHandlerResult::SubserviceNotImplemented(
subservice, subservice,
ecss_tc_and_token.token, ecss_tc_and_token.token,
@@ -147,7 +147,7 @@ mod tests {
use arbitrary_int::traits::Integer as _; use arbitrary_int::traits::Integer as _;
use arbitrary_int::u14; use arbitrary_int::u14;
use delegate::delegate; use delegate::delegate;
use spacepackets::ecss::event::Subservice; use spacepackets::ecss::event::MessageSubtypeId;
use spacepackets::ecss::{CreatorConfig, MessageTypeId}; use spacepackets::ecss::{CreatorConfig, MessageTypeId};
use spacepackets::time::{TimeWriter, cds}; use spacepackets::time::{TimeWriter, cds};
use spacepackets::util::UnsignedEnum; use spacepackets::util::UnsignedEnum;
@@ -241,7 +241,7 @@ mod tests {
fn event_test( fn event_test(
test_harness: &mut (impl PusTestHarness + SimplePusPacketHandler), test_harness: &mut (impl PusTestHarness + SimplePusPacketHandler),
subservice: Subservice, subservice: MessageSubtypeId,
expected_event_req: EventRequest, expected_event_req: EventRequest,
event_req_receiver: mpsc::Receiver<EventRequestWithToken>, event_req_receiver: mpsc::Receiver<EventRequestWithToken>,
) { ) {
@@ -272,7 +272,7 @@ mod tests {
let mut test_harness = Pus5HandlerWithStoreTester::new(event_request_tx); let mut test_harness = Pus5HandlerWithStoreTester::new(event_request_tx);
event_test( event_test(
&mut test_harness, &mut test_harness,
Subservice::TcEnableEventGeneration, MessageSubtypeId::TcEnableEventGeneration,
EventRequest::Enable(TEST_EVENT_0), EventRequest::Enable(TEST_EVENT_0),
event_request_rx, event_request_rx,
); );
@@ -284,7 +284,7 @@ mod tests {
let mut test_harness = Pus5HandlerWithStoreTester::new(event_request_tx); let mut test_harness = Pus5HandlerWithStoreTester::new(event_request_tx);
event_test( event_test(
&mut test_harness, &mut test_harness,
Subservice::TcDisableEventGeneration, MessageSubtypeId::TcDisableEventGeneration,
EventRequest::Disable(TEST_EVENT_0), EventRequest::Disable(TEST_EVENT_0),
event_request_rx, event_request_rx,
); );
@@ -333,7 +333,7 @@ mod tests {
let sp_header = SpHeader::new_for_unseg_tc(TEST_APID, u14::ZERO, 0); let sp_header = SpHeader::new_for_unseg_tc(TEST_APID, u14::ZERO, 0);
let sec_header = PusTcSecondaryHeader::new_simple(MessageTypeId::new( let sec_header = PusTcSecondaryHeader::new_simple(MessageTypeId::new(
5, 5,
Subservice::TcEnableEventGeneration as u8, MessageSubtypeId::TcEnableEventGeneration as u8,
)); ));
let ping_tc = let ping_tc =
PusTcCreator::new(sp_header, sec_header, &[0, 1, 2], CreatorConfig::default()); PusTcCreator::new(sp_header, sec_header, &[0, 1, 2], CreatorConfig::default());

View File

@@ -80,7 +80,7 @@ impl<
.cache(&ecss_tc_and_token.tc_in_memory)?; .cache(&ecss_tc_and_token.tc_in_memory)?;
let tc = self.service_helper.tc_in_mem_converter().convert()?; let tc = self.service_helper.tc_in_mem_converter().convert()?;
let subservice = PusPacket::message_subtype_id(&tc); let subservice = PusPacket::message_subtype_id(&tc);
let standard_subservice = scheduling::Subservice::try_from(subservice); let standard_subservice = scheduling::MessageSubtypeId::try_from(subservice);
if standard_subservice.is_err() { if standard_subservice.is_err() {
return Ok(DirectPusPacketHandlerResult::CustomSubservice( return Ok(DirectPusPacketHandlerResult::CustomSubservice(
subservice, subservice,
@@ -88,7 +88,7 @@ impl<
)); ));
} }
match standard_subservice.unwrap() { match standard_subservice.unwrap() {
scheduling::Subservice::TcEnableScheduling => { scheduling::MessageSubtypeId::TcEnableScheduling => {
let opt_started_token = match self.service_helper.verif_reporter().start_success( let opt_started_token = match self.service_helper.verif_reporter().start_success(
&self.service_helper.common.tm_sender, &self.service_helper.common.tm_sender,
ecss_tc_and_token.token, ecss_tc_and_token.token,
@@ -117,7 +117,7 @@ impl<
)); ));
} }
} }
scheduling::Subservice::TcDisableScheduling => { scheduling::MessageSubtypeId::TcDisableScheduling => {
let opt_started_token = match self.service_helper.verif_reporter().start_success( let opt_started_token = match self.service_helper.verif_reporter().start_success(
&self.service_helper.common.tm_sender, &self.service_helper.common.tm_sender,
ecss_tc_and_token.token, ecss_tc_and_token.token,
@@ -147,7 +147,7 @@ impl<
)); ));
} }
} }
scheduling::Subservice::TcResetScheduling => { scheduling::MessageSubtypeId::TcResetScheduling => {
let start_token = self let start_token = self
.service_helper .service_helper
.verif_reporter() .verif_reporter()
@@ -171,7 +171,7 @@ impl<
) )
.expect("Error sending completion success"); .expect("Error sending completion success");
} }
scheduling::Subservice::TcInsertActivity => { scheduling::MessageSubtypeId::TcInsertActivity => {
let start_token = self let start_token = self
.service_helper .service_helper
.common .common
@@ -264,7 +264,7 @@ mod tests {
use arbitrary_int::u14; use arbitrary_int::u14;
use delegate::delegate; use delegate::delegate;
use spacepackets::SpHeader; use spacepackets::SpHeader;
use spacepackets::ecss::scheduling::Subservice; use spacepackets::ecss::scheduling::MessageSubtypeId;
use spacepackets::ecss::tc::PusTcSecondaryHeader; use spacepackets::ecss::tc::PusTcSecondaryHeader;
use spacepackets::ecss::{CreatorConfig, MessageTypeId, WritablePusPacket}; use spacepackets::ecss::{CreatorConfig, MessageTypeId, WritablePusPacket};
use spacepackets::time::TimeWriter; use spacepackets::time::TimeWriter;
@@ -386,7 +386,7 @@ mod tests {
fn generic_subservice_send( fn generic_subservice_send(
test_harness: &mut Pus11HandlerWithStoreTester, test_harness: &mut Pus11HandlerWithStoreTester,
subservice: Subservice, subservice: MessageSubtypeId,
) { ) {
let reply_header = SpHeader::new_for_unseg_tm(TEST_APID, u14::ZERO, 0); let reply_header = SpHeader::new_for_unseg_tm(TEST_APID, u14::ZERO, 0);
let tc_header = PusTcSecondaryHeader::new_simple(MessageTypeId::new(11, subservice as u8)); let tc_header = PusTcSecondaryHeader::new_simple(MessageTypeId::new(11, subservice as u8));
@@ -411,7 +411,7 @@ mod tests {
let mut test_harness = Pus11HandlerWithStoreTester::new(); let mut test_harness = Pus11HandlerWithStoreTester::new();
test_harness.handler.scheduler_mut().disable(); test_harness.handler.scheduler_mut().disable();
assert!(!test_harness.handler.scheduler().is_enabled()); assert!(!test_harness.handler.scheduler().is_enabled());
generic_subservice_send(&mut test_harness, Subservice::TcEnableScheduling); generic_subservice_send(&mut test_harness, MessageSubtypeId::TcEnableScheduling);
assert!(test_harness.handler.scheduler().is_enabled()); assert!(test_harness.handler.scheduler().is_enabled());
assert_eq!(test_harness.handler.scheduler().enabled_count, 1); assert_eq!(test_harness.handler.scheduler().enabled_count, 1);
} }
@@ -421,7 +421,7 @@ mod tests {
let mut test_harness = Pus11HandlerWithStoreTester::new(); let mut test_harness = Pus11HandlerWithStoreTester::new();
test_harness.handler.scheduler_mut().enable(); test_harness.handler.scheduler_mut().enable();
assert!(test_harness.handler.scheduler().is_enabled()); assert!(test_harness.handler.scheduler().is_enabled());
generic_subservice_send(&mut test_harness, Subservice::TcDisableScheduling); generic_subservice_send(&mut test_harness, MessageSubtypeId::TcDisableScheduling);
assert!(!test_harness.handler.scheduler().is_enabled()); assert!(!test_harness.handler.scheduler().is_enabled());
assert_eq!(test_harness.handler.scheduler().disabled_count, 1); assert_eq!(test_harness.handler.scheduler().disabled_count, 1);
} }
@@ -429,7 +429,7 @@ mod tests {
#[test] #[test]
fn test_reset_scheduler_tc() { fn test_reset_scheduler_tc() {
let mut test_harness = Pus11HandlerWithStoreTester::new(); let mut test_harness = Pus11HandlerWithStoreTester::new();
generic_subservice_send(&mut test_harness, Subservice::TcResetScheduling); generic_subservice_send(&mut test_harness, MessageSubtypeId::TcResetScheduling);
assert_eq!(test_harness.handler.scheduler().reset_count, 1); assert_eq!(test_harness.handler.scheduler().reset_count, 1);
} }
@@ -449,7 +449,7 @@ mod tests {
reply_header = SpHeader::new_for_unseg_tc(TEST_APID, u14::ZERO, 0); reply_header = SpHeader::new_for_unseg_tc(TEST_APID, u14::ZERO, 0);
sec_header = PusTcSecondaryHeader::new_simple(MessageTypeId::new( sec_header = PusTcSecondaryHeader::new_simple(MessageTypeId::new(
11, 11,
Subservice::TcInsertActivity as u8, MessageSubtypeId::TcInsertActivity as u8,
)); ));
let enable_scheduling = PusTcCreator::new( let enable_scheduling = PusTcCreator::new(
reply_header, reply_header,

View File

@@ -567,7 +567,7 @@ impl VerificationReportCreator {
) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> { ) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> {
let tm_creator = self.success_verification_no_step( let tm_creator = self.success_verification_no_step(
src_data_buf, src_data_buf,
Subservice::TmAcceptanceSuccess.into(), MessageSubtypeId::TmAcceptanceSuccess.into(),
request_id, request_id,
seq_count, seq_count,
msg_count, msg_count,
@@ -587,7 +587,7 @@ impl VerificationReportCreator {
) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> { ) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> {
self.failure_verification_no_step( self.failure_verification_no_step(
src_data_buf, src_data_buf,
Subservice::TmAcceptanceFailure.into(), MessageSubtypeId::TmAcceptanceFailure.into(),
request_id, request_id,
seq_count, seq_count,
msg_count, msg_count,
@@ -609,7 +609,7 @@ impl VerificationReportCreator {
) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> { ) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> {
let tm_creator = self.success_verification_no_step( let tm_creator = self.success_verification_no_step(
src_data_buf, src_data_buf,
Subservice::TmStartSuccess.into(), MessageSubtypeId::TmStartSuccess.into(),
request_id, request_id,
seq_count, seq_count,
msg_count, msg_count,
@@ -632,7 +632,7 @@ impl VerificationReportCreator {
) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> { ) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> {
self.failure_verification_no_step( self.failure_verification_no_step(
src_data_buf, src_data_buf,
Subservice::TmStartFailure.into(), MessageSubtypeId::TmStartFailure.into(),
request_id, request_id,
seq_count, seq_count,
msg_count, msg_count,
@@ -655,7 +655,7 @@ impl VerificationReportCreator {
) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> { ) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> {
self.create_pus_verif_success_tm( self.create_pus_verif_success_tm(
src_data_buf, src_data_buf,
Subservice::TmStepSuccess.into(), MessageSubtypeId::TmStepSuccess.into(),
seq_count, seq_count,
msg_count, msg_count,
request_id, request_id,
@@ -678,7 +678,7 @@ impl VerificationReportCreator {
) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> { ) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> {
self.create_pus_verif_fail_tm( self.create_pus_verif_fail_tm(
src_data_buf, src_data_buf,
Subservice::TmStepFailure.into(), MessageSubtypeId::TmStepFailure.into(),
seq_count, seq_count,
msg_count, msg_count,
&token.request_id(), &token.request_id(),
@@ -701,7 +701,7 @@ impl VerificationReportCreator {
) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> { ) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> {
self.success_verification_no_step( self.success_verification_no_step(
src_data_buf, src_data_buf,
Subservice::TmCompletionSuccess.into(), MessageSubtypeId::TmCompletionSuccess.into(),
request_id, request_id,
seq_counter, seq_counter,
msg_counter, msg_counter,
@@ -723,7 +723,7 @@ impl VerificationReportCreator {
) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> { ) -> Result<PusTmCreator<'time, 'src_data>, ByteConversionError> {
self.failure_verification_no_step( self.failure_verification_no_step(
src_data_buf, src_data_buf,
Subservice::TmCompletionFailure.into(), MessageSubtypeId::TmCompletionFailure.into(),
request_id, request_id,
seq_count, seq_count,
msg_count, msg_count,