Skip to content

EPOS Interface For Identification and Opening Devices#7

Draft
jc-luna wants to merge 40 commits intomainfrom
epos2-docs-only
Draft

EPOS Interface For Identification and Opening Devices#7
jc-luna wants to merge 40 commits intomainfrom
epos2-docs-only

Conversation

@jc-luna
Copy link
Copy Markdown
Member

@jc-luna jc-luna commented Mar 10, 2026

  • Closes Wrappers Around EPOS Command Library Methods #9
  • Wrap about common routines
    • Searching for the controllers
    • Grabbing controllers infos
    • Opening communication with the controllers
    • Closing communication with the controllers
    • Emergency stoppage and error handling
  • Signal responses (to SIGINT and the sort and Whatever Windows uses)
  • Manual unit tests that will not be run on CI

Testing coming soon. This is also an exercise in following the documentation.

Notes

  • Running nm on the binaries shows name mangling on the Linux binaries, but I did a test compile, and Maxon did in fact compile their libraries on Windows and Linux by using a C compiler. This library can remain in C.
  • These are written with the assumption that this will run on the master controller connected to one CAN port, with the others being connected to each other through their CAN ports. (gateway topology)

@jc-luna jc-luna changed the title EPOS Interface Name Reservations and the Sort EPOS Interface Mar 18, 2026
@jc-luna
Copy link
Copy Markdown
Member Author

jc-luna commented Mar 23, 2026

Some notes about initial testing:

  • There are multiple ports and protocols per one controller, I assume the name gets filled in for the node 1 CAN controller when a controller is connected there?
  • It's identified itself as an EPOS4?

@jc-luna jc-luna changed the title EPOS Interface EPOS Interface For Identification and Opening Devices Mar 25, 2026
@jc-luna
Copy link
Copy Markdown
Member Author

jc-luna commented Mar 29, 2026

Closing devices options for safety

Irrespective of any of these options, I am going to wrap device handles in some sort of struct, so I can carry identification information (sub device or no) with the actual pointer to a handle.

  • Simple array
    • Easy iteration to close devices
    • Fixed size
  • Linked list
    • Variably sized
    • More complicated to implement, but this is a solved problem

I'm still not sure how to go about the device handles due to how multiple interfaces are listed per controller. Surely it is one handle per controller? The controllers are faulted until we connect encoders and motors to them, it seems like, so I can't test this rigorously.

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

Labels

epos2 The controller

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

Wrappers Around EPOS Command Library Methods

1 participant