Page 1 of 2

Discussion of contributions to MS2/extra

Posted: Sun Feb 05, 2012 4:40 pm
by gslender
Ken, so what is the guidance here? Is ok to publish mods against the official release (in accordance with the license terms, provided freely to msextra, with no strings etc) or would this activity of adding a feature be severely frowned upon?

I appreciate that it is the msextra's team desire to limit further development and enhancement of ms2, but does that also mean that any community enhancement submitted will be restricted too?

G

Re: Ideia: AFR safe cut

Posted: Sun Feb 05, 2012 5:47 pm
by muythaibxr
gslender wrote:Ken, so what is the guidance here? Is ok to publish mods against the official release (in accordance with the license terms, provided freely to msextra, with no strings etc) or would this activity of adding a feature be severely frowned upon?

I appreciate that it is the msextra's team desire to limit further development and enhancement of ms2, but does that also mean that any community enhancement submitted will be restricted too?

G
We are OK with enhancements being added provided that they don't duplicate functionality we've already added to ms3.

Ken

Re: Ideia: AFR safe cut

Posted: Tue Feb 07, 2012 9:50 pm
by dontz125
Hi, Ken.

I can appreciate the desire to 'nudge' people towards the MS3 platform if they want the latest and greatest in features, but I have to question the notion of a 'hard stop' to MS2 development (within the capacity and capability of the processor and memory, obviously). The MS2 processor IS still a main-line MS product; the MS2 daughter card (and associated kits) are still being produced and sold hand-over-fist, and the MicroSquirt and MicroSquirt Module line has no MS3 equivalent.

There are many people clamoring to buy the new MS3 processor and MS3x expansion board. Is it really necessary to declare an end to MS2 coding beyond tweaks and fixes?

Re: Ideia: AFR safe cut

Posted: Tue Feb 07, 2012 11:08 pm
by gslender
Just for context - I think the MS3 feature and capabilites for Maximum AFR Safety System is considerably greater than the proposed Safe AFR spark cut where the AFR vs AFR target varies by Z (and perhaps with a rpm > X and map > Y). There would be no AFR difference table, no fuel kill or wait timer, no warning output - just a simple spark cut based on 3 user defined variables (XYZ) to eliminate damage to the engine should the AFR go way outside the target.

Just like the idle up features, VE table resolution, and real-time config update - they exist in MS2 because they can, but way better versions are available in MS3.

Reasons for allowing it in MS2 is that it helps people appreciate the feature (aka why do I need this?) and then they'll soon desire an improved version of this feature (with the obvious solution being buy an MS3). They loved MS2 because they learn't how to get involved because of the simple DIYPNP or MS2PNP kits - but have now grown to love MegaSquirt and the community around it and are now willing to buy and MS3.

That sounds much better than being frustrated that they bought the wrong model and were left wishing they bought what their friend has which gets ongoing new features and continued focus and development (eg. what most non-megasequirt ECUs priced close to the same $$$ as a MS2PNP offer).

Ken - would it be reasonable to see a proposed mod that you can review to determine if the limited features are 1) not too taxing to maintain, and 2) keep the features low enough such that value for MS3 is maintained???

G

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 8:56 am
by muythaibxr
dontz125 wrote:Hi, Ken.

I can appreciate the desire to 'nudge' people towards the MS3 platform if they want the latest and greatest in features, but I have to question the notion of a 'hard stop' to MS2 development (within the capacity and capability of the processor and memory, obviously). The MS2 processor IS still a main-line MS product; the MS2 daughter card (and associated kits) are still being produced and sold hand-over-fist, and the MicroSquirt and MicroSquirt Module line has no MS3 equivalent.
We have made it very clear to all involved that we don't intend on or plan to do anything on the MS2. We were ready to be finished with it in 2009 when the MS3 came out. We do the firmware in our spare time, and we only have so much of that, so we'd rather spend that time on MS3. Not to mention with all the effort we've put into MS3, it sucks to see that get copied back into ms2/extra when a lot of it is stuff we did to help get more MS3s out there.
There are many people clamoring to buy the new MS3 processor and MS3x expansion board. Is it really necessary to declare an end to MS2 coding beyond tweaks and fixes?
Yes. IT's the same thing that happened when we started working on ms2/extra. We stopped working on ms1/extra. At some point we call a product "done" and move to the next one.

