Skip to content

DRAFT: Delegate state to link and flow to port (do not merge here, but to upstream) #8

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

Draft
wants to merge 100 commits into
base: main
Choose a base branch
from

Conversation

Poikilos
Copy link

@Poikilos Poikilos commented Apr 26, 2025

Do not merge here, see upstream: https://github.com/bobjacobsen/python-openlcb

Poikilos and others added 30 commits February 5, 2025 09:59
…t correctly in flush (Fix a breakage from my utf8 PR). Enforce str all the way. Improve comments.
…in endElement). Add to sys.path only if can be done accurately.
… level manually set to logging.INFO or more verbose). Switch create a logger (instead of using logging directly) to make the source of messages clear, that being canlink.py in this case. Add & improve docstrings.
… nodeIdToAlias to populate: Fix bobjacobsen#62). Stream XML continuously (use parser.feed) so CDI branches trigger callbacks as they download.
…s start of next). Comment questionable check until question in issue bobjacobsen#63 is answered.
…rrent reservation process (collision handler runs it again) unless no collision (fix bobjacobsen#62) as per section 6.2.1 of CAN Frame Tansfer Standard. Fix type for CanLink.State values (some were tuples due to trailing comma, now all are ints--still would compare if the value was always set and compared from the Statet(Enum) subclass, but not technically correct) (related to issue bobjacobsen#62). Add a related docstring.
…Permitted before sending messages (related to issue bobjacobsen#62). Use only one receive thread in cdihandler to avoid missing packets (and rename CDIHandler to PortHandler so as to allow handling different types of messages and memos in future versions). Rename "add" and "pop" to "start" and "end" for clarity. Isolate CDI-specific data by adding Mode to PortHandler (based on what data string was requested and not yet terminated). Add formatted_ex for logging.
Poikilos and others added 23 commits May 19, 2025 14:21
…ch as in examples, at least for non-delayed states).
…ar size as before _send_frames queue was added): Replace and rework simulation's pumpEvents with sendAll and receiveAll and move them and waitForReady (also reworked) to CanLink to make the features available to (non-simulation) programs.
…et code rather than application/feature code.
…o isCanceled so it can be abstract and have other implementations). Count sent (allows skipping sleep). Run pollState in sendAll to reduce code required to use sendAll. Reduce commented code to match socket-openlcb-application stack model.
…examples where PhysicalLayer subclass is avaiable).
…ne for count). Reduce OpenLCBNetwork code to use high-level sendAll and receiveAll.
…bclass. Separate RealtimePhysicalLayer from RealtimeRawPhysicalLayer for clarity.
@Poikilos Poikilos force-pushed the delegate-state-to-link-and-flow-to-port branch from fbb7313 to f6c6361 Compare May 24, 2025 13:04
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