Skip to content

Commit ba99f41

Browse files
committed
sort out type aliasing
1 parent f8c2b6b commit ba99f41

1 file changed

Lines changed: 8 additions & 9 deletions

File tree

examples/rt685s-evk/src/bin/time_alarm.rs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@ use time_alarm_service_interface::{
1212
};
1313
use {defmt_rtt as _, panic_probe as _};
1414

15+
// Type aliases to make it easier to use the service and relay handler types without needing to write out all the generic parameters every time.
16+
// This is especially helpful for the relay handler, which has a lot of generic parameters due to the traits it needs to implement.
17+
//
18+
type TimeAlarmServiceType = time_alarm_service::Service<'static>;
19+
type TimeAlarmServiceRelayHandlerType = time_alarm_service_relay::TimeAlarmServiceRelayHandler<TimeAlarmServiceType>;
20+
1521
#[embassy_executor::main]
1622
async fn main(spawner: embassy_executor::Spawner) {
1723
let p = embassy_imxrt::init(Default::default());
@@ -25,7 +31,6 @@ async fn main(spawner: embassy_executor::Spawner) {
2531
embedded_services::init().await;
2632
info!("services initialized");
2733

28-
type TimeAlarmServiceType = time_alarm_service::Service<'static>;
2934
let time_service = odp_service_common::spawn_service!(
3035
spawner,
3136
TimeAlarmServiceType,
@@ -40,19 +45,13 @@ async fn main(spawner: embassy_executor::Spawner) {
4045
)
4146
.expect("Failed to spawn time alarm service");
4247

43-
type TimeAlarmRelayHandlerType = time_alarm_service_relay::TimeAlarmServiceRelayHandler<TimeAlarmServiceType>;
44-
4548
use embedded_services::relay::mctp::impl_odp_mctp_relay_handler;
46-
// impl_odp_mctp_relay_handler!(
47-
// EspiRelayHandler;
48-
// TimeAlarm, 0x0B, TimeAlarmRelayHandlerType; // TODO why doesn't it like the aliases?
49-
// );
5049
impl_odp_mctp_relay_handler!(
5150
EspiRelayHandler;
52-
TimeAlarm, 0x0B, time_alarm_service_relay::TimeAlarmServiceRelayHandler<time_alarm_service::Service<'static>>;
51+
TimeAlarm, 0x0B, crate::TimeAlarmServiceRelayHandlerType;
5352
);
5453

55-
let _relay_handler = EspiRelayHandler::new(TimeAlarmRelayHandlerType::new(time_service.clone()));
54+
let _relay_handler = EspiRelayHandler::new(TimeAlarmServiceRelayHandlerType::new(time_service.clone()));
5655

5756
// Here, you'd normally pass _relay_handler to your relay service (e.g. eSPI service).
5857
// In this example, we're not leveraging a relay service, so we'll just demonstrate some direct calls.

0 commit comments

Comments
 (0)