Code branch

This is a forum for discussing the development and testing of alpha MS2/Extra code. Documentation
(Runs on MS2 and Microsquirt)

Moderators: jsmcortina, muythaibxr

Post Reply
jartzi
Helpful MS/Extra'er
Posts: 90
Joined: Fri Mar 27, 2015 7:57 am
Location: Finland

Code branch

Post by jartzi »

Is it possible made code branch at current SW situation? I think Distributor, EDIS and other old stuff is mature enought to been removed in future releases. This "old stuff" branch can be only for bug fixes.

There seems to be very limited memory space in MS2 to made any new.
jsmcortina
Site Admin
Posts: 39617
Joined: Mon May 03, 2004 1:34 am
Location: Birmingham, UK
Contact:

Re: Code branch

Post by jsmcortina »

Interesting idea, but that's not going to happen.

James
I can repair or upgrade Megasquirts in UK. http://www.jamesmurrayengineering.co.uk

My Success story: http://www.msextra.com/forums/viewtopic ... 04&t=34277
MSEXTRA documentation at: http://www.msextra.com/doc/index.html
New users, please read the "Forum Help Page".
jartzi
Helpful MS/Extra'er
Posts: 90
Joined: Fri Mar 27, 2015 7:57 am
Location: Finland

Re: Code branch

Post by jartzi »

Why? Old stuff does not need CAN and other.
subwoofer
Super MS/Extra'er
Posts: 884
Joined: Sat Apr 30, 2011 12:34 pm
Location: Sandefjord, Norway

Re: Code branch

Post by subwoofer »

In terms of development, the MS2 is close to end-of-life I think, if I was the developers I would focus the effort where there is room to grow still.
Joachim
1974 Jensen-Healey
1990 VW Caravelle Syncro - running MS3+X
2014 Ford Fiesta EcoBoost
dontz125
Super MS/Extra'er
Posts: 4221
Joined: Mon May 11, 2009 7:14 pm
Location: York, ON
Contact:

Re: Code branch

Post by dontz125 »

While I agree that the MS2 code is getting cramped, I disagree that it's nearing the end of its development life - there are a number of features I'd like to see to make it easier for bike installs. I would also disagree that a dizzy install doesn't need CAN; a uS running the tranny is an obvious example.
Temporarily shut down - back soon!
QuadraMAP Sensor Module -- PWM-to-Stepper Controller -- Dual Coil Driver
Coming soon: OctoMAP Sensor Module
TTR Ignition Systems
muythaibxr
Site Admin
Posts: 8230
Joined: Thu Oct 14, 2004 12:48 pm

Re: Code branch

Post by muythaibxr »

We will not be adding anything other than bug fixes.
Megasquirt is not for use on pollution controlled vehicles. Any advice I give is for off road use only.
dontz125
Super MS/Extra'er
Posts: 4221
Joined: Mon May 11, 2009 7:14 pm
Location: York, ON
Contact:

Re: Code branch

Post by dontz125 »

Power valves (5-wire dumb and/or stepper), safety input pin, long tooth code?

Something I broached with Jean a month or three ago was the possibility of a code mod that would activate a ProgOut pin when staged injection kicked in; this would be integral to the injection code allowing rapid response, rather than the slow and erratic ProgOut subroutine. This would allow full sequential for 4-cyl engines AND allow discrete powering of secondary injectors that would also be controlled by the primary injector drivers (injectors 1P and 1S would be driven by channel 1; injector 1S would only be powered upon 'staging'). I have a circuit ready to test that would bring in the various injectors ONLY if the particular channel wasn't currently squirting. Obviously, Gradual Staging would not be an option, but the advantage of sequential injection at low revs would be a point to ponder.

I realise and appreciate that you fellows are focusing your development efforts on MS3. That said, the MicroSquirt that James has been so earnestly flogging over the past year and more with truly neat applications has always been less than well-suited to motorcycle service, despite the ad copy. These options amongst others would be definite improvements, especially if I can get my uS 4+4 card out of the "vapour-ware" category. :roll:

