µFSM

Languages and libraries

state machine library

SHOW HN2018

154points
32comments
#260of 2,155 in 2018
Top 13%of 2018 by points

How HN took it

MixedNo clear lean

10 positive, 3 neutral or asking, 0 mixed, 3 critical, out of 16 comments about the project. Thread score +0.28.

Idea: 6 for, 1 againstDesign: 1 for, 0 againstPricing: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Useful alternative to switch-case state handling in embedded code

    From 2 comments
    • Very nice! Anything that allows something more sophisticated than switch:case in embedded systems are welcome! Also, state machines are way too often overlooked as a proper model…
      aylons on HN
    • Thanks for sharing! I'm working on a device and I've been searching for a good FSM library in C with no dynamic allocation :)
      0x5345414e on HN
  • Interest in using it in embedded projects

    From 2 comments
    • I'm impressed by this and like it a lot. If you don't mind a 'drive-by' feature request: it would be fantastic if you were to support the PlantUML state DSL:…
      samatman on HN
    • Same here, I've started 2 or 3 times and not liked any of my own implementations, this might actually be useful to me tonight.
      okreallywtf on HN

Objections

  • Embedded should not be assumed to mean C; language choice debated

    From 2 comments
    • Probably worth having a look at this: https://youtu.be/c9Xt6Me3mJ4?t=4196 Embedded shouldn't rhyme with "C".
      speps on HN
    • It's true that embedded software doesn't need to be written in C but if you're distributing a _library_ that's aimed at embedded systems then C is still a terrific choice for a…
      dljsjr on HN
  • Requires paid StarUML tool to extract state machines from diagrams

    From 1 comment
    • It requires a paid tool (Staruml) to extract a fsm from a state chart? Regardless, this looks very cool I will dive in later.
      analognoise on HN

Requests

  • Support PlantUML state diagram DSL

    From 1 comment
    • I'm impressed by this and like it a lot. If you don't mind a 'drive-by' feature request: it would be fantastic if you were to support the PlantUML state DSL:…
      samatman on HN
  • Support more diagram editors beyond StarUML

    From 1 comment
    • I've only tested with StarUML, but the plan is to support more tools
      j0p on HN

Questions

  • Which diagram editor works, such as Papyrus

    From 1 comment
    • What do you recommend as editor? Does Papyrus work?
      _pmf_ on HN

Alternatives named

  • Quantum Leaps QP/QM framework

    From 2 comments
    • Very nice! Anything that allows something more sophisticated than switch:case in embedded systems are welcome! Also, state machines are way too often overlooked as a proper model…
      aylons on HN
    • Depending on the application, I'll use a Finite State Machine pattern, but if I need something more complex I'll use QM QP/C (which is uses a hierarchical state machine pattern).…
      anmorgan on HN
  • xstate

    From 1 comment
    • A must read for anyone interested https://statecharts.github.io/ Also I highly recommend to check out `xstate` TypeScript library. It's a breeze to work with it.
      slig on HN
  • Erlang gen_statem

    From 1 comment
    • Yes. Erlang has http://erlang.org/doc/man/gen_statem.html It is part of the Erlang's standard library. SSH and SSL state and connection management has been re-written recently to…
      rdtsc on HN
  • django-fsm

    From 1 comment
    • For Django there's django-fsm[0] and django-viewflow[1]. I've used the former to implement some flow for an ecommerce website. [0] https://github.com/kmmbvnr/django-fsm/ [1]…
      nsomaru on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/17255418)