Fred's firmware development diary

Official FreeEMS vanilla firmware development, the heart and soul of the system!
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Fred's firmware development diary

Post by Fred »

The makefile now half works again, and works better than it ever has along with being cleaner than it ever has been. I've said this before, but I expect to have it completed by tonight.

Currently it is building preprocessed C files from source, assembly from those and object files from those, taking it the next step to get output files and what have you should be a few hours work tops.

The new structure supports multiple instances of the decoder file and creates multiple instances of the s19 file as a result. It doesn't actually do that just yet, but it's ever so close.

In future a nice addition might be to add targets for each type of s19 such that an impatient developer can work on one at a time more quickly. The multi build should be retained though.

Time for some more work work now.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Fred's firmware development diary

Post by Fred »

The make file builds and cleans correctly now. I've pushed the changes and users that give it a while should expect to see the following goodness :

Code: Select all

/home/user/workspaces/home/freeems-vanilla/src> l firmware/
total 1528
-rwxr-xr-x 1 user user 149040 2009-01-11 22:13 freeems-0.0.19-LT1-360-8.gc.s19
-rwxr-xr-x 1 user user 149050 2009-01-11 22:13 freeems-0.0.19-LT1-360-8.s19
-rwxr-xr-x 1 user user 149036 2009-01-11 22:13 freeems-0.0.19-MiataNB.gc.s19
-rwxr-xr-x 1 user user 149046 2009-01-11 22:13 freeems-0.0.19-MiataNB.s19
-rwxr-xr-x 1 user user 149040 2009-01-11 22:13 freeems-0.0.19-MissingTeeth.gc.s19
-rwxr-xr-x 1 user user 149056 2009-01-11 22:13 freeems-0.0.19-MissingTeeth.s19
-rwxr-xr-x 1 user user 152260 2009-01-11 22:13 freeems-0.0.19-NipponDenso.gc.s19
-rwxr-xr-x 1 user user 152274 2009-01-11 22:13 freeems-0.0.19-NipponDenso.s19
-rwxr-xr-x 1 user user 149040 2009-01-11 22:13 freeems-0.0.19-Subaru-36-2-2-2.gc.s19
-rwxr-xr-x 1 user user 149056 2009-01-11 22:13 freeems-0.0.19-Subaru-36-2-2-2.s19
on windows you will only get :

Code: Select all

/home/user/workspaces/home/freeems-vanilla/src> l firmware/
total 764
-rwxr-xr-x 1 user user 149050 2009-01-11 23:12 freeems-0.0.19-LT1-360-8.s19
-rwxr-xr-x 1 user user 149046 2009-01-11 23:12 freeems-0.0.19-MiataNB.s19
-rwxr-xr-x 1 user user 149056 2009-01-11 23:12 freeems-0.0.19-MissingTeeth.s19
-rwxr-xr-x 1 user user 152274 2009-01-11 23:12 freeems-0.0.19-NipponDenso.s19
-rwxr-xr-x 1 user user 149056 2009-01-11 23:12 freeems-0.0.19-Subaru-36-2-2-2.s19
Beware that :
  • The makefile isn't complete
  • The docs in it aren't up to date entirely
Enjoy :-)

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Fred's firmware development diary

Post by Fred »

Updated the make file to report image size again, lin only this time. Split the fixed config into sub structs and added to data map function such that subsets can be burned etc. More docs etc added, and pushed to the server.

Don't be shy about decoders. Also don't be shy about PIT experimentation. Both are useful things to play with.

Get gitting.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Fred's firmware development diary

Post by Fred »

Just pushed a few more minor changes up :-)

Today's work was writing an uber simple test utility for generating worthwhile data when you don't have a stim available. I also did some more docs etc.

This week has been really busy at work, but I'm doing pretty well there so far. Hopefully I can stop working late and drinking etc and get a bit more work done on this.

19 should be out by now really, but not to worry, now that git is there it's 6 of one and half a dozen of the other whether I release or not.

I'd like to have the docs in good order such that they are a reasonable reference for the future up until 20.

Maybe we could get someone to setup and host a nightly build? Just build the docs and host them each night straight out of git. Maybe even build the firmware and host it too? Not sure.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Fred's firmware development diary

Post by Fred »

