Add action service and controller component #5
@ -1,5 +1,5 @@
|
|||||||
use std::{
|
use std::{
|
||||||
collections::{HashSet, VecDeque},
|
collections::VecDeque,
|
||||||
sync::{atomic::AtomicBool, Arc, Mutex},
|
sync::{atomic::AtomicBool, Arc, Mutex},
|
||||||
time::Duration,
|
time::Duration,
|
||||||
};
|
};
|
||||||
@ -86,7 +86,7 @@ impl HandledConnectionHandler for ConnectionFinishedHandler {
|
|||||||
pub type TcpServerType<TcSource, MpscErrorType> = TcpSpacepacketsServer<
|
pub type TcpServerType<TcSource, MpscErrorType> = TcpSpacepacketsServer<
|
||||||
SyncTcpTmSource,
|
SyncTcpTmSource,
|
||||||
CcsdsDistributor<CcsdsReceiver<TcSource, MpscErrorType>, MpscErrorType>,
|
CcsdsDistributor<CcsdsReceiver<TcSource, MpscErrorType>, MpscErrorType>,
|
||||||
HashSet<PacketId>,
|
Vec<PacketId>,
|
||||||
ConnectionFinishedHandler,
|
ConnectionFinishedHandler,
|
||||||
(),
|
(),
|
||||||
CcsdsError<MpscErrorType>,
|
CcsdsError<MpscErrorType>,
|
||||||
|
@ -62,7 +62,7 @@ fn main() {
|
|||||||
let (_pus_action_reply_tx, pus_action_reply_rx) = mpsc::channel();
|
let (_pus_action_reply_tx, pus_action_reply_rx) = mpsc::channel();
|
||||||
// let (pus_hk_reply_tx, pus_hk_reply_rx) = mpsc::channel();
|
// let (pus_hk_reply_tx, pus_hk_reply_rx) = mpsc::channel();
|
||||||
// let (pus_mode_reply_tx, pus_mode_reply_rx) = mpsc::channel();
|
// let (pus_mode_reply_tx, pus_mode_reply_rx) = mpsc::channel();
|
||||||
let (controller_composite_tx, controller_composite_rx) = mpsc::channel();
|
let (controller_composite_tx, _controller_composite_rx) = mpsc::channel();
|
||||||
|
|
||||||
// Some request are targetable. This map is used to retrieve sender handles based on a target ID.
|
// Some request are targetable. This map is used to retrieve sender handles based on a target ID.
|
||||||
let mut request_map = GenericRequestRouter::default();
|
let mut request_map = GenericRequestRouter::default();
|
||||||
|
@ -11,9 +11,9 @@ use satrs::pus::verification::{
|
|||||||
VerificationReportingProvider, VerificationToken,
|
VerificationReportingProvider, VerificationToken,
|
||||||
};
|
};
|
||||||
use satrs::pus::{
|
use satrs::pus::{
|
||||||
ActiveRequestProvider, EcssTcAndToken, EcssTcInMemConverter, EcssTcInVecConverter,
|
ActiveRequestProvider, EcssTcAndToken, EcssTcInVecConverter, EcssTmSenderCore, EcssTmtcError,
|
||||||
EcssTmSenderCore, EcssTmtcError, GenericConversionError, MpscTmAsVecSender,
|
GenericConversionError, PusPacketHandlerResult, PusReplyHandler, PusServiceHelper,
|
||||||
PusPacketHandlerResult, PusReplyHandler, PusServiceHelper, PusTcToRequestConverter, PusTmAsVec,
|
PusTcToRequestConverter, PusTmAsVec,
|
||||||
};
|
};
|
||||||
use satrs::request::{GenericMessage, UniqueApidTargetId};
|
use satrs::request::{GenericMessage, UniqueApidTargetId};
|
||||||
use satrs::spacepackets::ecss::tc::PusTcReader;
|
use satrs::spacepackets::ecss::tc::PusTcReader;
|
||||||
|
@ -34,7 +34,7 @@ impl<
|
|||||||
sp_header: &SpHeader,
|
sp_header: &SpHeader,
|
||||||
tc_raw: &[u8],
|
tc_raw: &[u8],
|
||||||
) -> Result<(), Self::Error> {
|
) -> Result<(), Self::Error> {
|
||||||
return self.tc_source.pass_ccsds(sp_header, tc_raw);
|
self.tc_source.pass_ccsds(sp_header, tc_raw)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_packet_with_unknown_apid(
|
fn handle_packet_with_unknown_apid(
|
||||||
@ -42,8 +42,8 @@ impl<
|
|||||||
sp_header: &SpHeader,
|
sp_header: &SpHeader,
|
||||||
_tc_raw: &[u8],
|
_tc_raw: &[u8],
|
||||||
) -> Result<(), Self::Error> {
|
) -> Result<(), Self::Error> {
|
||||||
|
// TODO: Log event as telemetry or something similar?
|
||||||
log::warn!("unknown APID 0x{:x?} detected", sp_header.apid());
|
log::warn!("unknown APID 0x{:x?} detected", sp_header.apid());
|
||||||
// TODO: Log event or something similar?
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user