Skip to content

feat(simple_doip): build an entity as a static, its discovery started later - #92

Draft
FelicianoAngulo2 wants to merge 1 commit into
mainfrom
feat/doip-entity-static
Draft

FelicianoAngulo2 wants to merge 1 commit into
mainfrom
feat/doip-entity-static

Conversation

@FelicianoAngulo2

Copy link
Copy Markdown

An entity can now be built as a static, with its vehicle discovery started once the sockets exist, so an embedded image keeps the entity out of a task's stack.

Issue URL

Towards https://github.com/luminartech/halo/issues/5100

Testing

Run on this branch with the commits of the PRs below it, each commit alone and on the stack's top:

  • tool self-tests, validate, governance, the Sphinx needs build, and prose (plain and CI's --strict crates/uds_c)
  • cargo test --workspace --all-features; clippy on the host and for thumbv7em-none-eabihf
  • just embedded builds on 1.91 for both targets and the size check (matches the baseline)
  • cargo doc with -D warnings; pre-commit run --all-files
  • On the stack's top also the uds_c Miri job from ci.yml and cargo package -p uds_c --no-verify

… later

Entity::new_discovery_later is a const fn, so a target whose stack cannot hold an entity builds it as a static's initializer, and start_discovery starts its discovery once the interface has an address and the identity is known. Both constructors share one private const fn. Entity::new keeps its run-time slot table: built from a constant, the table is an image of every buffer in flash, 7 KB more text on the embedded probe. EntityAddress::new becomes a const fn.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant