restructure the crate
Some checks are pending
Rust/sat-rs/pipeline/head Build started...

- Add new shared subcrate satrs-shared to split off some shared
  components not expected to change very often.
- Renmame `satrs-core` to `satrs`. It is expected that sat-rs will remain
  the primary crate, so the core information is superfluous, and core also
  implies stability, which will not be the case for some time.
This commit is contained in:
Robin Müller 2024-02-12 14:27:22 +01:00
parent f58a4eaee5
commit 3ea3a7acb6
86 changed files with 180 additions and 151 deletions

View File

@ -1,9 +1,10 @@
[workspace] [workspace]
resolver = "2" resolver = "2"
members = [ members = [
"satrs-core", "satrs",
"satrs-mib", "satrs-mib",
"satrs-example", "satrs-example",
"satrs-shared",
] ]
exclude = [ exclude = [

View File

@ -19,13 +19,13 @@ num_enum = "0.7"
thiserror = "1" thiserror = "1"
derive-new = "0.5" derive-new = "0.5"
[dependencies.satrs-core] [dependencies.satrs]
version = "0.1.0-alpha.3" # version = "0.1.0-alpha.3"
# path = "../satrs-core" path = "../satrs"
[dependencies.satrs-mib] [dependencies.satrs-mib]
version = "0.1.0-alpha.2" # version = "0.1.0-alpha.2"
# path = "../satrs-mib" path = "../satrs-mib"
[features] [features]
dyn_tmtc = [] dyn_tmtc = []

View File

@ -1,10 +1,10 @@
use std::sync::mpsc::{self, TryRecvError}; use std::sync::mpsc::{self, TryRecvError};
use log::{info, warn}; use log::{info, warn};
use satrs_core::pus::verification::VerificationReporterWithSender; use satrs::pus::verification::VerificationReporterWithSender;
use satrs_core::pus::{EcssTmSender, PusTmWrapper}; use satrs::pus::{EcssTmSender, PusTmWrapper};
use satrs_core::spacepackets::ecss::hk::Subservice as HkSubservice; use satrs::spacepackets::ecss::hk::Subservice as HkSubservice;
use satrs_core::{ use satrs::{
hk::HkRequest, hk::HkRequest,
spacepackets::{ spacepackets::{
ecss::tm::{PusTmCreator, PusTmSecondaryHeader}, ecss::tm::{PusTmCreator, PusTmSecondaryHeader},

View File

@ -1,7 +1,7 @@
use satrs_core::pus::verification::RequestId; use satrs::pus::verification::RequestId;
use satrs_core::spacepackets::ecss::tc::PusTcCreator; use satrs::spacepackets::ecss::tc::PusTcCreator;
use satrs_core::spacepackets::ecss::tm::PusTmReader; use satrs::spacepackets::ecss::tm::PusTmReader;
use satrs_core::{ use satrs::{
spacepackets::ecss::{PusPacket, WritablePusPacket}, spacepackets::ecss::{PusPacket, WritablePusPacket},
spacepackets::SpHeader, spacepackets::SpHeader,
}; };

View File

@ -1,6 +1,6 @@
use satrs_core::pus::ReceivesEcssPusTc; use satrs::pus::ReceivesEcssPusTc;
use satrs_core::spacepackets::{CcsdsPacket, SpHeader}; use satrs::spacepackets::{CcsdsPacket, SpHeader};
use satrs_core::tmtc::{CcsdsPacketHandler, ReceivesCcsdsTc}; use satrs::tmtc::{CcsdsPacketHandler, ReceivesCcsdsTc};
use satrs_example::config::PUS_APID; use satrs_example::config::PUS_APID;
#[derive(Clone)] #[derive(Clone)]

View File

@ -1,10 +1,10 @@
use satrs_core::res_code::ResultU16; use satrs::res_code::ResultU16;
use satrs_mib::res_code::ResultU16Info; use satrs_mib::res_code::ResultU16Info;
use satrs_mib::resultcode; use satrs_mib::resultcode;
use std::net::Ipv4Addr; use std::net::Ipv4Addr;
use num_enum::{IntoPrimitive, TryFromPrimitive}; use num_enum::{IntoPrimitive, TryFromPrimitive};
use satrs_core::{ use satrs::{
events::{EventU32TypedSev, SeverityInfo}, events::{EventU32TypedSev, SeverityInfo},
pool::{StaticMemoryPool, StaticPoolConfig}, pool::{StaticMemoryPool, StaticPoolConfig},
}; };

View File

@ -1,6 +1,6 @@
use std::sync::mpsc::{self, SendError}; use std::sync::mpsc::{self, SendError};
use satrs_core::{ use satrs::{
event_man::{ event_man::{
EventManager, EventManagerWithMpscQueue, MpscEventReceiver, MpscEventU32SendProvider, EventManager, EventManagerWithMpscQueue, MpscEventReceiver, MpscEventU32SendProvider,
SendEventProvider, SendEventProvider,

View File

@ -1,5 +1,5 @@
use derive_new::new; use derive_new::new;
use satrs_core::spacepackets::ByteConversionError; use satrs::spacepackets::ByteConversionError;
#[derive(Debug, Copy, Clone, PartialEq, Eq)] #[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum AcsHkIds { pub enum AcsHkIds {

View File

@ -1,8 +1,8 @@
use derive_new::new; use derive_new::new;
use satrs_core::spacepackets::ecss::tc::IsPusTelecommand; use satrs::spacepackets::ecss::tc::IsPusTelecommand;
use satrs_core::spacepackets::ecss::PusPacket; use satrs::spacepackets::ecss::PusPacket;
use satrs_core::spacepackets::{ByteConversionError, CcsdsPacket}; use satrs::spacepackets::{ByteConversionError, CcsdsPacket};
use satrs_core::tmtc::TargetId; use satrs::tmtc::TargetId;
use std::fmt; use std::fmt;
use thiserror::Error; use thiserror::Error;

View File

@ -15,9 +15,9 @@ use crate::pus::stack::PusStack;
use crate::tm_funnel::{TmFunnelDynamic, TmFunnelStatic}; use crate::tm_funnel::{TmFunnelDynamic, TmFunnelStatic};
use log::info; use log::info;
use pus::test::create_test_service_dynamic; use pus::test::create_test_service_dynamic;
use satrs_core::hal::std::tcp_server::ServerConfig; use satrs::hal::std::tcp_server::ServerConfig;
use satrs_core::hal::std::udp_server::UdpTcServer; use satrs::hal::std::udp_server::UdpTcServer;
use satrs_core::tmtc::tm_helper::SharedTmPool; use satrs::tmtc::tm_helper::SharedTmPool;
use satrs_example::config::pool::{create_sched_tc_pool, create_static_pools}; use satrs_example::config::pool::{create_sched_tc_pool, create_static_pools};
use satrs_example::config::tasks::{ use satrs_example::config::tasks::{
FREQ_MS_AOCS, FREQ_MS_EVENT_HANDLING, FREQ_MS_PUS_STACK, FREQ_MS_UDP_TMTC, FREQ_MS_AOCS, FREQ_MS_EVENT_HANDLING, FREQ_MS_PUS_STACK, FREQ_MS_UDP_TMTC,
@ -41,12 +41,12 @@ use crate::tmtc::{
PusTcSourceProviderSharedPool, SharedTcPool, TcSourceTaskDynamic, TcSourceTaskStatic, PusTcSourceProviderSharedPool, SharedTcPool, TcSourceTaskDynamic, TcSourceTaskStatic,
}; };
use crate::udp::{StaticUdpTmHandler, UdpTmtcServer}; use crate::udp::{StaticUdpTmHandler, UdpTmtcServer};
use satrs_core::pus::event_man::EventRequestWithToken; use satrs::pus::event_man::EventRequestWithToken;
use satrs_core::pus::verification::{VerificationReporterCfg, VerificationReporterWithSender}; use satrs::pus::verification::{VerificationReporterCfg, VerificationReporterWithSender};
use satrs_core::pus::{EcssTmSender, MpscTmAsVecSender, MpscTmInSharedPoolSender}; use satrs::pus::{EcssTmSender, MpscTmAsVecSender, MpscTmInSharedPoolSender};
use satrs_core::spacepackets::{time::cds::TimeProvider, time::TimeWriter}; use satrs::spacepackets::{time::cds::TimeProvider, time::TimeWriter};
use satrs_core::tmtc::{CcsdsDistributor, TargetId}; use satrs::tmtc::{CcsdsDistributor, TargetId};
use satrs_core::ChannelId; use satrs::ChannelId;
use satrs_example::TargetIdWithApid; use satrs_example::TargetIdWithApid;
use std::collections::HashMap; use std::collections::HashMap;
use std::net::{IpAddr, SocketAddr}; use std::net::{IpAddr, SocketAddr};

View File

@ -1,18 +1,18 @@
use crate::requests::{ActionRequest, Request, RequestWithToken}; use crate::requests::{ActionRequest, Request, RequestWithToken};
use log::{error, warn}; use log::{error, warn};
use satrs_core::pool::{SharedStaticMemoryPool, StoreAddr}; use satrs::pool::{SharedStaticMemoryPool, StoreAddr};
use satrs_core::pus::verification::{ use satrs::pus::verification::{
FailParams, TcStateAccepted, VerificationReporterWithSender, VerificationToken, FailParams, TcStateAccepted, VerificationReporterWithSender, VerificationToken,
}; };
use satrs_core::pus::{ use satrs::pus::{
EcssTcAndToken, EcssTcInMemConverter, EcssTcInSharedStoreConverter, EcssTcInVecConverter, EcssTcAndToken, EcssTcInMemConverter, EcssTcInSharedStoreConverter, EcssTcInVecConverter,
EcssTcReceiver, EcssTmSender, MpscTcReceiver, MpscTmAsVecSender, MpscTmInSharedPoolSender, EcssTcReceiver, EcssTmSender, MpscTcReceiver, MpscTmAsVecSender, MpscTmInSharedPoolSender,
PusPacketHandlerResult, PusPacketHandlingError, PusServiceBase, PusServiceHelper, PusPacketHandlerResult, PusPacketHandlingError, PusServiceBase, PusServiceHelper,
}; };
use satrs_core::spacepackets::ecss::tc::PusTcReader; use satrs::spacepackets::ecss::tc::PusTcReader;
use satrs_core::spacepackets::ecss::PusPacket; use satrs::spacepackets::ecss::PusPacket;
use satrs_core::tmtc::tm_helper::SharedTmPool; use satrs::tmtc::tm_helper::SharedTmPool;
use satrs_core::ChannelId; use satrs::ChannelId;
use satrs_example::config::{tmtc_err, TcReceiverId, TmSenderId, PUS_APID}; use satrs_example::config::{tmtc_err, TcReceiverId, TmSenderId, PUS_APID};
use satrs_example::TargetIdWithApid; use satrs_example::TargetIdWithApid;
use std::collections::HashMap; use std::collections::HashMap;

View File

@ -1,17 +1,17 @@
use std::sync::mpsc; use std::sync::mpsc;
use log::{error, warn}; use log::{error, warn};
use satrs_core::pool::{SharedStaticMemoryPool, StoreAddr}; use satrs::pool::{SharedStaticMemoryPool, StoreAddr};
use satrs_core::pus::event_man::EventRequestWithToken; use satrs::pus::event_man::EventRequestWithToken;
use satrs_core::pus::event_srv::PusService5EventHandler; use satrs::pus::event_srv::PusService5EventHandler;
use satrs_core::pus::verification::VerificationReporterWithSender; use satrs::pus::verification::VerificationReporterWithSender;
use satrs_core::pus::{ use satrs::pus::{
EcssTcAndToken, EcssTcInMemConverter, EcssTcInSharedStoreConverter, EcssTcInVecConverter, EcssTcAndToken, EcssTcInMemConverter, EcssTcInSharedStoreConverter, EcssTcInVecConverter,
MpscTcReceiver, MpscTmAsVecSender, MpscTmInSharedPoolSender, PusPacketHandlerResult, MpscTcReceiver, MpscTmAsVecSender, MpscTmInSharedPoolSender, PusPacketHandlerResult,
PusServiceHelper, PusServiceHelper,
}; };
use satrs_core::tmtc::tm_helper::SharedTmPool; use satrs::tmtc::tm_helper::SharedTmPool;
use satrs_core::ChannelId; use satrs::ChannelId;
use satrs_example::config::{TcReceiverId, TmSenderId, PUS_APID}; use satrs_example::config::{TcReceiverId, TmSenderId, PUS_APID};
pub fn create_event_service_static( pub fn create_event_service_static(

View File

@ -1,18 +1,18 @@
use crate::requests::{Request, RequestWithToken}; use crate::requests::{Request, RequestWithToken};
use log::{error, warn}; use log::{error, warn};
use satrs_core::hk::{CollectionIntervalFactor, HkRequest}; use satrs::hk::{CollectionIntervalFactor, HkRequest};
use satrs_core::pool::{SharedStaticMemoryPool, StoreAddr}; use satrs::pool::{SharedStaticMemoryPool, StoreAddr};
use satrs_core::pus::verification::{ use satrs::pus::verification::{
FailParams, StdVerifReporterWithSender, VerificationReporterWithSender, FailParams, StdVerifReporterWithSender, VerificationReporterWithSender,
}; };
use satrs_core::pus::{ use satrs::pus::{
EcssTcAndToken, EcssTcInMemConverter, EcssTcInSharedStoreConverter, EcssTcInVecConverter, EcssTcAndToken, EcssTcInMemConverter, EcssTcInSharedStoreConverter, EcssTcInVecConverter,
EcssTcReceiver, EcssTmSender, MpscTcReceiver, MpscTmAsVecSender, MpscTmInSharedPoolSender, EcssTcReceiver, EcssTmSender, MpscTcReceiver, MpscTmAsVecSender, MpscTmInSharedPoolSender,
PusPacketHandlerResult, PusPacketHandlingError, PusServiceBase, PusServiceHelper, PusPacketHandlerResult, PusPacketHandlingError, PusServiceBase, PusServiceHelper,
}; };
use satrs_core::spacepackets::ecss::{hk, PusPacket}; use satrs::spacepackets::ecss::{hk, PusPacket};
use satrs_core::tmtc::tm_helper::SharedTmPool; use satrs::tmtc::tm_helper::SharedTmPool;
use satrs_core::ChannelId; use satrs::ChannelId;
use satrs_example::config::{hk_err, tmtc_err, TcReceiverId, TmSenderId, PUS_APID}; use satrs_example::config::{hk_err, tmtc_err, TcReceiverId, TmSenderId, PUS_APID};
use satrs_example::TargetIdWithApid; use satrs_example::TargetIdWithApid;
use std::collections::HashMap; use std::collections::HashMap;

View File

@ -1,11 +1,11 @@
use crate::tmtc::MpscStoreAndSendError; use crate::tmtc::MpscStoreAndSendError;
use log::warn; use log::warn;
use satrs_core::pus::verification::{FailParams, StdVerifReporterWithSender}; use satrs::pus::verification::{FailParams, StdVerifReporterWithSender};
use satrs_core::pus::{EcssTcAndToken, PusPacketHandlerResult, TcInMemory}; use satrs::pus::{EcssTcAndToken, PusPacketHandlerResult, TcInMemory};
use satrs_core::spacepackets::ecss::tc::PusTcReader; use satrs::spacepackets::ecss::tc::PusTcReader;
use satrs_core::spacepackets::ecss::PusServiceId; use satrs::spacepackets::ecss::PusServiceId;
use satrs_core::spacepackets::time::cds::TimeProvider; use satrs::spacepackets::time::cds::TimeProvider;
use satrs_core::spacepackets::time::TimeWriter; use satrs::spacepackets::time::TimeWriter;
use satrs_example::config::{tmtc_err, CustomPusServiceId}; use satrs_example::config::{tmtc_err, CustomPusServiceId};
use std::sync::mpsc::Sender; use std::sync::mpsc::Sender;

View File

@ -2,17 +2,17 @@ use std::sync::mpsc;
use std::time::Duration; use std::time::Duration;
use log::{error, info, warn}; use log::{error, info, warn};
use satrs_core::pool::{PoolProvider, StaticMemoryPool, StoreAddr}; use satrs::pool::{PoolProvider, StaticMemoryPool, StoreAddr};
use satrs_core::pus::scheduler::{PusScheduler, TcInfo}; use satrs::pus::scheduler::{PusScheduler, TcInfo};
use satrs_core::pus::scheduler_srv::PusService11SchedHandler; use satrs::pus::scheduler_srv::PusService11SchedHandler;
use satrs_core::pus::verification::VerificationReporterWithSender; use satrs::pus::verification::VerificationReporterWithSender;
use satrs_core::pus::{ use satrs::pus::{
EcssTcAndToken, EcssTcInMemConverter, EcssTcInSharedStoreConverter, EcssTcInVecConverter, EcssTcAndToken, EcssTcInMemConverter, EcssTcInSharedStoreConverter, EcssTcInVecConverter,
MpscTcReceiver, MpscTmAsVecSender, MpscTmInSharedPoolSender, PusPacketHandlerResult, MpscTcReceiver, MpscTmAsVecSender, MpscTmInSharedPoolSender, PusPacketHandlerResult,
PusServiceHelper, PusServiceHelper,
}; };
use satrs_core::tmtc::tm_helper::SharedTmPool; use satrs::tmtc::tm_helper::SharedTmPool;
use satrs_core::ChannelId; use satrs::ChannelId;
use satrs_example::config::{TcReceiverId, TmSenderId, PUS_APID}; use satrs_example::config::{TcReceiverId, TmSenderId, PUS_APID};
use crate::tmtc::PusTcSourceProviderSharedPool; use crate::tmtc::PusTcSourceProviderSharedPool;

View File

@ -1,4 +1,4 @@
use satrs_core::pus::EcssTcInMemConverter; use satrs::pus::EcssTcInMemConverter;
use super::{ use super::{
action::Pus8Wrapper, event::Pus5Wrapper, hk::Pus3Wrapper, scheduler::Pus11Wrapper, action::Pus8Wrapper, event::Pus5Wrapper, hk::Pus3Wrapper, scheduler::Pus11Wrapper,

View File

@ -1,19 +1,19 @@
use log::{info, warn}; use log::{info, warn};
use satrs_core::params::Params; use satrs::params::Params;
use satrs_core::pool::{SharedStaticMemoryPool, StoreAddr}; use satrs::pool::{SharedStaticMemoryPool, StoreAddr};
use satrs_core::pus::test::PusService17TestHandler; use satrs::pus::test::PusService17TestHandler;
use satrs_core::pus::verification::{FailParams, VerificationReporterWithSender}; use satrs::pus::verification::{FailParams, VerificationReporterWithSender};
use satrs_core::pus::{ use satrs::pus::{
EcssTcAndToken, EcssTcInMemConverter, EcssTcInVecConverter, MpscTcReceiver, MpscTmAsVecSender, EcssTcAndToken, EcssTcInMemConverter, EcssTcInVecConverter, MpscTcReceiver, MpscTmAsVecSender,
MpscTmInSharedPoolSender, PusPacketHandlerResult, PusServiceHelper, MpscTmInSharedPoolSender, PusPacketHandlerResult, PusServiceHelper,
}; };
use satrs_core::spacepackets::ecss::tc::PusTcReader; use satrs::spacepackets::ecss::tc::PusTcReader;
use satrs_core::spacepackets::ecss::PusPacket; use satrs::spacepackets::ecss::PusPacket;
use satrs_core::spacepackets::time::cds::TimeProvider; use satrs::spacepackets::time::cds::TimeProvider;
use satrs_core::spacepackets::time::TimeWriter; use satrs::spacepackets::time::TimeWriter;
use satrs_core::tmtc::tm_helper::SharedTmPool; use satrs::tmtc::tm_helper::SharedTmPool;
use satrs_core::ChannelId; use satrs::ChannelId;
use satrs_core::{events::EventU32, pus::EcssTcInSharedStoreConverter}; use satrs::{events::EventU32, pus::EcssTcInSharedStoreConverter};
use satrs_example::config::{tmtc_err, TcReceiverId, TmSenderId, PUS_APID, TEST_EVENT}; use satrs_example::config::{tmtc_err, TcReceiverId, TmSenderId, PUS_APID, TEST_EVENT};
use std::sync::mpsc::{self, Sender}; use std::sync::mpsc::{self, Sender};

View File

@ -1,7 +1,7 @@
use derive_new::new; use derive_new::new;
use satrs_core::hk::HkRequest; use satrs::hk::HkRequest;
use satrs_core::mode::ModeRequest; use satrs::mode::ModeRequest;
use satrs_core::pus::verification::{TcStateAccepted, VerificationToken}; use satrs::pus::verification::{TcStateAccepted, VerificationToken};
use satrs_example::TargetIdWithApid; use satrs_example::TargetIdWithApid;
#[allow(dead_code)] #[allow(dead_code)]

View File

@ -4,7 +4,7 @@ use std::{
}; };
use log::{info, warn}; use log::{info, warn};
use satrs_core::{ use satrs::{
hal::std::tcp_server::{ServerConfig, TcpSpacepacketsServer}, hal::std::tcp_server::{ServerConfig, TcpSpacepacketsServer},
spacepackets::PacketId, spacepackets::PacketId,
tmtc::{CcsdsDistributor, CcsdsError, TmPacketSourceCore}, tmtc::{CcsdsDistributor, CcsdsError, TmPacketSourceCore},

View File

@ -4,7 +4,7 @@ use std::{
}; };
use log::info; use log::info;
use satrs_core::{ use satrs::{
pool::{PoolProvider, StoreAddr}, pool::{PoolProvider, StoreAddr},
seq_count::{CcsdsSimpleSeqCountProvider, SequenceCountProviderCore}, seq_count::{CcsdsSimpleSeqCountProvider, SequenceCountProviderCore},
spacepackets::{ spacepackets::{

View File

@ -1,14 +1,14 @@
use log::warn; use log::warn;
use satrs_core::pus::{EcssTcAndToken, ReceivesEcssPusTc}; use satrs::pus::{EcssTcAndToken, ReceivesEcssPusTc};
use satrs_core::spacepackets::SpHeader; use satrs::spacepackets::SpHeader;
use std::sync::mpsc::{self, Receiver, SendError, Sender, TryRecvError}; use std::sync::mpsc::{self, Receiver, SendError, Sender, TryRecvError};
use thiserror::Error; use thiserror::Error;
use crate::pus::PusReceiver; use crate::pus::PusReceiver;
use satrs_core::pool::{PoolProvider, SharedStaticMemoryPool, StoreAddr, StoreError}; use satrs::pool::{PoolProvider, SharedStaticMemoryPool, StoreAddr, StoreError};
use satrs_core::spacepackets::ecss::tc::PusTcReader; use satrs::spacepackets::ecss::tc::PusTcReader;
use satrs_core::spacepackets::ecss::PusPacket; use satrs::spacepackets::ecss::PusPacket;
use satrs_core::tmtc::ReceivesCcsdsTc; use satrs::tmtc::ReceivesCcsdsTc;
#[derive(Debug, Clone, PartialEq, Eq, Error)] #[derive(Debug, Clone, PartialEq, Eq, Error)]
pub enum MpscStoreAndSendError { pub enum MpscStoreAndSendError {
@ -133,7 +133,7 @@ impl TcSourceTaskStatic {
Ok((pus_tc, _)) => { Ok((pus_tc, _)) => {
self.pus_receiver self.pus_receiver
.handle_tc_packet( .handle_tc_packet(
satrs_core::pus::TcInMemory::StoreAddr(addr), satrs::pus::TcInMemory::StoreAddr(addr),
pus_tc.service(), pus_tc.service(),
&pus_tc, &pus_tc,
) )
@ -182,7 +182,7 @@ impl TcSourceTaskDynamic {
Ok((pus_tc, _)) => { Ok((pus_tc, _)) => {
self.pus_receiver self.pus_receiver
.handle_tc_packet( .handle_tc_packet(
satrs_core::pus::TcInMemory::Vec(tc.clone()), satrs::pus::TcInMemory::Vec(tc.clone()),
pus_tc.service(), pus_tc.service(),
&pus_tc, &pus_tc,
) )

View File

@ -4,7 +4,7 @@ use std::{
}; };
use log::{info, warn}; use log::{info, warn};
use satrs_core::{ use satrs::{
hal::std::udp_server::{ReceiveResult, UdpTcServer}, hal::std::udp_server::{ReceiveResult, UdpTcServer},
pool::{PoolProviderWithGuards, SharedStaticMemoryPool, StoreAddr}, pool::{PoolProviderWithGuards, SharedStaticMemoryPool, StoreAddr},
tmtc::CcsdsError, tmtc::CcsdsError,
@ -113,7 +113,7 @@ mod tests {
sync::{Arc, Mutex}, sync::{Arc, Mutex},
}; };
use satrs_core::{ use satrs::{
spacepackets::{ spacepackets::{
ecss::{tc::PusTcCreator, WritablePusPacket}, ecss::{tc::PusTcCreator, WritablePusPacket},
SpHeader, SpHeader,

View File

@ -22,8 +22,12 @@ serde-hex = "0.1.0"
version = "1" version = "1"
optional = true optional = true
[dependencies.satrs-core] [dependencies.satrs-shared]
version = "0.1.0-alpha.3" path = "../satrs-shared"
features = ["serde"]
# [dependencies.satrs-core]
# version = "0.1.0-alpha.3"
# path = "../satrs-core" # path = "../satrs-core"
# git = "https://egit.irs.uni-stuttgart.de/rust/sat-rs.git" # git = "https://egit.irs.uni-stuttgart.de/rust/sat-rs.git"
# branch = "main" # branch = "main"

View File

@ -19,12 +19,10 @@ path = "tests/tests.rs"
quote = "1" quote = "1"
proc-macro2 = "1" proc-macro2 = "1"
[dependencies.satrs-core] [dependencies.syn]
version = "0.1.0-alpha.3" version = "2"
# path = "../../satrs-core" features = ["full"]
# git = "https://egit.irs.uni-stuttgart.de/rust/sat-rs.git"
# branch = "main"
# rev = "35e1f7a983f6535c5571186e361fe101d4306b89"
[dev-dependencies] [dev-dependencies]
trybuild = { version = "1", features = ["diff"] } trybuild = { version = "1", features = ["diff"] }
@ -32,6 +30,10 @@ trybuild = { version = "1", features = ["diff"] }
[dev-dependencies.satrs-mib] [dev-dependencies.satrs-mib]
path = ".." path = ".."
[dependencies.syn] [dev-dependencies.satrs-shared]
version = "2" # version = "0.1.0-alpha.3"
features = ["full"] path = "../../satrs-shared"
# git = "https://egit.irs.uni-stuttgart.de/rust/sat-rs.git"
# branch = "main"
# rev = "35e1f7a983f6535c5571186e361fe101d4306b89"

View File

@ -1,6 +1,6 @@
//! Basic check which just verifies that everything compiles //! Basic check which just verifies that everything compiles
use satrs_core::res_code::ResultU16;
use satrs_mib::resultcode; use satrs_mib::resultcode;
use satrs_shared::res_code::ResultU16;
#[resultcode] #[resultcode]
const _TEST_RESULT: ResultU16 = ResultU16::const_new(0, 1); const _TEST_RESULT: ResultU16 = ResultU16::const_new(0, 1);

View File

@ -1,6 +1,6 @@
//! Basic check which just verifies that everything compiles //! Basic check which just verifies that everything compiles
use satrs_core::res_code::ResultU16;
use satrs_mib::resultcode; use satrs_mib::resultcode;
use satrs_shared::res_code::ResultU16;
#[resultcode(info = "This is a test result where the first parameter is foo")] #[resultcode(info = "This is a test result where the first parameter is foo")]
const _TEST_RESULT: ResultU16 = ResultU16::const_new(0, 1); const _TEST_RESULT: ResultU16 = ResultU16::const_new(0, 1);

View File

@ -1,6 +1,6 @@
use satrs_core::res_code::ResultU16;
use satrs_mib::res_code::ResultU16Info; use satrs_mib::res_code::ResultU16Info;
use satrs_mib::resultcode; use satrs_mib::resultcode;
use satrs_shared::res_code::ResultU16;
#[resultcode(info = "This is a test result where the first parameter is foo")] #[resultcode(info = "This is a test result where the first parameter is foo")]
const TEST_RESULT: ResultU16 = ResultU16::const_new(0, 1); const TEST_RESULT: ResultU16 = ResultU16::const_new(0, 1);

View File

@ -1,7 +1,7 @@
#[cfg(feature = "std")] #[cfg(feature = "std")]
pub use stdmod::*; pub use stdmod::*;
pub use satrs_core::res_code::ResultU16; pub use satrs_shared::res_code::ResultU16;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use serde_hex::{SerHex, StrictCapPfx}; use serde_hex::{SerHex, StrictCapPfx};
@ -96,8 +96,8 @@ mod tests {
// Special solution for this crate because the code generated by a macro will use // Special solution for this crate because the code generated by a macro will use
// satrs_mib::res_code::* // satrs_mib::res_code::*
use crate as satrs_mib; use crate as satrs_mib;
use satrs_core::res_code::ResultU16;
use satrs_mib::resultcode; use satrs_mib::resultcode;
use satrs_shared::res_code::ResultU16;
#[derive(Debug)] #[derive(Debug)]
#[allow(dead_code)] #[allow(dead_code)]
@ -119,12 +119,12 @@ mod tests {
NOT_ENOUGH_APP_DATA_EXT, NOT_ENOUGH_APP_DATA_EXT,
]; ];
const CSV_NAME: &'static str = "dummy.csv"; const CSV_NAME: &str = "dummy.csv";
#[test] #[test]
fn test_printout() { fn test_printout() {
let mut wtrb = csv::WriterBuilder::new(); let mut wtrb = csv::WriterBuilder::new();
wtrb.delimiter(';' as u8); wtrb.delimiter(b';');
print_resultcodes_as_csv(wtrb, TMTC_RESULTS).expect("Priting result codes failed"); print_resultcodes_as_csv(wtrb, TMTC_RESULTS).expect("Priting result codes failed");
} }
@ -133,7 +133,7 @@ mod tests {
let csvpath = Path::new(CSV_NAME); let csvpath = Path::new(CSV_NAME);
let mut wtrb = csv::WriterBuilder::new(); let mut wtrb = csv::WriterBuilder::new();
let file = File::create(csvpath).expect("Creating CSV file failed"); let file = File::create(csvpath).expect("Creating CSV file failed");
wtrb.delimiter(';' as u8); wtrb.delimiter(b';');
write_resultcodes_to_csv(wtrb, TMTC_RESULTS, file).expect("CSV export failed"); write_resultcodes_to_csv(wtrb, TMTC_RESULTS, file).expect("CSV export failed");
assert!(csvpath.exists()); assert!(csvpath.exists());
let file = File::open(csvpath).expect("Opening CSV file failed"); let file = File::open(csvpath).expect("Opening CSV file failed");

21
satrs-shared/Cargo.toml Normal file
View File

@ -0,0 +1,21 @@
[package]
name = "satrs-shared"
description = "Components shared by multiple sat-rs crates"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
[dependencies.serde]
version = "1"
default-features = false
optional = true
[dependencies.spacepackets]
version = "0.9.0"
default-features = false
[features]
serde = ["dep:serde", "spacepackets/serde"]

1
satrs-shared/src/lib.rs Normal file
View File

@ -0,0 +1 @@
pub mod res_code;

View File

@ -1,10 +1,10 @@
[package] [package]
name = "satrs-core" name = "satrs"
version = "0.1.0-alpha.3" version = "0.1.0-alpha.0"
edition = "2021" edition = "2021"
rust-version = "1.61" rust-version = "1.61"
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"] authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
description = "Core components of the sat-rs framework to build software for remote systems" description = "A framework to build software for remote systems"
homepage = "https://egit.irs.uni-stuttgart.de/rust/sat-rs" homepage = "https://egit.irs.uni-stuttgart.de/rust/sat-rs"
repository = "https://egit.irs.uni-stuttgart.de/rust/sat-rs" repository = "https://egit.irs.uni-stuttgart.de/rust/sat-rs"
license = "Apache-2.0" license = "Apache-2.0"
@ -70,6 +70,9 @@ version = "0.5.4"
features = ["all"] features = ["all"]
optional = true optional = true
[dependencies.satrs-shared]
path = "../satrs-shared"
[dependencies.spacepackets] [dependencies.spacepackets]
version = "0.9.0" version = "0.9.0"
default-features = false default-features = false

View File

@ -13,7 +13,7 @@ use cobs::{decode_in_place, encode, max_encoding_length};
/// ///
/// ``` /// ```
/// use cobs::decode_in_place_report; /// use cobs::decode_in_place_report;
/// use satrs_core::encoding::{encode_packet_with_cobs}; /// use satrs::encoding::{encode_packet_with_cobs};
// //
/// const SIMPLE_PACKET: [u8; 5] = [1, 2, 3, 4, 5]; /// const SIMPLE_PACKET: [u8; 5] = [1, 2, 3, 4, 5];
/// const INVERTED_PACKET: [u8; 5] = [5, 4, 3, 2, 1]; /// const INVERTED_PACKET: [u8; 5] = [5, 4, 3, 2, 1];

View File

@ -18,7 +18,7 @@
//! # Examples //! # Examples
//! //!
//! ``` //! ```
//! use satrs_core::events::{EventU16, EventU32, EventU32TypedSev, Severity, SeverityHigh, SeverityInfo}; //! use satrs::events::{EventU16, EventU32, EventU32TypedSev, Severity, SeverityHigh, SeverityInfo};
//! //!
//! const MSG_RECVD: EventU32TypedSev<SeverityInfo> = EventU32TypedSev::const_new(1, 0); //! const MSG_RECVD: EventU32TypedSev<SeverityInfo> = EventU32TypedSev::const_new(1, 0);
//! const MSG_FAILED: EventU32 = EventU32::const_new(Severity::LOW, 1, 1); //! const MSG_FAILED: EventU32 = EventU32::const_new(Severity::LOW, 1, 1);

View File

@ -20,8 +20,8 @@ use std::vec::Vec;
/// ``` /// ```
/// use std::net::{IpAddr, Ipv4Addr, SocketAddr, UdpSocket}; /// use std::net::{IpAddr, Ipv4Addr, SocketAddr, UdpSocket};
/// use spacepackets::ecss::WritablePusPacket; /// use spacepackets::ecss::WritablePusPacket;
/// use satrs_core::hal::std::udp_server::UdpTcServer; /// use satrs::hal::std::udp_server::UdpTcServer;
/// use satrs_core::tmtc::{ReceivesTc, ReceivesTcCore}; /// use satrs::tmtc::{ReceivesTc, ReceivesTcCore};
/// use spacepackets::SpHeader; /// use spacepackets::SpHeader;
/// use spacepackets::ecss::tc::PusTcCreator; /// use spacepackets::ecss::tc::PusTcCreator;
/// ///

View File

@ -10,7 +10,7 @@
//! ```rust //! ```rust
//! use std::any::Any; //! use std::any::Any;
//! use std::error::Error; //! use std::error::Error;
//! use satrs_core::objects::{ManagedSystemObject, ObjectId, ObjectManager, SystemObject}; //! use satrs::objects::{ManagedSystemObject, ObjectId, ObjectManager, SystemObject};
//! //!
//! struct ExampleSysObj { //! struct ExampleSysObj {
//! id: ObjectId, //! id: ObjectId,

View File

@ -13,7 +13,7 @@
//! ## Example for primitive type wrapper //! ## Example for primitive type wrapper
//! //!
//! ``` //! ```
//! use satrs_core::params::{ParamsRaw, ToBeBytes, U32Pair, WritableToBeBytes}; //! use satrs::params::{ParamsRaw, ToBeBytes, U32Pair, WritableToBeBytes};
//! //!
//! let u32_pair = U32Pair(0x1010, 25); //! let u32_pair = U32Pair(0x1010, 25);
//! assert_eq!(u32_pair.0, 0x1010); //! assert_eq!(u32_pair.0, 0x1010);

View File

@ -10,7 +10,7 @@
//! # Example for the [StaticMemoryPool] //! # Example for the [StaticMemoryPool]
//! //!
//! ``` //! ```
//! use satrs_core::pool::{PoolProvider, StaticMemoryPool, StaticPoolConfig}; //! use satrs::pool::{PoolProvider, StaticMemoryPool, StaticPoolConfig};
//! //!
//! // 4 buckets of 4 bytes, 2 of 8 bytes and 1 of 16 bytes //! // 4 buckets of 4 bytes, 2 of 8 bytes and 1 of 16 bytes
//! let pool_cfg = StaticPoolConfig::new(vec![(4, 4), (2, 8), (1, 16)], false); //! let pool_cfg = StaticPoolConfig::new(vec![(4, 4), (2, 8), (1, 16)], false);

View File

@ -15,11 +15,11 @@
//! ``` //! ```
//! use std::sync::{Arc, mpsc, RwLock}; //! use std::sync::{Arc, mpsc, RwLock};
//! use std::time::Duration; //! use std::time::Duration;
//! use satrs_core::pool::{PoolProviderWithGuards, StaticMemoryPool, StaticPoolConfig}; //! use satrs::pool::{PoolProviderWithGuards, StaticMemoryPool, StaticPoolConfig};
//! use satrs_core::pus::verification::{VerificationReporterCfg, VerificationReporterWithSender}; //! use satrs::pus::verification::{VerificationReporterCfg, VerificationReporterWithSender};
//! use satrs_core::seq_count::SeqCountProviderSimple; //! use satrs::seq_count::SeqCountProviderSimple;
//! use satrs_core::pus::MpscTmInSharedPoolSender; //! use satrs::pus::MpscTmInSharedPoolSender;
//! use satrs_core::tmtc::tm_helper::SharedTmPool; //! use satrs::tmtc::tm_helper::SharedTmPool;
//! use spacepackets::ecss::PusPacket; //! use spacepackets::ecss::PusPacket;
//! use spacepackets::SpHeader; //! use spacepackets::SpHeader;
//! use spacepackets::ecss::tc::{PusTcCreator, PusTcSecondaryHeader}; //! use spacepackets::ecss::tc::{PusTcCreator, PusTcSecondaryHeader};

1
satrs/src/res_code.rs Normal file
View File

@ -0,0 +1 @@
pub use satrs_shared::res_code::*;

View File

@ -18,8 +18,8 @@
//! # Example //! # Example
//! //!
//! ```rust //! ```rust
//! use satrs_core::tmtc::ccsds_distrib::{CcsdsPacketHandler, CcsdsDistributor}; //! use satrs::tmtc::ccsds_distrib::{CcsdsPacketHandler, CcsdsDistributor};
//! use satrs_core::tmtc::{ReceivesTc, ReceivesTcCore}; //! use satrs::tmtc::{ReceivesTc, ReceivesTcCore};
//! use spacepackets::{CcsdsPacket, SpHeader}; //! use spacepackets::{CcsdsPacket, SpHeader};
//! use spacepackets::ecss::WritablePusPacket; //! use spacepackets::ecss::WritablePusPacket;
//! use spacepackets::ecss::tc::{PusTc, PusTcCreator}; //! use spacepackets::ecss::tc::{PusTc, PusTcCreator};

View File

@ -19,8 +19,8 @@
//! //!
//! ```rust //! ```rust
//! use spacepackets::ecss::WritablePusPacket; //! use spacepackets::ecss::WritablePusPacket;
//! use satrs_core::tmtc::pus_distrib::{PusDistributor, PusServiceProvider}; //! use satrs::tmtc::pus_distrib::{PusDistributor, PusServiceProvider};
//! use satrs_core::tmtc::{ReceivesTc, ReceivesTcCore}; //! use satrs::tmtc::{ReceivesTc, ReceivesTcCore};
//! use spacepackets::SpHeader; //! use spacepackets::SpHeader;
//! use spacepackets::ecss::tc::{PusTcCreator, PusTcReader}; //! use spacepackets::ecss::tc::{PusTcCreator, PusTcReader};
//! struct ConcretePusHandler { //! struct ConcretePusHandler {

View File

@ -1,4 +1,4 @@
use satrs_core::pool::{PoolGuard, PoolProvider, StaticMemoryPool, StaticPoolConfig, StoreAddr}; use satrs::pool::{PoolGuard, PoolProvider, StaticMemoryPool, StaticPoolConfig, StoreAddr};
use std::ops::DerefMut; use std::ops::DerefMut;
use std::sync::mpsc; use std::sync::mpsc;
use std::sync::mpsc::{Receiver, Sender}; use std::sync::mpsc::{Receiver, Sender};

View File

@ -1,6 +1,6 @@
#![allow(dead_code, unused_imports)] #![allow(dead_code, unused_imports)]
use satrs_core::events::{ use satrs::events::{
EventU32, EventU32TypedSev, GenericEvent, HasSeverity, LargestEventRaw, LargestGroupIdRaw, EventU32, EventU32TypedSev, GenericEvent, HasSeverity, LargestEventRaw, LargestGroupIdRaw,
Severity, SeverityInfo, SeverityLow, SeverityMedium, Severity, SeverityInfo, SeverityLow, SeverityMedium,
}; };

View File

@ -1,13 +1,11 @@
use satrs_core::event_man::{ use satrs::event_man::{
EventManagerWithMpscQueue, MpscEventU32Receiver, MpscEventU32SendProvider, SendEventProvider, EventManagerWithMpscQueue, MpscEventU32Receiver, MpscEventU32SendProvider, SendEventProvider,
}; };
use satrs_core::events::{EventU32, EventU32TypedSev, Severity, SeverityInfo}; use satrs::events::{EventU32, EventU32TypedSev, Severity, SeverityInfo};
use satrs_core::params::U32Pair; use satrs::params::U32Pair;
use satrs_core::params::{Params, ParamsHeapless, WritableToBeBytes}; use satrs::params::{Params, ParamsHeapless, WritableToBeBytes};
use satrs_core::pus::event_man::{ use satrs::pus::event_man::{DefaultPusMgmtBackendProvider, EventReporter, PusEventDispatcher};
DefaultPusMgmtBackendProvider, EventReporter, PusEventDispatcher, use satrs::pus::MpscTmAsVecSender;
};
use satrs_core::pus::MpscTmAsVecSender;
use spacepackets::ecss::tm::PusTmReader; use spacepackets::ecss::tm::PusTmReader;
use spacepackets::ecss::{PusError, PusPacket}; use spacepackets::ecss::{PusError, PusPacket};
use std::sync::mpsc::{channel, SendError, TryRecvError}; use std::sync::mpsc::{channel, SendError, TryRecvError};

View File

@ -1,14 +1,12 @@
//#[cfg(feature = "crossbeam")] //#[cfg(feature = "crossbeam")]
pub mod crossbeam_test { pub mod crossbeam_test {
use hashbrown::HashMap; use hashbrown::HashMap;
use satrs_core::pool::{ use satrs::pool::{PoolProvider, PoolProviderWithGuards, StaticMemoryPool, StaticPoolConfig};
PoolProvider, PoolProviderWithGuards, StaticMemoryPool, StaticPoolConfig, use satrs::pus::verification::{
};
use satrs_core::pus::verification::{
FailParams, RequestId, VerificationReporterCfg, VerificationReporterWithSender, FailParams, RequestId, VerificationReporterCfg, VerificationReporterWithSender,
}; };
use satrs_core::pus::CrossbeamTmInStoreSender; use satrs::pus::CrossbeamTmInStoreSender;
use satrs_core::tmtc::tm_helper::SharedTmPool; use satrs::tmtc::tm_helper::SharedTmPool;
use spacepackets::ecss::tc::{PusTcCreator, PusTcReader, PusTcSecondaryHeader}; use spacepackets::ecss::tc::{PusTcCreator, PusTcReader, PusTcSecondaryHeader};
use spacepackets::ecss::tm::PusTmReader; use spacepackets::ecss::tm::PusTmReader;
use spacepackets::ecss::{EcssEnumU16, EcssEnumU8, PusPacket, WritablePusPacket}; use spacepackets::ecss::{EcssEnumU16, EcssEnumU8, PusPacket, WritablePusPacket};

View File

@ -22,7 +22,7 @@ use std::{
}; };
use hashbrown::HashSet; use hashbrown::HashSet;
use satrs_core::{ use satrs::{
encoding::cobs::encode_packet_with_cobs, encoding::cobs::encode_packet_with_cobs,
hal::std::tcp_server::{ServerConfig, TcpSpacepacketsServer, TcpTmtcInCobsServer}, hal::std::tcp_server::{ServerConfig, TcpSpacepacketsServer, TcpTmtcInCobsServer},
tmtc::{ReceivesTcCore, TmPacketSourceCore}, tmtc::{ReceivesTcCore, TmPacketSourceCore},