refactor CanopenEditor
Hi, Feel free to change/add/subdivide/remove or "take" tasks, i just needed to have a place to talk/plan outside of the pull requests.
So this is things we agree we want to do? and this is high priority:
- [x] #103
- [x] #105
- [ ] Rewrite the code to use protobuffer based classes as the Main data source instead of EDS
- [x] CanOpenXDD1.1 <-> protobuffer
- [ ] CanOpenXDD1.0 <-> protobuffer
- [x] #136
- [ ] CanOpenNodeExporter <- protobuffer
- [ ] CanOpenNodeExporterv4 <- protobuffer
- [ ] DocHTML <- protobuffer
- [ ] DocMarkup <- protobuffer
- [ ] DocNetwork <- protobuffer
- [ ] cli <-> protobuffer
- [ ] GUI <-> protobuffer
Suggestions in no order. low priority and it would be nice to talk about some of the big things:
- [ ] #122
- [ ] More tests, close to 100% coverage on libEDSSharp
- [ ] Clean build build without warnings & messages from compiler (i want to continue on this to learn how it all works + its very easy to do if i have some spare time)
- [x] #119
- [ ] NetworkPDOreport has some of the same code as DocumentationGen that would be nice to remove the need for the same code multiple places
- [ ] Native .net core GUI So we can move away from .net 4.8.1 while continue to support non-windows with a gui
- [ ] Enable "Online" mode, so CANopenEditor could read or write Object Dictionary values on actual devices.
I agree with all the tasks, that would be a great improvement and a base for potential future growth of the project.
Me too, on all tasks. I'm trying to reduce the number of warnings and messages. Most seem less relevant to me, but some are, e.g. "expression always true" in an if statement.
Good idea to continue the discussion here.
[ ] Enable "Online" mode, so CANopenEditor could read or write Object Dictionary values on actual devices.
CANopenLinux in Raspberry PI, for example, has gateway capabilities with ascii communication via (TCP) socket. CANopenEditor should be able to use tcp socket and update actual values on all OD variables. Here is python example for local socket, but TCP socket works too: https://github.com/CANopenNode/CANopenLinux?tab=readme-ov-file#accessing-ascii-command-interface-with-python