FreeEMS Goals discussion

Official FreeEMS vanilla firmware development, the heart and soul of the system!
User avatar
jbelanger
LQFP144 - On Top Of The Game
Posts: 387
Joined: Sat Feb 23, 2008 8:58 pm
Contact:

Re: FreeEMS Goals discussion

Post by jbelanger »

Admin wrote:
As I've said before, I think that if you can do more, you can do less.
Can you explain that a little more please?
I simply mean that if you have all the processing power,variables, I/Os, ... in place to do COP/sequential for 8+ cylinders then doing dizzy/TBI should be easy because you'll only use a small part of the aforementioned resources.

If you structure things accordingly, you can do any number of injectors regardless of the number of cylinders by just using the number of injectors as the basis of the fuel computations and timing. If you can do wasted spark and COP then you can multiplex 2 cylinders on one output so why limit this to 2 cylinders and not generalize it to all cylinders?
Admin wrote:
While the single spark/injection output are special cases, they are really not complex to implement. The difference between a 4-cylinder engine with four spark outputs and a 4-cylinder engine with a single spark output is that in the latter case, you toggle the same output instead of 4 different outputs. The same is true for injection. If you want to check if you have overlapping dwell, in one case you divide the available time by 4. I don't think this is a lot and it allows more flexibility with little cost (in my mind).
I agree that it isn't complex to implement, but why even allow an option that gives substandard performance when there are lots of ways to get substandard performance. I tend to think that people will do what they need to to use a good product. For example until James and Ken were kind enough to release the first alpha ms2e 2.0 code I was going to use EDIS (YUCK!!!) because I couldn't have a dizzy in my application (and because dizzys are no good at 11:1AFR and 27psi with good flow anyway). There is no way I'd choose to use EDIS, but I went out of my way to obtain those parts from the other side of the world for the ability to use MS2 in my application. Therefore I think if you say "no dizzy support" though people may grumble, once they install dual post coils and stop changing points, caps and have shorter leads, in the long term the ones that grumbled will be thanking you for making them do it "right".
I am well aware that little cost items when in a large number become too much but I don't think this is one item where there is a need to cut.
It's not a need, but rather a desire.
And who's to say that what you desire is what is best for everyone? You want to get away from one system to create something better but you start by putting your own desires as system limitations. If they are justified by performance, cost, complexity, or other major issues then fine but don't put things aside based on your own idea of what should be considered a good setup.

There might be very good reasons to go with a dizzy/TBI setup on a specific engine for whatever reason (e.g., parts availability/cost) and going with a future FreeEMS because of the nature of this EMS and the fact that someone might have many project cars and they don't want to have X,Y,Z (more costly) EMS but keep the same EMS for all. I don't think they should be prevented from doing it because someone judged that their setup is not worthy of FreeEMS. I know that this is not what you're saying but even if you don't want FreeEMS to cater to every possible engine setup, it would be good to keep limitations to something other than "desires".

Reading again what I just wrote, I may be putting too much emphasis on the word "desire" and I think I understand what you meant which is a bit different than what I wrote. However, I hope you see my point about what could be seen as arbitrary (that word again ;) ) decisions and the desire ( :) ) to steer clear of those.

And having said that, you can just ignore me because you're the one doing the work while I just smile looking at your videos and see how you've used the JimStim in a truly original way. :D

Cheers,
Jean
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: FreeEMS Goals discussion

Post by Fred »

It's 3:00am, and I should be in bed, but I've been learning the ins and outs of multi threaded embedded code ;-) so I'll just say one thing (and not more from fear of saying something silly)

You may have misunderstood me, the desire is not to not use a dizzy on my own cars, indeed, that is a hard and fast RULE as they are just a maintenance headache and a source of trouble no matter how well maintained, along with being generally poor performers.

Instead what I meant was that it is a desire to not support legacy methods. To not support low performance sub optimal solutions when MUCH better ones are readily available for very very cheap indeed.

