Skip to content

Commit b9461be

Browse files
committed
update spacepackets dependency
1 parent 2e58a31 commit b9461be

37 files changed

+622
-418
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ jobs:
4747
steps:
4848
- uses: actions/checkout@v4
4949
- uses: dtolnay/rust-toolchain@stable
50+
with:
51+
components: rustfmt
5052
- run: cargo fmt --all -- --check
5153

5254
docs:
@@ -63,4 +65,6 @@ jobs:
6365
steps:
6466
- uses: actions/checkout@v4
6567
- uses: dtolnay/rust-toolchain@stable
68+
with:
69+
components: clippy
6670
- run: cargo clippy -- -D warnings

justfile

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
all: check embedded test fmt clippy docs
2+
3+
check:
4+
cargo check
5+
cargo check -p satrs-example --no-default-features
6+
7+
test:
8+
cargo nextest run --all-features
9+
cargo test --doc --all-features
10+
11+
embedded:
12+
cargo check -p satrs --target=thumbv7em-none-eabihf --no-default-features
13+
14+
fmt:
15+
cargo fmt --all -- --check
16+
17+
clippy:
18+
cargo clippy -- -D warnings
19+
20+
docs:
21+
cargo +nightly doc --all-features --config 'build.rustdocflags=["--cfg", "docs_rs"]'

satrs-example/Cargo.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ lazy_static = "1"
2121
strum = { version = "0.27", features = ["derive"] }
2222
derive-new = "0.7"
2323
cfg-if = "1"
24+
arbitrary-int = "2"
25+
bitbybit = "1.4"
2426
serde = { version = "1", features = ["derive"] }
2527
serde_json = "1"
2628

@@ -36,8 +38,8 @@ version = "0.1.1"
3638
path = "../satrs-mib"
3739

3840
[features]
39-
heap_tmtc = []
4041
default = ["heap_tmtc"]
42+
heap_tmtc = []
4143

4244
[dev-dependencies]
4345
env_logger = "0.11"

