Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Oct 09 20:34

    andrew-gresyk on 1_0_1

    (compare)

  • Oct 09 20:28

    andrew-gresyk on experimental

    (compare)

  • Oct 09 20:28

    andrew-gresyk on master

    1.0.1 * fixed an issue with Pl… (compare)

  • Oct 09 20:28
    andrew-gresyk closed #33
  • Oct 09 19:48
    andrew-gresyk opened #33
  • Oct 09 19:48

    andrew-gresyk on experimental

    * fixed an issue with PlanT::cl… (compare)

  • Aug 20 21:45

    andrew-gresyk on master

    Updated HFSM2 link in readme (compare)

  • Aug 20 18:56

    andrew-gresyk on experimental

    (compare)

  • Aug 20 18:56

    andrew-gresyk on master

    Switched builds from Travis-CI … (compare)

  • Aug 20 18:56
    andrew-gresyk closed #32
  • Aug 20 18:53
    andrew-gresyk opened #32
  • Aug 20 18:53

    andrew-gresyk on experimental

    Switched builds from Travis-CI … (compare)

  • Aug 09 17:17

    andrew-gresyk on master

    ^ updated travis build status (compare)

  • Aug 08 23:30

    andrew-gresyk on master

    ^ updated travis build status (compare)

  • Aug 08 23:19

    andrew-gresyk on 1.0.0

    (compare)

  • Aug 08 23:16

    andrew-gresyk on experimental

    (compare)

  • Aug 08 23:16

    andrew-gresyk on master

    1.0.0 (#31) * sprinkled conste… (compare)

  • Aug 08 23:16
    andrew-gresyk closed #31
  • Aug 08 23:07
    andrew-gresyk synchronize #31
  • Aug 08 23:07

    andrew-gresyk on experimental

    ^ merged in HFSM2 changes (compare)

DJuego
@DJuego
Hi!
I think a comparison table between HFSM2 and FFSM2 would be interesting. Or, at least, a description of when it is more suitable to use one or another solution (strengths and weaknesses of each).
Andrew Gresyk
@andrew-gresyk
Heya!
Yeah, 100%
BTW, there are no weaknesses! :p
The main difference is that HFSM2 is hierarchical, and FFSM2 is "flat", which is to say it doesn't have regions, only root and it's immediate sub-states
Hierarchy brings a lot of complexity, so not having to support it also reduces compile times and memory footprint, improves perf.
So long as your FSM doesn't need hierarchy - FFSM2 is the way to go.
If it does - HFSM2 still has your back!
DJuego
@DJuego
Thanks! This information in the documentation could be valuable for newcomers.
Andrew Gresyk
@andrew-gresyk
Indeed, that's on my TODO list
Alexis Paques
@AlexisTM
Hi @andrew-gresyk
I see you actually took my advice; Most people need the dead simple FSM, which was the reason we had to make our own library.
Great job!
Andrew Gresyk
@andrew-gresyk
Hey @AlexisTM
Yeah what you said made a lot of sense
Over time HFSM2 grew into a very powerful but also a bit heavy library
I addressed that in part with https://doc.hfsm.dev/user-guide/configuration/feature-macros
Trimming it down into a 'flat' FSM library was an obvious choice that would provide a lightweight FSM for simple uses, when HFSM2 can be an overkill
One design goal for FFSM2 was to make it easy to switch from HFSM2 to it, by changing hfsm2:: into ffsm2:: in the declarations
So far as the FSM itself is 'flat', in most cases it's possible to do just that, change the #include and the namespace and it should work, be a bit faster to compile, and have a slightly less of a memory footprint
Lastly, of course I listen to what my users say, why else would I ask them questions? :D