GithubHelp home page GithubHelp logo

Comments (3)

thiagodefreitas avatar thiagodefreitas commented on August 20, 2024

@ipa-mdl , @ipa-fmw I have started with the refactor.

For that, I have started refactoring the state machines, what I consider the kernel of the 402 and therefore the most important part to work properly.

I took the decision to change the SMs to use the boost Meta State Machine (MSM), where I can get a better view of the actions and the guards and to use the transition table, where I and anyone else in the future could have a better view of what is really happening. And also have more reliability concerning the state transitions, the mode switching and all the internals. Please, see, for a general idea:

https://github.com/thiagodefreitas/ros_canopen/blob/refactor_sm/canopen_402/include/canopen_402/state_machine.h#L165-L193

I am implementing the 402 SM and the sub-machines, as well as I want to implement a higher level SM (ON, OFF, etc...). It is not everything online,yet.

This should take quite some more time and effort, and in my opinion is a relevant change. If you have something against the approach, please inform me as soon as possible, so that I may concentrate the efforts on the other aspects.

Thanks.

from ros_canopen.

mathias-luedtke avatar mathias-luedtke commented on August 20, 2024

This sounds great, the 402 proflie is rather complicated and a clean state machine implementation would improve the robustness and maintenance.
I am a little bit concerned about the effort, but the benefits may be worth it.

from ros_canopen.

floweisshardt avatar floweisshardt commented on August 20, 2024

this is a critical issue for https://github.com/ipa320/ros_canopen/milestones/ROS-I%20release

@thiagodefreitas when do you think this will be finished as it is blocking us with the ROS-I release? Where can I find the modifications you already did? what is still missing?

from ros_canopen.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.