Commit Graph
115 Commits
Author SHA1 Message Date
Robin Mueller 7a2a317d58 Add MGM1 to simulator 2026-09-24 11:44:52 +02:00
Robin Mueller 919f1aa65d add granular event management control 2026-09-23 15:31:35 +02:00
Robin Mueller 8d36fd3761 more events 2026-09-22 11:48:40 +02:00
Robin Mueller 1c98f3772f extract switch and mode helper 2026-09-16 13:58:11 +02:00
Robin Mueller 86d8528d21 feat: add FDIR fault counter and wire it into the MGM device handler
Add satrs::fdir::FaultCounter, an FSFW-style error threshold counter:
counts faults, decrements over time when faults stop, and reports
when a threshold is exceeded. Two variants for now, mirroring the
hk.rs helper pattern:
- FaultCounterStd, backed by std::time::Instant
- FaultCounterEmbassy, backed by embassy_time::Instant (embassy-time
  feature), with an optional defmt::Format impl gated on the defmt
  feature

Add satrs::health::HealthTableMapSync::default() for easy construction
of a shared, global health table.

Wire both into the example app's MGM device handler as the first real
FDIR use case:
- the minisim MGM model gains SpiFaultMode (None/AllZeros/AllOnes) and
  a SetSpiFault request, so a stuck SPI bus can be injected for testing,
  independent of switch state
- MgmHandlerLis3Mdl::poll_sensor checks the SPI transfer result: a
  comm timeout or an all-1s stuck-bus reply (the same pattern the sim
  already uses for "device off") counts as a fault. Above threshold,
  the component is marked Faulty in a HealthTableMapSync shared from
  main.rs. This logic lives in the device handler, not the SPI comm
  layer, since deciding what a failed transfer means for FDIR is a
  handler concern.
- an all-0s reply is deliberately not treated as a fault, since it
  collides with a legitimate zero-field reading
2026-09-16 13:56:47 +02:00
Robin Mueller 4ba4d3e6a3 try to update more chapters 2026-08-26 15:24:08 +02:00
Robin Mueller f6a87cff28 continue subsystem integration 2026-08-25 16:57:34 +02:00
Robin MuellerandClaude Sonnet 5 5fffcc011f Rename example models crates to types
- satrs-example/models (package "models") -> satrs-example/types ("types")
- embedded-examples/models (package "embedded-models") -> embedded-examples/types ("embedded-types")

Updates all path dependencies and use/models:: references accordingly.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-25 14:13:02 +02:00
Robin Mueller 3f0937de83 start adding ACS subsystem 2026-07-28 17:00:26 +02:00
Robin Mueller d58b1db55b update STM32H7 example code 2026-05-19 11:51:43 +02:00
Robin Mueller ae4d26b8bd re-work ACS 2026-03-17 15:56:25 +01:00
Robin Mueller 70f747ad86 fixes for switching 2026-03-12 13:45:19 +01:00
Robin Mueller df517af85b probably need to re-work the mode model.. 2026-03-12 12:00:24 +01:00
muellerr 1e15e3d501 move to CCSDS + serde for sat-rs example 2026-03-10 11:45:11 +01:00
Robin Mueller 1b07b845f2 update spacepackets dependency 2025-09-26 16:01:30 +02:00
Robin Mueller 62d64e692a CI fix and naming improvement 2025-09-06 19:36:56 +02:00
Robin Mueller a6c460129b update trait names 2025-09-06 19:26:39 +02:00
muellerr 3f28f60c59 add first generator 2025-05-19 15:21:51 +02:00
muellerr 05106354e3 Mode Tree Feature Update 2025-02-13 12:18:05 +01:00
muellerr 29167736db Integration of the mini simulator into the sat-rs example
Rust/sat-rs/pipeline/pr-main Build started...
2024-06-03 15:18:23 +02:00
muellerr 958ab9bab6 renamed thread name
Rust/sat-rs/pipeline/head This commit looks good
2024-04-25 11:11:31 +02:00
muellerr 5ec5124ea3 Updated events modules and docs
Rust/sat-rs/pipeline/pr-main This commit looks good
2024-04-24 14:30:45 +02:00
muellerr 63f37f0917 Re-worked TMTC modules
Rust/sat-rs/pipeline/pr-main This commit looks good
2024-04-16 11:04:22 +02:00
muellerr 0bbada90ef improve example structure
Rust/sat-rs/pipeline/head Build started...
2024-04-10 12:58:51 +02:00
muellerr de028ed827 bugfix in example
Rust/sat-rs/pipeline/pr-main Build started...
2024-04-10 11:54:05 +02:00
muellerr df2733a176 Major refactoring and update of PUS module 2024-04-04 15:18:53 +02:00
muellerr a5941751d7 Simplify low-level PUS API for verification and events
Rust/sat-rs/pipeline/pr-main This commit looks good
2024-03-29 16:22:40 +01:00
muellerr 3de5954898 Refactor TMTC distribution modules
Rust/sat-rs/pipeline/head This commit looks good
2024-03-04 16:26:34 +01:00
muellerr eea9b11b39 refactored verification reporter
Rust/sat-rs/pipeline/pr-main This commit looks good
- Use generics instead of trait objects where applicable.
2024-02-26 11:41:42 +01:00
muellerr ba03150178 Added high-level abstraction for some PUS services
Rust/sat-rs/pipeline/pr-main This commit looks good
Introduced high-level abstractions for targetable requests in general.

