It's time for another update!
New firmware release : 0.0.19 Doxygenated
Three weeks ago I released the 19th version of FreeEMS into the wild with the name Doxygenated. This release contained almost no further functionality but, significantly, is fairly completely documented in the source code and other sections. I hope to grow this documentation and keep it up to date as the code matures and becomes more functional.
You can find the documentation here :
Note the related pages section which contains some good information on a various aspects of the system. Many of these pages are still in draft form, but as mentioned they will grow and mature with time.
Included in the new documentation scheme are online release notes and change logs :
All previous change log and release notes entries are available linked from the same pages :
Previous Change Logs
Which reminds me, the Makefile no longer works on Windows without cygwin (that didn't last long) AND the Makefile now builds multiple output files with a different wheel decoder each. Only two of these do anything at this time, but that number is sure to grow a bunch in the medium term. I find this situation vastly superior to having to configure one from 20 and being able to mess up the selection and configurations surrounding it. Each file is named appropriately such that you can't possibly put the wrong thing on your controller. Less configuration and smaller code size FTW!
Slow pace of development so far in 2009
Since January I've been working on a new project at work. I was keen to make an impression and do an excellent job so I've been putting in a lot of hours on it to make sure it all goes 100% right.
I've managed to get two successful releases out to the client since then and brought the project into line with all of the best practices that I know of. The release before I joined the team was generated by hand using eclipse and no versioning or tags etc. The next one was built by maven two but manually adjusted to use different library jars and a config manually updated. The last one was built by maven two including libararies with only the manual config change. The next one will be 100% automated meaning better repeatability and reliability and exposure of all metrics surrounding the code.
They seem to be liking what I am doing as I'm now in charge of all technical aspects of the system, officially in charge of 3 of the devs and unofficially in charge of another two.
Hopefully the pressure is off a bit now that we have the system more or less under control. The remaining work is BAU stuff like adding features and removing bugs and making it faster and more usable. This means more time working on FreeEMS again.
The FreeEMS development team
I'd like to welcome Philip Johnson to the project. He has already written a basic 36-1 missing tooth decoder and picked up the use of Git to achieve integration of that into the core branch. Some of you may remember Phil as the man that ported the B&G MS2 code from the broken CodeWarrior compiler to GCC forming the basis of what is now MS2Extra. We should all be thankful to Phil for that achievement as everyone knows MS2Extra J&K >>>> MS2 B&G. I'm really looking forward to working with Phil to produce a really good system that gives people no reason to not use it.
The addition of Phil to the team means that we now have :
- 3 Firmware devs
- 3 Tuning app devs
- 8 People with TA card hardware
Plus the large group of interested parties contributing ideas and constructive criticism to the discussions on the DIYEFI.org forums. One further firmware developer is due to start writing Subaru code any day now and with a bit of luck AbeFM will get stuck into some quality PID code and an NB decoder too ;-)
These numbers are about to increase as four days ago the Helsinki University of Technology's Formula SAE team, "Otaniemi Flying Finns", announced that they intend to use FreeEMS to power and control their FSAE car in the 2009 UK competition at the Silverstone race track. I wish them the very best of luck with their racing endeavours and FreeEMS development too.
In other news, the network graph on github is quite interesting at the moment :
As I'm sure you are aware, running a website and buying all sorts of parts and tools for development costs money. Additionally, my time is valuable and I contribute almost all of my free time to making FreeEMS a success. A few people have decided to acknowledge that and donate to the project cause.
One generous individual anonymously donated 500 USD to the FreeEMS project using the pledgie campaign site and for this I am most grateful. This will make getting the bits I need for development a lot easier. Thank you very much! The same person donated a TA card to our tuning author for testing purposes. Again, thanks for that, most useful!
Alan To from http://www.14point7.com
donated two JAW
wideband kits (1.03 and 1.041) to me for testing purposes. I intend to assemble one of these fairly shortly and install it on the test vehicle before I try to use FreeEMS to run the engine. Again, thank you very much for this, Alan, it is most appreciated.
If you don't have a clue what you are doing when it comes to software or hardware but have some spare cash and want to help the pledgie site is available to assist you doing this :
I would like to see Jared and Phil have accounts listed there too such that donations can be directed where you feel they should go.
Any funds that I receive will go towards the following things :
- Web site running costs - domain names and hosting etc.
- Electronic supplies - Components, PCBs and sensors etc.
- Providing test rigs to intelligent and interested but poor potential contributors.
- Tools - meters, scopes, logic analysers and soldering equipment etc.
- Fuel and replacement engines (assuming the worst) for testing purposes.
In that order. In the future we could add a bounty system where you request a feature, put a price on it and someone can pick that work up and get paid to do it. The whole community benefits from that sort of interaction so it is a very good thing to do. For now though we need to focus on the basics and getting them 100% right.
Git Pecha Kucha Presentation
I decided to do a presentation on Git to a group of people from the company I work for in London... Well, just my luck, 1/3 of the way through I started getting a cough and could barely breath or speak due to it and trying not to cough loudly. This threw my confidence off and when I left the front I was sweating quite a lot. It was quite hot in there, but not that hot. Fortunately the video looks a LOT better than I felt, so I'm not too embarrassed to post it up. Audience was about 50 developers and business consultants in the financial sector, central London.
The video is available here :
The slides in M$ PPT format (I had to...) are available from here :
I'll add the OO version when I get a chance.
What is planned?
A lot of the stuff that was planned for 0.0.19 has been pushed forward to 0.0.20 due to time issues. Additionally I intend to have a scheduling implementation completed before 0.0.20 is out. This combined with shared inline function code for the actuation of fuel and ignition channels and a split out timer init function will pave the way for decoder contributions from anyone that wants to step up and help.
0.0.20 will released when it is logical to do so. I expect that there will only be a few more 0.0.X versions released because as soon as an engine runs on FreeEMS a landmark version 0.1.0 will be released. I was originally planning end of February for engine running time, but a few things got in the way so it has been delayed slightly.
The next 6 months should be a VERY exciting time for Free and Open Source Software in the automotive arena as months of hard work start to come to fruition for everyone's benefit :-)