Show HN: I made an app for designing Embedded Systems and code generation
fsmpro.ioA few years ago, I was working as a consultant for a leading Automotive supplier which specialised in Embedded electronics and worked with leading Auto manufacturers.
They used State Machine design regressively for business logic implementation across all their products. Embedded system code is meant for deploying on Microcontrollers and usually written in a low level language like C. The dependency on state machine was excessive to a point that they made a tool for designing state machines which perfectly made business sense.
As a engineer, I liked the uselfulness and lightweight nature of the tool but it crashed often and was not maintained. After sometime they discontiued the tool and purchased Enterprise Architect which helps in designing state machines but originally meant for doing other things. Unlike the previous tool, the code generated by Enterprise Architect was not clean enough and not used.
I researched and picked up the core idea of the tool created a better version of it with FsmPro. I made sure it is cross-platform so that it could reach most users. It is available as a free download and comes with all the features to support development and codification of state machines.
Please try and let me know what you think.
How is this different to https://www.state-machine.com or dare I say it, Simulink?
I have working knowledge of Simulink. It has a learning curve to it. Getting a basic Simulink License could set you back by 3000$. Also, if you just want to design basic state machines for your project, why should you pay the steep fee they ask for. It's a great tool for modelling, simulation and what not. But what if you just want to design state machines for your project(not even simulate), why should you pay that amount for a single license?
QM again does a host of other things apart from state machine design. You have to work with their framework to get the work done and also getting the license is expensive.
You can design however you want in FsmPro. There is no model to adhere to. You can design state machines, talk to other state machines and just inlcude them in your projects with a single header file inclusion.
I make my argument clear in this piece: https://medium.com/@FsmPro/introducing-fsmpro-a-tool-built-w...:
Following that link I got "404 - We couldn’t find this page."
Please try this : https://medium.com/@FsmPro/introducing-fsmpro-a-tool-built-w...
This looks cool!
A few points: The post title should mention finite state machines, I think.
In the page you say « FsmPro is xml based which reduces the possiblity of data loss »: How and compared to what?
Thanks!
Losing work is expensive.
A project file could get corrupted for a myriad of reasons. If the format of the file is proprietary or could not be deciphered easily, you would lose your data. This is a very common problem with Microsoft and Adobe files to name a few.
Having a standard xml format makes it easy to repair had the file get corrupted by accident. Also, it makes it easier for anyone to run scripts to get the data out of the files. Ex: Custom code generate with a script that scrapes the xml file.
Nice project! Could you please list the supported micro-controllers and some examples?
Thank you. It can work on any micro-controller platform given that it is platform agnostic. FsmPro has a provision for including header files which can be your microcontroller driver files. You can also graphically link dependencies with other modules.
On installing the tool, you would have an example project open by itself which should help. There are multiple examples in the installation directory of your computer. I hope I answered your query.
but what about sources?
If you mean source code, It is not open for now. I don't know about the future.