As motorcycle ECUs go, the MS2 is large, clunky, and a rolling invitation to shorts from spray and small animals; the MS3 is even more so, to the point of being awful. The MS3Pro and MS3P-module have interesting possibilities, but the price is just horrific. Barring the various MS3-OEM module concepts that have been bandied about in different threads, the uS (and uSM) will continue to be the primary B&G product contemplated for the mid- to low-budget motorcycle market. Having capabilities needed / desired for less-difficult installations will make for easier sales and happier customers.

(I now return this soap box to its normal duty of propping the garage door open, to allow the exhaust fumes out)
Temporarily shut down - back soon!
QuadraMAP Sensor Module -- PWM-to-Stepper Controller -- Dual Coil Driver
Coming soon: OctoMAP Sensor Module
TTR Ignition Systems
Manu
Master MS/Extra'er
Posts: 723
Joined: Mon Feb 15, 2010 4:57 am
Location: Alès - France
Contact:

Re: Code branch

Post by Manu »

It may be time to think about a uMS3 ? A core module with ms3 processor and just basic inputs/outputs ? Not a so evolued module as MS3pro module.

Cheers,
I can supply, repair or upgrade Megasquirts in FRANCE.

Image
https://www.megasquirt.fr
muythaibxr
Site Admin
Posts: 8230
Joined: Thu Oct 14, 2004 12:48 pm

Re: Code branch

Post by muythaibxr »

The fact remains that as far as the developers are concerned (James and I) it's not getting anything more than bug fixes. We will consider minor features if they greatly enhance functionality, but only after they've gone into ms3 first.
Megasquirt is not for use on pollution controlled vehicles. Any advice I give is for off road use only.
dontz125
Super MS/Extra'er
Posts: 4221
Joined: Mon May 11, 2009 7:14 pm
Location: York, ON
Contact:

Re: Code branch

Post by dontz125 »