- PUS Service 3 (HK) abstraction for targetable HK requests
- PUS Service 8 (Action) abstraction for targetable action requests
2024-02-20 14:33:21 +01:00
muellerr de4e6183b3 Re-structure sat-rs
Rust/sat-rs/pipeline/pr-main This commit looks good
- 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.
2024-02-12 15:51:37 +01:00
muellerr 176a9f1612 Improvements for example and documentation
Rust/sat-rs/pipeline/pr-main This commit looks good
- Added diagrams for sat-rs example for both structure and data flow.
- Added explanations for those diagrams as well.
- Some renaming: Use `Pool` instead of `Store` for pool components.
- General improvements for satrs-book.
2024-02-08 17:42:36 +01:00
muellerr 0fd70c08c2 Major example update
Rust/sat-rs/pipeline/pr-main This commit looks good
- Increased example modularization by moving the majority
  of app logic inside dedicated modules
- Added a new `dyn_tmtc` feature for the satrs-example which is used
  to configure the heap as the backing store for TMTC packages instead
  of static stores.
- Added dedicated satrs-example chapter in satrs-book
2024-02-07 18:10:47 +01:00
muellerr a891b947c7 Finish PUS service optimizations
Rust/sat-rs/pipeline/pr-main This commit looks good
Rust/sat-rs/pipeline/head This commit looks good
- Better naming for pool abstractions
- Added last unittests for PUS helper services
- Introduce new abstraction for PUS schedulers
- `StoreAddr` is now a generic u64
- `spacepackets` points to 0.7.0 release
2024-02-03 13:43:46 +01:00
muellerr e2086391bc Merge remote-tracking branch 'origin/main' into tricky-pus-abstraction-changes
Rust/sat-rs/pipeline/head This commit looks good
2024-01-31 12:09:55 +01:00
muellerr b79b5d2009 done
Rust/sat-rs/pipeline/pr-main This commit looks good
2024-01-30 23:59:29 +01:00
muellerr b27842c2bb all clippy fixes
Rust/sat-rs/pipeline/pr-main This commit looks good
2024-01-30 23:48:46 +01:00
muellerr 21edd1dcff Merge branch 'main' into TargetIdWithApid
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
2024-01-30 23:31:49 +01:00
muellerr aade7c51f2 Merge remote-tracking branch 'origin/main' into TargetIdWithApid
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
2024-01-29 23:38:32 +01:00
muellerr bd6e1637e4 the check finally works again
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
2023-12-13 15:49:26 +01:00
muellerr 183aca3219 TCP support working
Rust/sat-rs/pipeline/pr-main This commit looks good
2023-09-29 14:11:03 +02:00
muellerr 47b794e12f smaller modules
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
2023-09-29 12:38:57 +02:00
muellerr 8f325138ff found the bug
Rust/sat-rs/pipeline/head This commit looks good
2023-09-27 00:25:50 +02:00
muellerr 5a3b9fb46b why is this so problematic.. 2023-09-27 00:21:03 +02:00
muellerr f8df716865 Merge remote-tracking branch 'origin/main' into TargetIdWithApid
Rust/sat-rs/pipeline/pr-main This commit looks good
2023-08-29 10:22:23 +02:00
lkoester a3311f102e added HkUniqueId
Rust/sat-rs/pipeline/head There was a failure building this commit
Rust/sat-rs/pipeline/pr-main There was a failure building this commit
2023-08-15 21:07:15 +02:00
lkoester 5aa2ec74ba still broken
Rust/sat-rs/pipeline/head There was a failure building this commit
2023-08-15 08:50:08 +02:00
lkoester 075dc38434 first implementation of apid with target id, currently main broken 2023-08-15 08:49:54 +02:00
muellerr a11efc9a96 verif reporter API non-mut now
Rust/sat-rs/pipeline/head Build started...
2023-07-19 11:27:35 +02:00
muellerr e9681b9dbb move APID to lib 2023-07-11 00:45:59 +02:00