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 »

I did the first OLV release tonight! The stage is set for more, as the ground work is done now, excellent! :-)

viewtopic.php?f=32&t=1426
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 »

Lots of great firmware work recently, and MTX and OLV and Loader work too :-)

Today I finally got around to updating the comms doc for the firmware:

http://docs.freeems.org/VanillaSerialPr ... -0.0.3.pdf

Pretty professional IMO! Thanks to John (tramp) for his assistance on all things LaTex some months ago, and more recently too. There is a lot more good stuff to come docs wise :-)

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 »

Today there was a bit of drama over #443 and MTX failing to interract with the firmware successfully and correctly, so I drew a diagram for Dave:

http://stuff.fredcooke.com/InterractingWithFreeEMS.png

Lots of stuff missing, salmon = FreeEMS/Plugin, blue = tuner/framework.

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 »

THREE LONG YEARS this bug has existed and today, I beat it :-)

http://issues.freeems.org/view.php?id=81

CLOSED!!!

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 »

When I put that fix in it caused another weird issue that took me a little while to understand, but today I bet that too. Now the comms appear to be perfect in the way that they function, which is really nice! Epic throughput and epic full duplex etc. Only one small fix to make now, remove the checksum stuff from being dymanic and then eventually swap to CRC instead of simple checksum. However, it's 2am and it's time to clean up and hit the sack for the night.
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 »

Git wrote:Auto packing the repository for optimum performance.
My first time! <3

Code: Select all

FreeAir:src fred$ git rebase --continue
[detached HEAD d606603] Move checksum calculation to commsCore.c from the ISR, more generic and less time in ISR, though probably slightly more time overall. Required for CRC in future and fixes issue #152 "remove checksum from ISR"
 3 files changed, 18 insertions(+), 51 deletions(-)
Auto packing the repository for optimum performance. You may also
run "git gc" manually. See "git help gc" for more information.
Counting objects: 4378, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4307/4307), done.
Writing objects: 100% (4378/4378), done.
Total 4378 (delta 3266), reused 0 (delta 0)
Removing duplicate objects: 100% (256/256), done.
Successfully rebased and updated refs/heads/master.
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 »

Final improvement for the serial stuff in terms of transmission, which is the bulk of the work done, is 3.5us >> 2.65us for TX bytes in the stream. Not bad!

More details here: http://issues.freeems.org/view.php?id=475

I need to perform some ravaging today, then onto missing tooth temporary fix, then back to bench marking, with an assortment of other stuff thrown in for good measure.

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 »

Update on HW!

A certain project which everyone has BIG hopes and dreams for is back on the rails and being worked on! There was a small hiatus, however all is well again. I'd better make some good progress on firmware issues in the next few months or I'll get behind the 8 ball :-)

Hooray for HW progress, especially WITH direction, a clear goal, and good consultation/communication. This is my measure of success for this forum, IE, massive peer review and top notch output as a result. I guess that we're doing alright! :-)

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 »

OK, got PISSED OFF with the lack of reliability of the JimStim (it DOES have James' name in it...) and added a missing tooth hack to the Bench Test decoder:

http://stuff.fredcooke.com/12minus1plus.cam.sync.png

I have three refinements to add to this such that I can do full testing, though it'll still be hack at the end of the day. Proper hard core bench test stuff can come later, this will get me up and running without the JimStim in the short term.

I should have taken up the offer for the full on function generator loan that I was offered a while back...

BTW, this is configurable to any number of base count up to 127 with one missing, minus 2 is not supported, yet.

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 »

With 12-1 it's good to 31250+ and with 60-1 it's good to 6250+, with 36-1 it's good to 10400+

On the low rpm side of things, numbers are

60-1 19rpm
36-1 32rpm
12-1 95rpm

60000000 / (baseteeth * toothperiod * 0.8)

tooth period seems fine between 200 and 65535, 150 was not OK, but was nearly OK, I didn't test in between, hence + figures.

This is all assuming crank use.

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