You've got to remember that it's 2008, not 1968 (though, god, don't we all wish it was...), and although some of the cars that you love and I love came from back then, if you are effectively removing any sort of vintage aspect by fuel injecting it and making it go fast, then switching to a FAR superior ignition system is of a very minor concern.

Also, typically the swap to non oem fuel injection or to fuel injection at all IS driven by a desire for a gain in performance. It just doesn't work how Lance might like it to, i.e. people don't do it soley for the educational aspect. At least, not many of them anyway.

One must also remember that I started this thing in the knowledge that I could pull it off single handedly. I am still certain that I can. It does not bother me if I end up the only person that ever uses it, though I'm certain that that won't be the case either.

Having somewhat blurily thought about this while typing I am sure you are right that it's a good idea to leave it in. However, the triggers used MUST be capable of accurate wasted spark at the absolute least. On that I will not budge a 1/1000 of an inch or 0.0254mm.

I'd much rather do a brilliant job in a narrow way than a "half arse" (did you watch that movie yet?) job for a wide audience.

I've typed far too much, it's probably safe to ignore a fair bit of it.

Off to bed... 3:20am

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!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: FreeEMS Goals discussion

Post by Fred »

jbelanger wrote:You want to get away from one system to create something better but you start by putting your own desires as system limitations. If they are justified by performance, cost, complexity, or other major issues then fine but don't put things aside based on your own idea of what should be considered a good setup.
Also, I do not want to get away from one system, I want to get away from the rotten politics and under the table antics and behind the scenes BS caused by no one beiing able to speak their mind or move how they want to.

If no one helps and I create a cop/seq only ems that kicks arse at that and has rudimentary hardware, but is totally open and free, those that do not like it how it is WILL fork it and make it into the system that they see as best. because its free. The key point here is to have a clear goal of a good starting point and to build that to completion. After that, anything can and will happen to both code and hardware. well beyond what i can currently even begin to think about.

I love "The Who".

Over and out.
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: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: FreeEMS Goals discussion

Post by Fred »

Having had a few hours sleep and tidied up the code for release 0.0.5 this morning, I have an example to give :

http://www.sdsefi.com
SDS wrote:SDS offers 3 basic units to cover most popular applications:

# EM-4 D: provides control of fuel injection only for Wankel 3,4,5,6 and 8 cylinder engines.
Details

# EM-4 E/MSD: provides fuel injection and crank triggered ignition control on 4, 6 and 8 cylinder engines equipped with a distributor and aftermarket spark boxes like MSD and Crane.
Details

# EM-4 F: provides fuel injection and crank triggered, distributorless ignition control on 3, 4 and 6 cylinder engines.
Details

# SDS is not intended for use on engines with siamesed intake ports or on TBI systems (less than 1 injector per cylinder).

# SDS does not use RS232 communication protocol and is not laptop compatible.

# SDS is not compatible with OE crank sensor systems.

# Not compatible with OE air idle control systems.
It would appear that they do do dizzy, but you have a fixed input scheme and 1 injector per cylinder restrictions. By far most sds installs are wasted spark in my experience. It's not a particularly good system, it's not that cheap, the "simplicity" more often leads to people having a poor state of tune for their engine. Yet people flock to it.

SDS does do simple gear well for better or worse, but the point is, they narrow down and restrict the audience a lot (and they have money to make, we don't) and still get plenty of people forking out large sums of cash for it.

Point is, its VERY MS specific to try to look after every minority group the way it does. I think the project has suffered for it in some ways. Early on though, it only took basic triggers and was till popular. Why build something that does the same thing as something that already exists that does that thing well. Why not build something that fills a gaping hole in a most excellent way?

Anyway... sure, dizzy/single point of injection per engine/batch can stay, but anyone that uses it is forbidden from whinging that it doesn't work very well :-p

LOL, right, onto that release!

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!
User avatar
jbelanger
LQFP144 - On Top Of The Game
Posts: 387
Joined: Sat Feb 23, 2008 8:58 pm
Contact:

Re: FreeEMS Goals discussion

Post by jbelanger »

I agree with a lot of what you say and not about a few things but mainly I do agree with this:
Admin wrote: After that, anything can and will happen to both code and hardware. well beyond what i can currently even begin to think about.
I think you're right and I have been "contaminated" by some of the MS thinking. I should now change what I wrote before to: if you can do more, I can do less. :)

As long as the code is well structured and commented, it will just be a question of modifying it to suit my needs. And if I say it's easy to implement then I shouldn't complain about having to do it. :) And after having gone through the MS code a few times with different releases, it won't be difficult to produce anything that's easier to follow, modify, and maintain. While I'm thinking about it, I haven't yet looked at your code, but please makes sure you keep interrupt routines short.

And I did watch the movie. I liked it but I think I'm missing a few reference points. I'd like to visit sometimes but I'm sure things have changed in the last 28 years.

Cheers,
Jean
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: FreeEMS Goals discussion

Post by Fred »

jbelanger wrote:I think you're right and I have been "contaminated" by some of the MS thinking. I should now change what I wrote before to: if you can do more, I can do less. :)
That's the DIYEFI.org spirit!!
As long as the code is well structured and commented, it will just be a question of modifying it to suit my needs.
I'm trying my best! :-)
And if I say it's easy to implement then I shouldn't complain about having to do it. :)
Complaining about open source stuff in general is just poor form, I've sent a few fairly scathing pms to various ungrateful MS users over the years who have been rude enough to say it in less than complimentary ways.