satrs-example/src/acs/mgm.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -574,7 +574,7 @@ mod tests {
574574
let (request_tx, request_rx) = mpsc::sync_channel(5);
575575
let (reply_tx_to_pus, reply_rx_to_pus) = mpsc::sync_channel(5);
576576
let (reply_tx_to_parent, reply_rx_to_parent) = mpsc::sync_channel(5);
577-
let id = UniqueApidTargetId::new(Apid::Acs as u16, 1);
577+
let id = UniqueApidTargetId::new(Apid::Acs.raw_value(), 1);
578578
let mode_node = ModeRequestHandlerMpscBounded::new(id.into(), request_rx);
579579
let (composite_request_tx, composite_request_rx) = mpsc::channel();
580580
let (hk_reply_tx, hk_reply_rx) = mpsc::sync_channel(10);

satrs-example/src/bin/simpleclient.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,23 @@
1+
use arbitrary_int::u11;
12
use satrs::pus::verification::RequestId;
23
use satrs::spacepackets::ecss::tc::PusTcCreator;
34
use satrs::spacepackets::ecss::tm::PusTmReader;
4-
use satrs::{spacepackets::ecss::PusPacket, spacepackets::SpHeader};
5+
use satrs::spacepackets::ecss::CreatorConfig;
6+
use satrs::spacepackets::SpHeader;
57
use satrs_example::config::{OBSW_SERVER_ADDR, SERVER_PORT};
68
use std::net::{IpAddr, SocketAddr, UdpSocket};
79
use std::time::Duration;
810

911
fn main() {
1012
let mut buf = [0; 32];
1113
let addr = SocketAddr::new(IpAddr::V4(OBSW_SERVER_ADDR), SERVER_PORT);
12-
let pus_tc = PusTcCreator::new_simple(SpHeader::new_from_apid(0x02), 17, 1, &[], true);
14+
let pus_tc = PusTcCreator::new_simple(
15+
SpHeader::new_from_apid(u11::new(0x02)),
16+
17,
17+
1,
18+
&[],
19+
CreatorConfig::default(),
20+
);
1321
let client = UdpSocket::bind("127.0.0.1:7302").expect("Connecting to UDP server failed");
1422
let tc_req_id = RequestId::new(&pus_tc);
1523
println!("Packing and sending PUS ping command TC[17,1] with request ID {tc_req_id}");

satrs-example/src/config.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use arbitrary_int::u11;
12
use lazy_static::lazy_static;
23
use satrs::{
34
res_code::ResultU16,
@@ -44,7 +45,7 @@ lazy_static! {
4445
pub static ref PACKET_ID_VALIDATOR: HashSet<PacketId> = {
4546
let mut set = HashSet::new();
4647
for id in crate::ids::Apid::iter() {
47-
set.insert(PacketId::new(PacketType::Tc, true, id as u16));
48+
set.insert(PacketId::new(PacketType::Tc, true, u11::new(id as u16)));
4849
}
4950
set
5051
};

satrs-example/src/eps/pcdu.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -572,7 +572,7 @@ mod tests {
572572
let (switch_request_tx, switch_reqest_rx) = mpsc::channel();
573573
let shared_switch_map = Arc::new(Mutex::new(SwitchSet::default()));
574574
let mut handler = PcduHandler::new(
575-
UniqueApidTargetId::new(Apid::Eps as u16, 0),
575+
UniqueApidTargetId::new(Apid::Eps.raw_value(), 0),
576576
"TEST_PCDU",
577577
mode_node,
578578
composite_request_rx,

satrs-example/src/events.rs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
use std::sync::mpsc::{self};
22

33
use crate::pus::create_verification_reporter;
4+
use arbitrary_int::traits::Integer as _;
5+
use arbitrary_int::u11;
46
use satrs::event_man::{EventMessageU32, EventRoutingError};
57
use satrs::pus::event::EventTmHook;
68
use satrs::pus::verification::VerificationReporter;
@@ -23,7 +25,7 @@ use crate::update_time;
2325
// This helper sets the APID of the event sender for the PUS telemetry.
2426
#[derive(Default)]
2527
pub struct EventApidSetter {
26-
pub next_apid: u16,
28+
pub next_apid: u11,
2729
}
2830

2931
impl EventTmHook for EventApidSetter {
@@ -59,12 +61,11 @@ impl<TmSender: EcssTmSender> PusEventHandler<TmSender> {
5961
// telemetry for each event.
6062
let event_reporter = EventReporter::new_with_hook(
6163
PUS_EVENT_MANAGEMENT.raw(),
62-
0,
64+
u11::ZERO,
6365
0,
6466
128,
6567
EventApidSetter::default(),
66-
)
67-
.unwrap();
68+
);
6869
let pus_event_dispatcher =
6970
DefaultPusEventU32TmCreator::new_with_default_backend(event_reporter);
7071
let pus_event_man_send_provider = EventU32SenderMpscBounded::new(
@@ -220,16 +221,13 @@ mod tests {
220221
use satrs::{
221222
events::EventU32,
222223
pus::verification::VerificationReporterConfig,
223-
spacepackets::{
224-
ecss::{tm::PusTmReader, PusPacket},
225-
CcsdsPacket,
226-
},
224+
spacepackets::ecss::{tm::PusTmReader, PusPacket},
227225
tmtc::PacketAsVec,
228226
};
229227

230228
use super::*;
231229

232-
const TEST_CREATOR_ID: UniqueApidTargetId = UniqueApidTargetId::new(1, 2);
230+
const TEST_CREATOR_ID: UniqueApidTargetId = UniqueApidTargetId::new(u11::new(1), 2);
233231
const TEST_EVENT: EventU32 = EventU32::new(satrs::events::Severity::Info, 1, 1);
234232

235233
pub struct EventManagementTestbench {
@@ -244,7 +242,7 @@ mod tests {
244242
let (event_tx, event_rx) = mpsc::sync_channel(10);
245243
let (_event_req_tx, event_req_rx) = mpsc::sync_channel(10);
246244
let (tm_sender, tm_receiver) = mpsc::channel();
247-
let verif_reporter_cfg = VerificationReporterConfig::new(0x05, 2, 2, 128).unwrap();
245+
let verif_reporter_cfg = VerificationReporterConfig::new(u11::new(0x05), 2, 2, 128);
248246
let verif_reporter =
249247
VerificationReporter::new(PUS_EVENT_MANAGEMENT.id(), &verif_reporter_cfg);
250248
let mut event_manager = EventManagerWithBoundedMpsc::new(event_rx);

satrs-example/src/hk.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use derive_new::new;
22
use satrs::hk::UniqueId;
33
use satrs::request::UniqueApidTargetId;
4-
use satrs::spacepackets::ecss::hk;
54
use satrs::spacepackets::ecss::tm::{PusTmCreator, PusTmSecondaryHeader};
5+
use satrs::spacepackets::ecss::{hk, CreatorConfig};
66
use satrs::spacepackets::{ByteConversionError, SpHeader};
77

88
#[derive(Debug, new, Copy, Clone)]
@@ -63,7 +63,7 @@ impl PusHkHelper {
6363
SpHeader::new_from_apid(self.component_id.apid),
6464
sec_header,
6565
&buf[0..8 + hk_data_len],
66-
true,
66+
CreatorConfig::default(),
6767
))
6868
}
6969
}

satrs-example/src/ids.rs

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
//! This is an auto-generated configuration module.
22
use satrs::request::UniqueApidTargetId;
33

4-
#[derive(Debug, Copy, Clone, PartialEq, Eq, strum::EnumIter)]
4+
#[derive(Debug, PartialEq, Eq, strum::EnumIter)]
5+
#[bitbybit::bitenum(u11)]
56
pub enum Apid {
67
Sched = 1,
78
GenericPus = 2,
@@ -12,6 +13,7 @@ pub enum Apid {
1213
}
1314

1415
pub mod acs {
16+
1517
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1618
pub enum Id {
1719
Subsystem = 1,
@@ -21,13 +23,13 @@ pub mod acs {
2123
}
2224

2325
pub const SUBSYSTEM: super::UniqueApidTargetId =
24-
super::UniqueApidTargetId::new(super::Apid::Acs as u16, Id::Subsystem as u32);
26+
super::UniqueApidTargetId::new(super::Apid::Acs.raw_value(), Id::Subsystem as u32);
2527
pub const ASSEMBLY: super::UniqueApidTargetId =
26-
super::UniqueApidTargetId::new(super::Apid::Acs as u16, Id::Assembly as u32);
28+
super::UniqueApidTargetId::new(super::Apid::Acs.raw_value(), Id::Assembly as u32);
2729
pub const MGM0: super::UniqueApidTargetId =
28-
super::UniqueApidTargetId::new(super::Apid::Acs as u16, Id::Mgm0 as u32);
30+
super::UniqueApidTargetId::new(super::Apid::Acs.raw_value(), Id::Mgm0 as u32);
2931
pub const MGM1: super::UniqueApidTargetId =
30-
super::UniqueApidTargetId::new(super::Apid::Acs as u16, Id::Mgm1 as u32);
32+
super::UniqueApidTargetId::new(super::Apid::Acs.raw_value(), Id::Mgm1 as u32);
3133
}
3234

3335
pub mod eps {
@@ -38,9 +40,9 @@ pub mod eps {
3840
}
3941

4042
pub const PCDU: super::UniqueApidTargetId =
41-
super::UniqueApidTargetId::new(super::Apid::Eps as u16, Id::Pcdu as u32);
43+
super::UniqueApidTargetId::new(super::Apid::Eps.raw_value(), Id::Pcdu as u32);
4244
pub const SUBSYSTEM: super::UniqueApidTargetId =
43-
super::UniqueApidTargetId::new(super::Apid::Eps as u16, Id::Subsystem as u32);
45+
super::UniqueApidTargetId::new(super::Apid::Eps.raw_value(), Id::Subsystem as u32);
4446
}
4547

4648
pub mod generic_pus {
@@ -55,19 +57,19 @@ pub mod generic_pus {
5557
}
5658

5759
pub const PUS_EVENT_MANAGEMENT: super::UniqueApidTargetId = super::UniqueApidTargetId::new(
58-
super::Apid::GenericPus as u16,
60+
super::Apid::GenericPus.raw_value(),
5961
Id::PusEventManagement as u32,
6062
);
6163
pub const PUS_ROUTING: super::UniqueApidTargetId =
62-
super::UniqueApidTargetId::new(super::Apid::GenericPus as u16, Id::PusRouting as u32);
64+
super::UniqueApidTargetId::new(super::Apid::GenericPus.raw_value(), Id::PusRouting as u32);
6365
pub const PUS_TEST: super::UniqueApidTargetId =
64-
super::UniqueApidTargetId::new(super::Apid::GenericPus as u16, Id::PusTest as u32);
66+
super::UniqueApidTargetId::new(super::Apid::GenericPus.raw_value(), Id::PusTest as u32);
6567
pub const PUS_ACTION: super::UniqueApidTargetId =
66-
super::UniqueApidTargetId::new(super::Apid::GenericPus as u16, Id::PusAction as u32);
68+
super::UniqueApidTargetId::new(super::Apid::GenericPus.raw_value(), Id::PusAction as u32);
6769
pub const PUS_MODE: super::UniqueApidTargetId =
68-
super::UniqueApidTargetId::new(super::Apid::GenericPus as u16, Id::PusMode as u32);
70+
super::UniqueApidTargetId::new(super::Apid::GenericPus.raw_value(), Id::PusMode as u32);
6971
pub const PUS_HK: super::UniqueApidTargetId =
70-
super::UniqueApidTargetId::new(super::Apid::GenericPus as u16, Id::PusHk as u32);
72+
super::UniqueApidTargetId::new(super::Apid::GenericPus.raw_value(), Id::PusHk as u32);
7173
}
7274

7375
pub mod sched {
@@ -77,7 +79,7 @@ pub mod sched {
7779
}
7880

7981
pub const PUS_SCHED: super::UniqueApidTargetId =
80-
super::UniqueApidTargetId::new(super::Apid::Sched as u16, Id::PusSched as u32);
82+
super::UniqueApidTargetId::new(super::Apid::Sched.raw_value(), Id::PusSched as u32);
8183
}
8284

8385
pub mod tmtc {
@@ -88,7 +90,7 @@ pub mod tmtc {
8890
}
8991

9092
pub const UDP_SERVER: super::UniqueApidTargetId =
91-
super::UniqueApidTargetId::new(super::Apid::Tmtc as u16, Id::UdpServer as u32);
93+
super::UniqueApidTargetId::new(super::Apid::Tmtc.raw_value(), Id::UdpServer as u32);
9294
pub const TCP_SERVER: super::UniqueApidTargetId =
93-
super::UniqueApidTargetId::new(super::Apid::Tmtc as u16, Id::TcpServer as u32);
95+
super::UniqueApidTargetId::new(super::Apid::Tmtc.raw_value(), Id::TcpServer as u32);
9496
}

0 commit comments

Comments
 (0)