Fair enough, but under "greatly enhance functionality", how about the long tooth code that matt_gsxr came up with? Pulling a number out of my backside, I'd say around half the UJMs and sportbikes from the 80s to mid/late-90s use the 1 Long 3 Short wheel pattern, and a huge majority of singles and twins use a single long tooth, and NONE of them can be fitted with a uS or MS1/2/3 without fairly significant surgery. Some have small, easily swappable trigger wheels; some - like the FZ/FZR family - have the teeth on the alternator rotor / flywheel, which is about 4" OD x 1.5-2"tk, taper + keyway fit onto the crank. Not an easy fix, and certainly not cheap. A simple adaptor circuit is all that's needed to go with the code, but that code patch is needed to really open this market.
600 rotor back.JPG
600 rotor side.JPG
(Declaration of Interest - the FZR family is the core market I'll be focusing on once I get my thumb out. I certainly plan on expanding, but the Yamaha Fizzers is where I plan to start.)

The safety input ("kill") pin is a "nice to have"; the function could be sorted through an interrupting relay, but a code function would be a "REALLY nice to have".

Again with the nice to have; a lot of bikes have a power valve / YPVS / EXUP etc function that isn't really supported. A simple 2-wire dumb motor with a 3-wire pot, it can be approximated by hardware, but (speaking as one whose code-fu is truly weak) I don't think modifying the boost control to read an ADC other than MAP for the position signal would be that hard.
Temporarily shut down - back soon!
QuadraMAP Sensor Module -- PWM-to-Stepper Controller -- Dual Coil Driver
Coming soon: OctoMAP Sensor Module
TTR Ignition Systems
jartzi
Helpful MS/Extra'er
Posts: 90
Joined: Fri Mar 27, 2015 7:57 am
Location: Finland

Re: Code branch

Post by jartzi »

dontz125 wrote:Fair enough, but under "greatly enhance functionality", how about the long tooth code that matt_gsxr came up with? Pulling a number out of my backside, I'd say around half the UJMs and sportbikes from the 80s to mid/late-90s use the 1 Long 3 Short wheel pattern, and a huge majority of singles and twins use a single long tooth, and NONE of them can be fitted with a uS or MS1/2/3 without fairly significant surgery. Some have small, easily swappable trigger wheels; some - like the FZ/FZR family - have the teeth on the alternator rotor / flywheel, which is about 4" OD x 1.5-2"tk, taper + keyway fit onto the crank. Not an easy fix, and certainly not cheap. A simple adaptor circuit is all that's needed to go with the code, but that code patch is needed to really open this market.
Could there been added circuit which makes pulse to CAM input when longer tooth appears?
dontz125
Super MS/Extra'er
Posts: 4221
Joined: Mon May 11, 2009 7:14 pm
Location: York, ON
Contact:

Re: Code branch

Post by dontz125 »

I tried coming up with something like that, a timer / comparator circuit that compares the charge on a cap vs the previous cap. It was intricate and clumsy, and I'd really rather go with a known-working code patch.

Manu - that's something a lot of people would like to see, but that's a major business decision that would be made by B&G, and no amount of whining to Ken and James is going to affect that. :D
Temporarily shut down - back soon!
QuadraMAP Sensor Module -- PWM-to-Stepper Controller -- Dual Coil Driver
Coming soon: OctoMAP Sensor Module
TTR Ignition Systems
jartzi
Helpful MS/Extra'er
Posts: 90
Joined: Fri Mar 27, 2015 7:57 am
Location: Finland

Re: Code branch

Post by jartzi »

How about two halls or vr in line. If both give signel it is long tooth.
jartzi
Helpful MS/Extra'er
Posts: 90
Joined: Fri Mar 27, 2015 7:57 am
Location: Finland

Re: Code branch

Post by jartzi »

dontz125 wrote:I tried coming up with something like that, a timer / comparator circuit that compares the charge on a cap vs the previous cap. It was intricate and clumsy, and I'd really rather go with a known-working code patch.
About same came to my mind also. Two caps charged through diodes and resistors. One bigger which keeps average voltage and one which voltage rises much higher when longer pulse appears. And comparator to compare charges. Engine cause too much rpm/time variation for this kind of circuit.
dontz125
Super MS/Extra'er
Posts: 4221
Joined: Mon May 11, 2009 7:14 pm
Location: York, ON
Contact:

Re: Code branch

Post by dontz125 »

jartzi wrote:How about two halls or vr in line. If both give signel it is long tooth.
Two VRs wouldn't work, since unreliable triggering is the entire difficulty with a long tooth. Two Hall sensors might work nicely to discriminate between the long and short teeth, *if* you could get suitable devices in there - motorcycle timing covers tend to be pretty darn tight!
Temporarily shut down - back soon!
QuadraMAP Sensor Module -- PWM-to-Stepper Controller -- Dual Coil Driver
Coming soon: OctoMAP Sensor Module
TTR Ignition Systems
Manu
Master MS/Extra'er
Posts: 723
Joined: Mon Feb 15, 2010 4:57 am
Location: Alès - France
Contact:

Re: Code branch

Post by Manu »

dontz125 wrote:Manu - that's something a lot of people would like to see, but that's a major business decision that would be made by B&G, and no amount of whining to Ken and James is going to affect that. :D
I was just kiding Don as I know this is a B&G decision too ;-)
I can supply, repair or upgrade Megasquirts in FRANCE.

Image
https://www.megasquirt.fr
jartzi
Helpful MS/Extra'er
Posts: 90
Joined: Fri Mar 27, 2015 7:57 am
Location: Finland

Re: Code branch

Post by jartzi »

Quick question so not bother to create new topic.

Is this bug or feature or does i not understand this right:
Seems that Semi Seq injection does not work 1 cyl engine at all.

no_squirts is 1. I cannot change it to 2.
So next is always 0.
Because of that fuel1_events[next].inj == next_fuel1_event.in and fuel1_events[next].tooth == tooth_this allways match.
So sched_now is 0
And because of that squirt never happends.

schedule_fuel function in ms2_extra_inj.c:

if (seq_inj_ctrl & SEQ_MASK_INJ1) {
// Set next event
if ((flash8.seq_inj & 0x03) == 1) {
if (next_fuel1_event.inj == no_squirts - 1) {
next = 0;
} else {
next = next_fuel1_event.inj + 1;
}
} else {
if (next_fuel1_event.inj == (no_triggers>>1) - 1) {
next = 0;
} else {
next = next_fuel1_event.inj + 1;
}
}

// Check if the next event is due this tooth; if so, it is for the next cycle
if ((fuel1_events[next].inj == next_fuel1_event.inj) && (fuel1_events[next].tooth == tooth_this)) {
// This the next cycle event
sched_now = 0;
} else {
// This is for this cycle
sched_now = 1;
}
Post Reply