Page 1 of 1

FreeEMS Project Road Map

Posted: Mon Apr 16, 2012 2:47 pm
by Fred
I wanted to make it obvious where we're at and where we're going, so here it is!

Right Now

A LOT of development has gone into the firmware since I decided to run my truck on the system just over a year ago. It is now obviously usable, having run 11 engines, including 3 daily drivers, however exactly what is the status?
  • Reliable enough, but not stable
  • Some essential features present
  • Some essential features missing
  • Subject to change, in all areas
  • Some performance limitations
  • Some application limitations
  • Hardware API is volatile
  • Serial API is volatile
  • Data API is volatile
The firmware is undergoing constant and wide sweeping changes. New features are getting added, old ones are getting changed and improved, and even removed. Users should treat the system in the following way:
  • You are a tester, not a user
  • You should be communicative
  • You should be technically competent
  • You should accept missing features
  • You should not be demanding or impatient
  • You should not be adamant about using a specific strategy
  • You should do what works, not some idealism that you dream of
  • You should only change one thing at a time, firmware OR hardware OR engine, etc
In summary, the system is for those who wish to assist in development and testing. If you're going to be a burden to the developers, especially me, please hold off. If you're not going to communicate about your issues and observations, please hold off. If you're not going to be detailed and thorough in your install and setup, please hold off. If you're not a technical person and able to diagnose and debug issues, please hold off. IE, it's not for users, yet.

First Milestone

The first milestone for us is stability! We need the firmware to be stable and solid and clean. This will happen with 0.2.0 or 0.2.1 or some other minor firmware release. Stability must come first for a large number of reasons, some obvious, some less so:
  1. Our reputation is going to be based on quality, to spoil that early on would be a disaster
  2. Fancy stuff is of no use with a flaky changeable foundation - 600hp engines are no good with tiny brakes
  3. The cost of change with complexity is much higher - features must come last, IE:
  4. If features are added first, then overall development is much slower due to having to rework those features with other changes
  5. Engines are expensive, the firmware needs to be 100% right before too many more engines run, see 1
Right now all work that is being done on the firmware is work towards this, or minor essential features that existing users really REALLY need.

Second Milestone

The second milestone for us is adjustability. The system should be fully configurable over the wire using at least one external application. The core firmware side of this will be available very soon, however larger changes will be taking place to make things more fluid. These will be available in the 0.3.0 firmware release WITH a matching external tool of some type.

Motivations are again, obvious and non-obvious. Clearly everyone wants to just open a tool and tweak things without recompiling a binary. However, building configurations from source works, has worked and will continue to work, but only for a small group of users. As the user base has grown, getting a full representation of the data available in a PC tool has become an urgent priority. Likewise the documentation for the configuration and serial interface that allow real people to make sense of the options. The maintenance task for me in the firmware keeping track of all the configuration is increasingly painful and needs to stop.

Third Milestone

The obvious thing lacking from the above is hardware. Hardware solutions are springing up left, right and centre! There is enough stability to do a reasonable job of them now. However there is no guarantee that hardware built today will not need mods to work tomorrow. Mostly it's fine, but some things can change and do change, that cause hardware changes. The biggest thing for hardware layout is Sean's XGATE work, which will be available in the 0.4.0 firmware release. What this allows is for us to expand the potential user base to higher complexity and higher cylinder count setups. In the process it allows future-proof hardware designs to be built that will be usable with the latest firmware in a years time, hopefully. Until this point, things are volatile. You've been warned, many many times, but again now.

Fourth Milestone

All of the hard work is out of the way, what now? GP IO & Features! That's what! :-) The icing on the cake. Building the foundations has been fun, but has also been hard work. I'm really looking forward to icing the FreeEMS cake with lots of little treats and goodies. This will be the glitter that attracts the masses and because of the prior work the system will be ready for their arrival! Having a stack of "ordinary users" show up before this point would only be a burden and detract from the project goals. The GP IO feature set will be found in the 0.5.0 firmware release.

The Future

Who knows! Gadget stuff like interfacing with other devices on local and remote networks, fancy new decoders and fancy new features. The sky really is the limit! :-)

Summary

If it feels like this is firmware oriented, that's because it is. The firmware is by far the hardest part of this project and will always be the heart and soul of it. Indeed, it's the part that does the hard work on the car every time you turn the key. If you're interested in the gory details of what work is required before each release, take a look at the tracker roadmap here:

http://issues.freeems.org/roadmap_page.php?project_id=1

Fred.

Re: FreeEMS Project Road Map

Posted: Tue Nov 16, 2021 8:39 am
by Kenmogg60
Great progress and looking foward to assisting in the very near future.