Live by the sword die by the sword right? If you don't like it, do it better yourself? :-) Let's give it a go.
And after having gone through the MS code a few times with different releases, it won't be difficult to produce anything that's easier to follow, modify, and maintain.
Amen to that! I feel it should be pointed out what the reasons for this are though (at least partial reasons) :

Legacy design instead of clean slate (we have this sorted)
Incapable hardware being stretched leading to over optimised code (We'll fall victim to this less, but our chip is still no mpc555X...)
Trying to cover any and ever user request (to a point) (THIS is what I am trying to avoid, particularly where there are other things that will do for those minorities and the code is highly specific to them)
While I'm thinking about it, I haven't yet looked at your code, but please makes sure you keep interrupt routines short.
They'll only be as long as they have to be to do what they have to do, for example, the portH interrupt goes like this :

switch (masked port h flags)
case h0 :
if
set x = 1
else
set y = 0
case h1 :
ditto
case h2 :
ditto
case h3 :
switch(existing variable state)
1
set 2
2
set 3
....
10
set 12
12
set 1

exit stage left :-)

as far as i can tell its not possible to make that function any shorter and still do the same thing in an obvious clean way.
And I did watch the movie. I liked it but I think I'm missing a few reference points.
Start a thread in the lounge? I'd be happy to fill you in on whatever you are missing.
I'd like to visit sometimes but I'm sure things have changed in the last 28 years.
You can still rent minis... no, I jest, Auckland (at the beginning) is very much changed, and various other aspects along the way have changed somewhat, but the small town aspect really hasn't changed all that much :-) (suburban invercargil still looks like suburban invercargil etc) I doubt some of those sweet gravel roads in the south island are still gravel though :-( I LOVE gravel, so much fun sideways at 100mph! (If you have the balls/stupidity and skill/luck)

If you do, I can recreate a cop chase for you no worries.

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!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: FreeEMS Goals discussion

Post by Fred »

Thinking about this some more...

I don't want to be a part of building a commercial grade solution where the user doesn't have to think and gets it all on a platter. I think that is one thing B&G do right, i.e. support for people who buy premade gear should be provided by those that made it.

This site is supposed to be targeted at DIY car/electronics/code people or at least those willing to experiment and learn, not just any old car enthusiast that wants a cheap EMS that works with their obscure trigger type. If they aren't willing to do something so basic and desirable as swap to wasted spark and a decent crank (optionally plus cam) trigger system, are they on the right site??? I have serious doubts as to whether they are in that case.

It's a shame other members aren't piping up and having their say here too.

My strong preference is to fill the hole in the "market" that exists and will continue to exist without my/our intervention that is a HIGH performance EMS that is cheap and able to be built from the ground up and modified in ANY way. Dizzy does NOT fit "high performance" at all. Even on decent 4 cylinder engines it is marginal at best.

Enough of that for now, on with other things like timers :-)

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!
User avatar
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: FreeEMS Goals discussion

Post by AbeFM »

I've been meaning to chime in but I never get long enough to read more than one post at a time, so collecting several worth of info and saying something intelligent takes more time than I often have for something complex and political. For technical stuff, it's easy. :-)

To the point at hand, as 'makers of things' you both are missing (admin more) something - it's very easy when you make something yourself, to skim down the comments and get an understanding of what's going on and tweak it for some change you want. Most people - and when I say most, I mean well over 99%, aren't going to want - or even be able - to do this sort of thing. Now a finished black box, fully supported and guaranteed to make any car run in any application is a bit extreme, but there is a lot to be said for "packaging", and folks will be able to contribute if there is something to get them started.

