View unanswered posts | View active topics It is currently Sun Sep 24, 2017 6:48 pm



This topic is locked, you cannot edit posts or make further replies.  [ 981 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 99  Next
Fred's firmware development diary 
Author Message
Moderator
User avatar

Joined: Tue Jan 15, 2008 2:31 pm
Posts: 14781
Location: Home sweet home!
Exciting news (well, not very, but a small claim to fame)

FreeEMS now has a feature that MS does not :-)

http://www.youtube.com/watch?v=iCgvZvybzBc

Low voltage detection and recording.

i.e. if your power feed is bad or you have noise on your lines dragging the CPU low, but not low enough to reset, you will see it in the logs.

Admin.

_________________
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!


Wed Mar 12, 2008 1:18 am
Profile WWW
Moderator
User avatar

Joined: Tue Jan 15, 2008 2:31 pm
Posts: 14781
Location: Home sweet home!
I have the pit timers running and doing something, but nothing useful just yet...

I'm working on it.

_________________
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!


Wed Mar 12, 2008 5:44 pm
Profile WWW
Moderator
User avatar

Joined: Tue Jan 15, 2008 2:31 pm
Posts: 14781
Location: Home sweet home!
Well, for the first time in 9 days, the code compiled and after another few minutes it looked like it might even do something :-)

Alas, it has a bug. I don't know quite what, but when you bang the reset button a tone proportional to input RPM comes out of the speaker for a split second and then it locks up and no other code runs. If you hammer the reset and a port H button at the same time, eventually you toggle the LED for port H interrupt code. This is happening in the short time before locking up. This narrows it down to injector code or ignition code. I'll check it out in the morning. Things should be up and running fairly soon. I'll have been caught out with pointer use somewhere... maybe some sort of array index issue. Not sure. Definitely resolvable though :-)

Admin.

_________________
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!


Fri Mar 21, 2008 1:02 am
Profile WWW
Moderator
User avatar

Joined: Tue Jan 15, 2008 2:31 pm
Posts: 14781
Location: Home sweet home!
After actually sleeping, I noticed this while commenting other stuff out to eliminate it.

Image

Of course, I quickly uncommented everything and this, and we are back closer to where we were, but still not all the way.

When wheel inputs now function again, but fuel and ignition are still missing for some reason.

Hopefully I'll iron that out some time today.

Admin.

_________________
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!


Fri Mar 21, 2008 9:42 am
Profile WWW
Moderator
User avatar

Joined: Tue Jan 15, 2008 2:31 pm
Posts: 14781
Location: Home sweet home!
He went that-a-way!

Image

I just proved that my pointers are pointing in random directions (and had breakfast).

PORTA being at 0x0000 has its advantages :-)

Hmmm, grep -rn PORTA . doesn't show me writing to it... yet its flashing proportionally to RPM... hmmmm.

Admin.

_________________
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!


Fri Mar 21, 2008 10:21 am
Profile WWW
Moderator
User avatar

Joined: Tue Jan 15, 2008 2:31 pm
Posts: 14781
Location: Home sweet home!
After trying all sorts of stuff to get it to behave, I moved the init of the array of pointers to the init.c file instead of global.c so that it was something run rather than something existing before runtime, and it works mostly.

It's a bit funny though, so more debug/understanding required.

Seems like its resetting constantly. Not sure why that might be, but I can test for it by displaying a clock variable on a port, and also some other counters that might tell me why it's resetting...

Target was 5pm release, I think I can manage that now, but we'll see. Only time truly ever tells if code will be good to go on time or not :-)

Admin.

_________________
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!


Fri Mar 21, 2008 2:54 pm
Profile WWW
Moderator
User avatar

Joined: Tue Jan 15, 2008 2:31 pm
Posts: 14781
Location: Home sweet home!
Well, it was definitely hardware! Interesting. Caps on the RPM inputs are a BAD thing apparently. Not only do they combined with the input resistor severely limit RPM, they also severely shorten the pulses, but worse, they do it in an rpm dependent way. I snipped the returns on the two H1 input caps and put bigger caps straight onto the adapt card. that made it worse, not better, so i put smaller ones in, better, took them out, perfect. strange.

I'll repeat this info in the hardware thread so other testers don't make the same mistakes.

The good news is that the code is a lot shorter and cleaner and works exactly as it did before :-)

This arvos release will be a good one hopefully, even if it doesn't have ignition working just yet.

Admin.

_________________
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!


Fri Mar 21, 2008 3:48 pm
Profile WWW
Moderator
User avatar

Joined: Tue Jan 15, 2008 2:31 pm
Posts: 14781
Location: Home sweet home!
viewtopic.php?f=8&t=93

0.0.9 released

get it here :

http://sourceforge.net/project/showfile ... _id=586108

0.0.9 (exponent) - 22/3/08
Refined injector control further
Implemented RTC in RTI for 1/8 milli, milli, tenths of, seconds, minutes each with 65535 max
Removed 6x duplication in injection_isrs.c by splitting to injector_isr.c and using defines and imports.
Added support for individual fuel pulse widths
Added latency adjustments and recording to minimum pulse width
Added code run time recording for each channel
Updated docs for injection algorithm
Added LVI interrupt logging to record low voltage conditions.
Added ADC sampling and flagging code
Heavily revised all fuel code to use arrays instead of defines.
Removed 6x duplication in the scheduler code
Tidied up MANY comments and code blocks a LOT

_________________
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!


Sat Mar 22, 2008 12:57 am
Profile WWW
Moderator
User avatar

Joined: Tue Jan 15, 2008 2:31 pm
Posts: 14781
Location: Home sweet home!
I should release a bug fix for the 0.0.9, but because no one is using it just yet, I'll just tell you that I have fixed it and it will be right in the next release.

If anyone needs the code for whatever, let me know.

I decided to try to verify the fix, and wrote the lost sync counter out to an IO port. Within a few seconds of operation I had a "lost sync". That could easily have caused the issues I was seeing. I'll changed that bugs status to fixed and get on with making ignition and injection timing a reality.

My initial simple attempt to fix injection timing failed. So, I need to try to understand what is going on there and resolve that.

Admin.

_________________
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!


Sun Mar 23, 2008 12:34 am
Profile WWW
Moderator
User avatar

Joined: Tue Jan 15, 2008 2:31 pm
Posts: 14781
Location: Home sweet home!
Admin wrote:
My initial simple attempt to fix injection timing failed. So, I need to try to understand what is going on there and resolve that.


X = Y > 1;

is not equal to

X = Y >> 1;

woops :-)

It works now.

It needs prediction so that it can come closer to the maximum amount during dynamic situations, but, currently limiting to half of an engine cycle or 0xFFFF (whichever is smaller) works pretty well.

On with ignition/staging (which are more or less exactly the same) :-)

Admin.

_________________
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!


Sun Mar 23, 2008 12:22 pm
Profile WWW
Display posts from previous:  Sort by  
This topic is locked, you cannot edit posts or make further replies.   [ 981 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 99  Next

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software for PTF. ColorizeIt.