Ken

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 9:46 am
by baldur
Ken, first off, why do you care how many MS2 boards are sold in lieu of MS3 boards?
Why do you all of a sudden discourage third party firmware development, when third party firmware development is what made MS so popular in the first place?

Without the work of Eric Fahlgren and Magnus Bjelk, MS1 was just a carburetor replacement. With the work of Philip Ringwood and James Murray, with some involvement of myself and others, there was full dwell control, different types of triggers, multiple coils and a heap of motorsport features. MS2 was much the same, made useful by third party involvement.

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 10:06 am
by muythaibxr
I don't discourage 3rd party development, I discourage implementation of the same features we've already worked on... essentially copying of our features.

If people have entirely new things they want to add to MS2 I don't care, but don't copy what we did, especially without our permission.

As far as the number of boards getting out there, I don't directly care about that, but what I do care about is the amount of time I have to spend supporting ms2 instead of working on ms3. The more people who buy ms2's, the less time I have to spend on MS3 because I'm supporting MS2 people. Even if others are writing the features, if people want that integrated I have to integrate it, and then it becomes my code to support. I have a limited amount of time to work on code, and I'd like to spend that doing new development and improving MS3 (where we've got things much cleaner and nicer to work with, have far fewer restrictions on code size, and it's generally just more enjoyable) rather than spending it on MS2.

I'm OK with people backporting changes that make existing features work better, or if they have some new novel ideas of how to do things (like Robs' interpolation code) then that's great.

As far as the third-party development goes, I know, I was one of the devs doing the work, especially for MS2/extra.

Ken

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 10:23 am
by dontz125
Ken,

I understand and (deeply) appreciate that this is your hobby, not your job, and I also understand that there are only so many hours in the day, and that your primary focus has to be the MS3.

