-
Notifications
You must be signed in to change notification settings - Fork 28
feat(rtps_embedded): Phase 4 — limit profiles, dynamic host memory, DATA_FRAG large payloads #710
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
036bd7c
feat(rtps_embedded): Per-platform limit profiles (Phase 4 Step 1)
finger563 6792ec5
refactor(rtps_embedded): Widen DataSize_t to uint32_t (Phase 4, DATA_…
finger563 78740d5
feat(rtps_embedded): Dynamic value-pool storage on host (Phase 4 Step 2)
finger563 bdc263d
feat(rtps_embedded): Best-effort DATA_FRAG large payloads (Phase 4 St…
finger563 d50eb8d
chore(rtps_embedded): Untrack accidentally-committed local files
finger563 22ebd9d
fix(rtps_embedded): Address static analysis findings on PR #710
finger563 cbc8ed4
fix(rtps_embedded): Address PR #710 review comments
finger563 c9a33a2
fix(rtps_embedded): No sample skipped under backlog + regression test…
finger563 356fa19
fix(rtps_embedded): Clamp fragment size to a DATA_FRAG-specific bound…
finger563 61e261e
fix(rtps_embedded): Decouple storage policy from limits profile; fix …
finger563 40840d3
docs(rtps_embedded): Correct copyright on espp-original files (PR #710)
finger563 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,60 @@ | ||
| menu "RTPS (rtps_embedded)" | ||
|
|
||
| choice RTPS_LIMITS_PROFILE | ||
| prompt "RTPS static limits profile" | ||
| default RTPS_LIMITS_PROFILE_EMBEDDED | ||
| help | ||
| Selects the compile-time capacity limits (profile header) used by the | ||
| rtps_embedded engine. Only the capacity caps differ between profiles. | ||
| The storage MODEL (static vs dynamic) is a separate knob | ||
| (RTPS_STORAGE_DYNAMIC below) and defaults to fully-static on ESP for | ||
| every profile - selecting a relaxed profile does NOT enable heap | ||
| storage. These caps are pure capacity limits and do NOT change any | ||
| bytes on the wire. | ||
|
|
||
| config RTPS_LIMITS_PROFILE_EMBEDDED | ||
| bool "embedded (tight MCU caps)" | ||
| help | ||
| Tight caps sized for an ESP32-class MCU | ||
| (rtps/config_esp32.hpp). This is the default and the smallest | ||
| footprint. | ||
|
|
||
| config RTPS_LIMITS_PROFILE_HOST | ||
| bool "host (relaxed static caps)" | ||
| help | ||
| Relaxed static caps suitable for small-to-medium DDS graphs | ||
| (rtps/config_desktop.hpp). Larger footprint than embedded. | ||
|
|
||
| config RTPS_LIMITS_PROFILE_HOST_LARGE | ||
| bool "host_large (generous static caps)" | ||
| help | ||
| Generous static caps for large DDS graphs | ||
| (rtps/config_host_large.hpp). Significantly larger footprint; | ||
| only appropriate on targets with plenty of RAM. | ||
| endchoice | ||
|
|
||
| config RTPS_STORAGE_DYNAMIC | ||
| bool "Use dynamic (heap) history/queue storage" | ||
| default n | ||
| help | ||
| By default the engine uses fully-static, zero-heap history and queue | ||
| storage on ESP targets (std::array), independent of the limits | ||
| profile above: when a history fills it drops the oldest sample. | ||
| Enable this to use heap-backed storage (std::deque) that instead | ||
| GROWS on demand to retain samples. Off by default so the MCU keeps | ||
| deterministic, zero-heap storage; enable only on targets that can | ||
| afford heap growth. Does not change any bytes on the wire. | ||
|
|
||
| config RTPS_ENABLE_FRAGMENTATION | ||
| bool "Enable best-effort DATA_FRAG fragmentation" | ||
| default n | ||
| help | ||
| Enables sending and receiving samples larger than a single RTPS DATA | ||
| submessage (> ~64 KB) by splitting them into best-effort DATA_FRAG | ||
| submessages and reassembling them on receive (interoperates with | ||
| FastDDS / ROS 2). Default OFF so the MCU pays no code or memory cost | ||
| for it in the common (small-sample) case. When ON, reassembly is | ||
| bounded by RTPS_MAX_SAMPLE_SIZE (256 KB on the embedded profile) and | ||
| the participant's max payload size rises accordingly. | ||
|
|
||
| endmenu |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.