Comments (4)
Hey, apologies for not having the best compatibility for that file. However, opening it again just now, it doesn't contain anything particularly useful. The exact content is these lines, posted here for posterity:
┌─────────────┐
│ Master │
│ #0 │
│ │
└─────────────┘
▲
║
╚0▶┌────────────┐ ┌────────────┐ ┌────────────┐──┐
│ EK1100 │ │ EL2004 │ │ EL3004 │ │
│ #1 │◀3══0▶│ #3 │◀3══0▶│ #4 │ │
│ │ │ │ │ │ │
╔1▶└────────────┘ └────────────┘ └────────────┘◀─┘
║
║ ┌────────────┐──┐
║ │ LAN9252 │ │
╚0▶│ #5 │ │
│ │ │
└────────────┘◀─┘
I'm going to remove the Monodraw source as it's not useful and clearly confusing :)
from ethercrab.
JFYI:
such diagrams can be made with
https://mermaid.js.org/
which can be included in markdown files and are live rendered in the github interface when viewing the doc.
from ethercrab.
Indeed :). I'm using Mermaid for some of the internal doc comments. Even though docs.rs
won't render them (yet?), they can still be pasted into a Mermaid renderer.
from ethercrab.
Hmm, extracting the mermaid code from mod.rs
in a sibling mod.md
feels ugly...
But this is soo nice :-)
flowchart TD
FrameState::None -->|"alloc_frame()\nFrame is now exclusively (guaranteed by atomic state) available to calling code"| FrameState::Created
FrameState::Created -->|populate PDU command, data| FrameState::Created
FrameState::Created -->|"frame.mark_sendable()\nTHEN\nWake TX loop"| FrameState::Sendable
FrameState::Sendable -->|TX loop sends over network| FrameState::Sending
FrameState::Sending -->|"RX loop receives frame, calls pdu_rx()\nClaims frame as receiving"| FrameState::RxBusy
FrameState::RxBusy -->|"Validation/processing complete\nReceivingFrame::mark_received()\nWake frame waker"| FrameState::RxDone
FrameState::RxDone -->|"Wake future\nCalling code can now use response data"| FrameState::RxProcessing
FrameState::RxProcessing -->|"Calling code is done with frame\nReceivedFrame::drop()"| FrameState::None
from ethercrab.
Related Issues (20)
- Add method to `SlaveGroup` to get all slave statuses at once
- Support reading of `std::String` when `std` feature is turned on
- Get AL status for more than one device as bitflags
- Investigate frame timeouts when using `smol::future::zip()` HOT 1
- Optimise slave status read
- #114 broke some of the replay tests
- Expose PDU parsing functionality
- Consistent naming HOT 1
- Invalid SDO response error HOT 1
- Networks with more than one CoE device causes mailbox timeout
- Issue configuring EL2262 HOT 1
- Why `try_split` can only be called once? HOT 7
- Add methods to transition out of OP back to INIT
- ek1100.rs example: thread 'main' panicked at 'Init: WorkingCounter ... HOT 10
- Get `defmt` working properly
- Fail gracefully when no devices found
- Add Embassy example with multiple groups HOT 1
- Add RTIC example with multiple groups
- Redundant network interface support HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ethercrab.