That said, you have people who are willing to do the MS2 work for you - gslender and robs have been throwing out several ideas AND actually doing the spadework that goes along with it. racingmini_mtl is still a major contributor, even if his focus is more towards his own boards these days. You have been sufficiently impressed with gslender's coding that (as far as I can tell) you've allowed him to do the bulk of the coding for his tweaks that (unless I've lost track) you've incorporated into the current MS2 beta. Quite frankly, I would suggest that the idle mods you and he have worked on are far more than "tweaks", but rather a significant change and improvement to the functionality of the code.

Posting comments on a forum that could be taken as deprecating or pompous must be done with care, due to the lack of expression and posture; this next is said without sarcasm, and with respect for your efforts and accomplishments: you weren't always the keeper of MS2/Extra. If you are unable or unwilling to continue development and expansion efforts of the code, perhaps it is time to bring someone else on board to take over that duty.

I am a bit baffled by the notion of "copying our features" - at what point does basic functionality become a feature? Is coping with the idle lurch inherent with the AC switching on and off a feature, or basic function? Is implementing an AFR protection a feature, or basic function? Given the expense entailed in a lunched engine vs the simple aesthetics of a smooth idle (I have owned several cars that dipped at idle when the AC tripped), I would be inclined to say that the AFR system is far more important, and far more of a candidate for inclusion. From a rider's perspective: I have read a number of people point out that the 'flat shift' function in MS2 doesn't work well with high-revving bikes; I have also read that there is a plan to add a bike-style shift-cut to MS3. Is this a feature, or a basic function? Even I would say that it's a feature - but where does that leave all the bikers who have installed MicroSquirts (or WILL install - the uS is still a first-line B&G product!) who now want that 'feature' for their bikes? Since it's a feature, will permission for backporting to MS2 be refused?

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 10:46 am
by jsmcortina
dontz125 wrote:you weren't always the keeper of MS2/Extra.
Actually you are wrong there.
Ken created MS2/Extra.

James

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 10:51 am
by dontz125
Ok - I'm not unfamiliar with the taste of toes, but it's not often I jam my foot that deep in my mouth. I mis-read Baldur's comments above, and got the second set of names rolled into the second generation of MS/Extra code. *sigh* :oops:

Sorry, Ken.


(insert 'bang-head' smiley here ... )

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 10:55 am
by muythaibxr
dontz125 wrote:Ken,

I understand and (deeply) appreciate that this is your hobby, not your job, and I also understand that there are only so many hours in the day, and that your primary focus has to be the MS3.

That said, you have people who are willing to do the MS2 work for you - gslender and robs have been throwing out several ideas AND actually doing the spadework that goes along with it. racingmini_mtl is still a major contributor, even if his focus is more towards his own boards these days. You have been sufficiently impressed with gslender's coding that (as far as I can tell) you've allowed him to do the bulk of the coding for his tweaks that (unless I've lost track) you've incorporated into the current MS2 beta. Quite frankly, I would suggest that the idle mods you and he have worked on are far more than "tweaks", but rather a significant change and improvement to the functionality of the code.
I agree, it's an improvement to an existing feature, not an entirely new feature.
Posting comments on a forum that could be taken as deprecating or pompous must be done with care, due to the lack of expression and posture; this next is said without sarcasm, and with respect for your efforts and accomplishments: you weren't always the keeper of MS2/Extra. If you are unable or unwilling to continue development and expansion efforts of the code, perhaps it is time to bring someone else on board to take over that duty.
Actually, that is quite untrue. I started MS2/extra from the B&G code with James in 2006. I've been one of MS2/extra's "keepers" from the very beginning.
I am a bit baffled by the notion of "copying our features" - at what point does basic functionality become a feature? Is coping with the idle lurch inherent with the AC switching on and off a feature, or basic function?
It was an existing feature (idle speed control) that needed improvement. I had been thinking about how to handle that problem for a long time, and had even implemented the beginnings of my ideas in ms3. I was OK with this being backported because I felt like it took the existing feature and made it a lot more usable. I probably would've backported this myself if I could've found the time. Instead I tried to direct gslender in the right direction with it, and everyone benefits.
Is implementing an AFR protection a feature, or basic function?
Feature.
Given the expense entailed in a lunched engine vs the simple aesthetics of a smooth idle (I have owned several cars that dipped at idle when the AC tripped), I would be inclined to say that the AFR system is far more important, and far more of a candidate for inclusion.
However, we have to draw a line somewhere, and that's where we drew it. Existing functionality can be improved (and will. I have plans to either backport several things myself or give them to gslender if he's interested), but new functionality will not be added except in rare cases that we deem it necessary.
From a rider's perspective: I have read a number of people point out that the 'flat shift' function in MS2 doesn't work well with high-revving bikes;
If that's true, then that's probably a bug, and we can treat it as such.
I have also read that there is a plan to add a bike-style shift-cut to MS3.
I believe it's already there if I'm not mistaken.
Is this a feature, or a basic function?
If the functionality is in no way provided in MS2 (like shift cut) then it's a new feature.
Even I would say that it's a feature - but where does that leave all the bikers who have installed MicroSquirts (or WILL install - the uS is still a first-line B&G product!) who now want that 'feature' for their bikes? Since it's a feature, will permission for backporting to MS2 be refused?
That's not my code specifically (and nor is the AFR cut), but if we follow our own rules then most likely it won't be backported unless we make an exception.

Ken

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 11:08 am
by jsmcortina
A little history...
Before the MS1/Extra code crystallised as it is now, there were indeed a number of contributors. Phil R and I then distilled the best of that and added tons more. Before the work of Phil and I there was no dwell, EDIS, wheel decoder, multiple spark outputs, launch, nitrous, 4 bar MAP etc. etc.

MS2/Extra was started by Ken. I did some background work at the start too, but it took me a while to get up to speed on C. Since then we've both worked on the code. There are very few external contributions. More recently, Jean added sequential fuel support - based on the 'every-tooth' concepts that Ken and I created.

MS3 is based on MS2/Extra 2.1.x and is exclusively by Ken and I.
To create this code I invested at least six months full time plus hundreds of hours since. There's lots of my code there and for most of it I want it on MS3 only.

Please do remember that Megasquirt is a commercial product.

James

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 11:40 am
by dontz125
As with my comments to Ken - James, I understand and appreciate the work you have put into this. I also understand that this is a commercial product, and that all products have limited service lives and are eventually superceded by newer and (hopefully!) better mousetraps.

The point I'm trying to make, and one I would suggest is echoed by others in this thread and elsewhere, is that the MS2 is still a first-line device. The MicroSquirt and MicroSquirt Module are first-line variants of the MS2. Ceasing support of the firmware of a 'title' product is not good business. B&G have JUST released the V3 uS - for all its limitations (and I have a few comments on that), that product is most certainly not at the end of its life.

gslender made the point above that many of the backports suggested are not fully realisable in MS2; the specific case being the AFR safety system, which as proposed is greatly limited vs MS3. This applies to practically every aspect of the two systems - MS2 can handle 4 ignition and injection channels; MS3 can do 12. MS2 has +/- 12.4% per-channel injection trim; MS3 has full per-channel trim. MS2 can handle 2 WBO2; MS3 can handle ... 8? I could go on, but for everyone's patience I'll stop (plus I'm reaching - or reached - the limits of my knowledge of MS3). MS3 has greatly improved functionality. If you want basic (but GOOD basic), go with MS2. If you want something that can match vastly more expensive systems, go with MS3.

The MS2 is going to be around for a while, especially in the motorcycle field; the MS3 box is BIG, and rather few people on tightly-packed sport-bikes are going to be interested in strapping the ECU to the tank. There are still a few bike-specific aspects I'd like to see added that most of the car guys installing MS3s couldn't care less about. Would I be able to able to get together with (say) gslender and bash some ideas about, or am I dead in the water?

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 11:52 am
by muythaibxr
dontz125 wrote: The point I'm trying to make, and one I would suggest is echoed by others in this thread and elsewhere, is that the MS2 is still a first-line device. The MicroSquirt and MicroSquirt Module are first-line variants of the MS2. Ceasing support of the firmware of a 'title' product is not good business. B&G have JUST released the V3 uS - for all its limitations (and I have a few comments on that), that product is most certainly not at the end of its life.
We are *not* ceasing support. We are bug fixing and adding enhancements to existing features where it is deemed necessary. That said, B&G have JUST released the V3 uS, which is mainly a bug-fix release of that hardware. This is essentially the same thing we're doing with the firmware. Also, B&G are not really actively developing their own firmware for the MS2 either.
The MS2 is going to be around for a while, especially in the motorcycle field; the MS3 box is BIG, and rather few people on tightly-packed sport-bikes are going to be interested in strapping the ECU to the tank. There are still a few bike-specific aspects I'd like to see added that most of the car guys installing MS3s couldn't care less about. Would I be able to able to get together with (say) gslender and bash some ideas about, or am I dead in the water?
As long as you're not copying ideas from MS3, you're not dead in the water. You can take the firmware and add to it as long as you're not duplicating something that's already in MS3.

Ken

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 12:00 pm
by dontz125
<Ob-smart-ass/> ... and if you guys add (say) EXUP control to MS3 before I get together with someone who speaks code ... ? :lol:

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 3:09 pm
by gslender
Wow! An interesting discussion for sure. :o

My first few comments here are really mentioned for consideration - I don't expect you to respond and I genuinely hope I don't offend.

Megasquirt is a commercial product - Fair enough. Not really well understood, and I think to a degree that point is kept low on the visibility list as it actually benefits the cause, and I think it is incorrectly (and perhaps unfairly) used to obtain users. Why? An example....several people I spoke to before I got into Megasquirt recommended I buy one as it was mentioned as "OpenSource" and has lots of "community contributions". That advice was wrong. I'm now very aware it isn't "OpenSource", and community contribution whilst exists in spits and farts, is mainly discouraged (although my interactions have clearly been productive, it hasn't been a smooth or easy path).

I'm unsure what others see, but I still see people in forums and at car meets state with strong certainty that Megasquirt is open source and has a strong community that allow changes to the firmware - so obviously this impression of the product is undeserved if indeed the intention is that this is a commercial product :?

Again, with much respect to Ken and James - it is my opinion that you could be risking the future success of Megasquirt / MSExtra with this "we are commercial and can do what we like" and yet allow and maintain the impression that this is a community and open effort. I love the stuff I've been doing with this DIYPNP kit and my recent code contributions, the community engagements and spirit is excellent! True commercial businesses would love dearly for this level of end-user involvement and passion. Rarely do customers contribute their time freely to help a product and make it better in a commercial model.

Sometimes it really is hard to tell which side of the line Megasquirt / MSExtra is on - it isn't run like a commercial product, nor is it truly "OpenSource" and embrace full "community contributions" :|

So going forward, what happens if something like FreeEMS starts to gain momentum? What happens when some of the community leaves and decides to adopt a model that is more truly aligned to "OpenSource" and has lots of "community contributions" ?? It would probably be worthwhile considering what that future would be like and how significantly commercial Megasquirt / MSExtra would need to then become - perhaps that's ok??

It wouldn't be the first time an open source movement killed off the market for commercial products :shock:

Anyway...would be nice if the current approach of contributing new enhancements to MS2 can be maintained with a healthy appreciation that we need to keep the MS3 features above and beyond MS2.

So... as per my prior post, this is my question that I hope gains a response...
Ken - would it be reasonable to see a proposed mod that you can review to determine if the limited features are 1) not too taxing to maintain, and 2) keep the features low enough such that value for MS3 is maintained???
G

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 3:42 pm
by Greg G
Well I may as well throw in my 2 cents.

I think some sort of similar feature could be added through the overboost protection part of the code, just add AFR >x as a condition for a spark cut. Or we can add AFR > x for y seconds as a condition for table switching, and have a conservative spark table 3/fuel table 3. Nothing as advanced as MS3, but still enough to provide some margin of safety.

I think the way to encourage shifting to MS3 is what's happening now- release of the knock module, real time module, SD card improvements, aside from the much better specifications of the MS3/MS3x in general. I think that MS2 is really near it's limit already , with little headroom for more features- so why not max it out? What's the harm in adding some sort of AFR safety feature? The less engines grenaded would still be better for the overall reputation of MS in general.

Hope this is taken in the spirit of healthy dialog! :D

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 3:43 pm
by HidRo
I understand that maybe getting a AFR safe system LIKE MS3, is a bit too much, but something simple like the boost cut safe system, would be good, and easy, and not that "intrusive" for the MS3 option.
Just an idea. I would be happy with this, btw :D

Edit: I was "overtaken" by Greg :D

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 3:44 pm
by jsmcortina
gslender wrote: An example....several people I spoke to before I got into Megasquirt recommended I buy one as it was mentioned as "OpenSource" and has lots of "community contributions". That advice was wrong. I'm now very aware it isn't "OpenSource",
Before the first MS1 was released B&G had patented it in 2003, that seems like a pretty clear statement of intent.

There should certainly be no misunderstanding on the status of MS3 as the firmware has always been distributed with a license file. The "copyrights" page on megamanual.com has been there for likely five years too.

There do however seem to be lots of places perpetuating a myth that this is "OpenSource." But hey - we can't police the whole internet - complain to them for misleading information!

Additionally though, I do feel that the meaning of "open source" has been changed over the years. Back in the mid-90s the general view of that term was a lot less restrictive and specific than it is now. The definition on the main website for open source makes it clear that "Open Source" is pretty much GPL. That is very different from my perception back in the day.

So it is possible that in the early days of Megasquirt the "open source" term was being used more loosely because the source code was open to view, which it still is (in the MSEXTRA world at least) but since that date the definition has been hijacked.

James

Re: Ideia: AFR safe cut

Posted: Wed Feb 08, 2012 5:08 pm
by muythaibxr
To be honest, very few have tried to contribute code as well to ms2. I can only remember 4(?) off the top of my head the have contributed useful code not counting myself, James, or Jean since 2006. Only one of those contributed before we did MS3. So it isn't like a lot of people are really itching to contribute. The fact that only 1 had even tried to contribute to MS2/extra before we did MS3 played largely into our decision to restrict the source code release, and into our decision to put MS2/extra in "maintenance mode only." There weren't a large number of people who were trying to contribute even if they thought we were "Open Source."

Also, what other "commercial product" gives you access to its main developers like this? How many of them go to 3-5 forums a day in our personal time and try to provide support to the users there? How many release any source at all? (We released MS3 1.0.x source because we still feel strongly that we want people to learn how EFI really works).

I also take issue with you (gslender) saying we don't allow changes to the firmware. I have allowed many of your changes back in and have only held off on changes where James and i have already done things I would like to try first. In MS3, we make almost all our changes at the request of users as well, and before MS3, we did the same thing we're doing with MS3 now and invested a lot of our time (and money) towards making MS2/extra do what it does now.

We don't allow every change just because people want to contribute. We run the project the way we want. (To compare to a popular open-source project... Linus Torvalds does not accept every change people submit just because people submit them, he still retains veto authority on every change, and has refused to accept some potentially very useful changes because they don't fit with the direction he wants to take his software).

Ken