How many MS would you see around if not for places like DIY distributing things with near pnp write up for each car? The interesting thing is, it's a numbers game. 1 really motivated guy will come up with 10 ideas a year. 100 less motivated/capable guys will come up with 20 ideas per year between them. So there's something to be said for spreading the product out. No, you're not taking on responsibility, but you can make it more generally useful, and it's easy to over focus on one situation and miss out on something you can do as well by leaving things accessible.


Here's another way to think about it. MegaTune basically just gets in your way. There's nothing it doesn't do you couldn't do by hand at least as well, by writing ini and msq files. But the mere fact that it's easier to work with means it's what you're going to use, hands down. I think it would be a mistake to design something with this much potential at not leave it highly accessible.

Other than that, I agree with Jean's statement - and admin's implied one: The easier it is to understand and better commented it is, the easier it will be for someone taking a passing interest in it to make progress and meaningful contributions.


As far as telling people who want to run dizzy or something to check their projects at the door... I dunno - I like to see things incorperated, otherwise you spend a lot of time taking the features from one version and trying to get them into yours, and nothing works quite the same and it's a real PITA to keep track of. Insofar as the code is somewhat modular and commented, you should be able to present it and have it incorporated - even if it's not compiled every time. :-)

I dunno, talking in circles now, but I have a strong sense that while you don't want to coddle people, you run the risk of keeping people outside who'd have a lot to contribute - who see things a different way, etc.
User avatar
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: FreeEMS Goals discussion

Post by AbeFM »

Oh, and, for "high" performance, there is a lot of untapped power in this box. With all those outputs there is uselss stuff you can do, not performance oriented at all. tire pressure monitors, mixing your own fuel, video games, etc. I don't care - leaving it open ended for folks who don't mind doing the work themselves is good, but leave them feeling like there can be a two-way exchange of information.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: FreeEMS Goals discussion

Post by Fred »

Firstly, Thanks for posting here Flacid, I think this is one of the most important threads on the forum by far at this stage. Your thoughts are more than welcome! As are everybody else's whether we agree or not!
8InchesFlacid wrote:As far as telling people who want to run dizzy or something to check their projects at the door... I dunno - I like to see things incorperated, otherwise you spend a lot of time taking the features from one version and trying to get them into yours, and nothing works quite the same and it's a real PITA to keep track of. Insofar as the code is somewhat modular and commented, you should be able to present it and have it incorporated - even if it's not compiled every time. :-)
The thing is, I know if I had an engine with a dizzy and it was NA and I wanted it to run well for cheap, I would get a 250us ms2/v3.0 kit (even when this is up and humming) and use that. If its NA then it doesnt need sequential really. If its NA 4 or 6 pot with moderate rpm then it doesnt need wasted spark, why spend the extra TIME and money on a fully DIY setup for a "make it work now" type of engine? especially when there are other perfectly acceptable solutions available for such mild setups that work so well. MS2E works damn well no matter what anyone says, it's a standard of performance to aspire to in my eyes. Other aspects I wish to improve upon in different ways.
you run the risk of keeping people outside who'd have a lot to contribute - who see things a different way
That is a good point that should be considered carefully. Still, I'm keen for it to be done with numbers in a generic way, if crappy dizzys fit that bill by all means yes, but if there need to be nested IF's to handle them when there wouldn't be otherwise, I'm strongly anti it. Dilution of the project is the last thing we want.

I had some wise words sent to me earlier, here they are :
Like every other successful project, I think that the ultimate success
depends on the very first design decisions. The message, vision, and path
of the project should be carefully considered at the very onset. If it can
remain consistent with consistent expectations along each step, then all
those involved will be very happy - this will undoubtedly lead to success.
If not, people will get their feelings hurt, feel disenfranchised, etc. -
this will undoubtedly lead to failure. Having been involved in a couple of
startups, believe me... I've seen both happen :-). It's true that one big
difference is that startups involve money and this doesn't, but I don't
think that changes the requirement...
Thanks to that person even if they don't sign up here! Most appreciated. :-)

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!
Post Reply