Code: Select all

  15756   43069       0   58825    e5c9 (TOTALS)
################################################################################
#                    Add one decoder to the total above and                    #
#                   subtract the size reported for freeEMS.o                   #
#                   this will give you the actual image size                   #
################################################################################
#                                                                              #
#                  Thank you for building FreeEMS firmware!!!                  #
#                                                                              #
################################################################################

real    0m6.582s
user    0m4.240s
sys     0m1.000s
only 6.5 seconds on the EEE, not bad, esp not when building 5 different s19 output files :-)

I've now split up the other config block and will push up that change soon.

I've also remembered that the eclipse style helper is totally configurable, so I'll probably be getting that setup nicely and run it over the entire code base soonish. I'll then commit the exported style guide to the docs/ dir and anyone can use it without messing up the code.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Fred's firmware development diary

Post by Fred »

I think it's time to prepare for another release.

Things I need to do :
  • Finish the Makefile and make sure there is one that works on winblows
  • Organise a split timer interrupt init function for the decoder devs to place their code in
  • Finish the docs on the code to a reasonable level
  • Have a close look at the eclipse config files and commit a good set of values there
  • Setup the eclipse formatting stuff and export and checkin the file
Probably around next weekend?

I'm heading into work tomorrow to create a maven2 war deployment project and tidy up loose ends here and there.

With a bit of luck I'll get that knocked out quite quickly and have tomorrow to tidy things up on the firmware side a bit further.

In other news I just learned about mylyn for eclipse... it integrates with mantis! so I can have it talk to me about bugs and stuff as I code, pretty sweet. I may set that up at some stage, but not any time soon.

Targets for the next release 0.0.20 are :
  • Serial implementation tidied up and modified as discussed
  • Serial docs tidied up to match actual implementation
  • Serial data description json or xml stuff all done and being used by Aaron
  • New scheduler for events and improved NipponDenso decoder
  • More configurable items to control everything within the firmware from outside
My goals for Aaron are to keep up with me ;-) Hopefully that stuff is enough to run the engine if he can keep up. We will see.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Fred's firmware development diary

Post by Fred »

Makefile TODO :
  • Replace suffix literals with variables
  • Bring inline documentation up to scratch with the actual make code
  • Document the makefile and it's operation in a doxy.h file
  • Update the .PHONY entries to be accurate
  • Look into the create directory win issues
  • Create release target and dependency tree
  • Finalise the dependency tree(s) for normal operation
  • Setup fast compilation target and dependencies
  • Add debugging information generation back in again
  • Add loader functionality as top level of tree(s)
Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Fred's firmware development diary

Post by Fred »

I did some further documentation and tid bits yesterday and today.

Tonight I exported my SVN to git and then successfully performed a baseless merge of the export and the current public master. This means I now have a full record of development in git for the project. I don't think I'll release it, but I will generate some stats from it for interests sake :-)

first up :

Code: Select all

/home/user/freeems-vanilla-svn> git diff --shortstat 8f3ef34b85d483bf7580a8f7833222e7370db0a4..HEAD
 218 files changed, 24774 insertions(+), 3836 deletions(-)
Full change history.

I'll get around to tagging the releases and doing deltas on each pair at some stage.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Fred's firmware development diary

Post by Fred »

If I work hard I'll have the docs complete enough by the end of tomorrow. This will leave me some time to work on the makefile on thursday and the style and settings on friday and tidy up loose ends for the weekend. It will be nice to have some decent online docs for the code so that anyone can read it and grok it.

Work is busy at the moment though, so there may be late nights and weekends again... We'll see. At least the work is good work and fun to do. If it was crap and long hours... that would suck!

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Fred's firmware development diary

Post by Fred »

I have the docs in a reasonable state, I just need to update the change logs file with the latest occurances. The make file is now knocking out debug info again, did that this morning. I'll try to get the make file more complete on the way home and do a release this evening. Pretty exciting because I'm starting work on the serial changes, scheduler and nippondenso decoder again :-)

If Jared would be so kind as to download the latest doxygen 1.5.8 binary from the doxygen site ready for generation of the page that would be most excellent. Or perhaps I will do it this time? The change logs and release notes live in the doxygen output now so that needs to occur with each release fairly promptly, or even before uploading to sourceforge?

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
Locked