Robin Mueller
4206c06d48
Some checks failed
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
3.7 KiB
3.7 KiB
Change Log
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[unreleased]
Added
- Added
params::WritableToBeBytes::to_vec
. - New
ComponentId
(u64
typedef for now) which replaces formerTargetId
as a generic way to identify components. - Various abstraction and objects for targeted requests. This includes mode request/reply types for actions, HK and modes.
VerificationReportingProvider::owner_id
method.
Changed
- Renamed
EventManagerBase
toEventReportCreator
- Renamed
VerificationReporterCore
toVerificationReportCreator
. - Removed
VerificationReporterCore
. The high-level API exposed byVerificationReporter
and the low level API exposed byVerificationReportCreator
should be sufficient for all use-cases. - Refactored
EventManager
to heavily use generics instead of trait objects.SendEventProvider
->EventSendProvider
.id
trait method renamed tochannel_id
.ListenerTable
->ListenerMapProvider
SenderTable
->SenderMapProvider
- There is an
EventManagerWithMpsc
and aEventManagerWithBoundedMpsc
helper type now.
- Refactored ECSS TM sender abstractions to be generic over different message queue backends.
- Refactored Verification Reporter abstractions and implementation to be generic over the sender instead of using trait objects.
- Renamed
WritableToBeBytes::raw_len
toWritableToBeBytes::written_len
for consistency. PusServiceProvider
renamed toPusServiceDistributor
to make the purpose of the object more clearPusServiceProvider::handle_pus_tc_packet
renamed toPusServiceDistributor::distribute_packet
.PusServiceDistibutor
andCcsdsDistributor
now use generics instead of trait objects. This makes accessing the concrete trait implementations more easy as well.- Major overhaul of the PUS handling module.
- Replace
TargetId
byComponentId
. - Replace most usages of
ChannelId
byComponentId
. A dedicated channel ID has limited usage due to the nature of typed channels in Rust. CheckTimer
renamed toCountdownProvider
.- Renamed
TargetId
toComponentId
. - Replaced most
ChannelId
occurences withComponentId
. For typed channels, there is generally no need for dedicated channel IDs. - Changed
params::WritableToBeBytes::raw_len
towritten_len
for consistency. EventReporter
caches component ID.- Renamed
PusService11SchedHandler
toPusSchedServiceHandler
. - Fixed general naming of PUS handlers from
handle_one_tc
topoll_and_handle_next_tc
. - Reworked verification module: The sender (
impl EcssTmSenderCore
) now needs to be passed explicitely to theVerificationReportingProvider
abstraction. This allows easier sharing of the TM sender component.
Fixed
- Update deprecated API for
PusScheduler::insert_wrapped_tc_cds_short
andPusScheduler::insert_wrapped_tc_cds_long
. EventReporter
uses interior mutability pattern to allow non-mutable API.
Removed
- Remove
objects
module.
[v0.2.0-rc.0] 2024-02-21
Added
- New PUS service abstractions for HK (PUS 3) and actions (PUS 8). Introducing new abstractions allows to move some boilerplate code into the framework.
- New
VerificationReportingProvider
abstraction to avoid relying on a concrete verification reporting provider.
Changed
- Verification reporter API timestamp arguments are not
Option
al anymore. Empty timestamps can be passed by simply specifying the&[]
empty slice argument.
[v0.1.1] 2024-02-12
- Minor fixes for crate config
homepage
entries and links in documentation.
[v0.1.0] 2024-02-12
Initial release.