Any general discussion around the firmware, what is does, how it does it etc.
By Rod S
#37261
For what it's worth, this is implemented in the Megasquirt 2 (MS2 only, not MS3) for siamese ported engines.

It was developed specifically for the Classic Mini A Series engine and is very effective at overcoming charge robbing.

I'm not sure if that's exactly the same scenario but it sounds similar.

Tables are 3D (RPM and load) and there are three of them (injection timing for inner cylinders, injection timing timing for outer cylinders, and injection timing for a single long injection pulse covering both inlet valve windows which can be enabled above a chosen RPM).
The injection timing angle is also selectable between beginning of pulse, mid pulse or end of pulse.

So if you want to take ric355's advice and look at the structure of the ini file, download yourself an ini file for the MS2 and word search if for "siamese" or "sequential".
By smechoor
#37269
noisymime wrote: Thu Aug 22, 2019 1:28 am Variable injection timing is something I've had in mind for adding for a long while now, but I'm not 100% sure of the best approach. From what I have seen, the timing primarily needs to change based on RPM, meaning you could get away with a 2D curve, which is considerably easier to add and easier to tune.

Is the timing control you need definitely varying based on load as well as RPM (and hence needs a 3D table)?
Hello Noisymime, I can confirm that in my case the the timing needs to change based on both speed and load. It may be mostly independent of load conditions for port injection and even fire engines though.
By smechoor
#37276
ric355 wrote: Wed Aug 21, 2019 8:36 pm
smechoor wrote: Wed Aug 21, 2019 1:51 pm
theonewithin wrote: Tue Aug 20, 2019 9:22 pm This would require a lot of firmware work not just "adding a table to TS".

Your first port of call would be poking through the existing firmware and then asking specific questions from there.

Or even joining the developer channel on Slack.
I have already made changes to the injection timing calculations in the current firmware to change the way Injection end and start angles are calculated. Now I need a way to specify different EOI (end of injection) for different speed-load conditions through tunerstudio. Thanks for reminding me about the slack chat. Will check that out
The answer to the specific question you asked in the beginning is 'yes, you can add new tables'.

As for resources, there really aren't any because the data format of the ini file is not published anywhere. What I normally do when I add stuff is to look at how something similar has been implemented and duplicate it. A non-exhaustive and highly generic list of things you will have to do is;

- add the new items to a config page (these are near the top of the ini file)
- add the items to a dialog (for a new table you will probably also create a new dialog and add it to a menu)
- ensure the firmware has been updated for the additional config page items (new fields in the structures)
- add code to use the new dataset
- you might also want to add new datalog items. If doing this, care must be taken to ensure the data structure definitions match between ini file and firmware.
Thanks! this is exactly what I was thinking but didn't know about those .ini files. So far my experience with speeduino has been limited to modifying and testing the firmware using Arduino IDE. It will be fun to mess around with tunerstudio internals!
By smechoor
#37277
Rod S wrote: Thu Aug 22, 2019 6:29 am For what it's worth, this is implemented in the Megasquirt 2 (MS2 only, not MS3) for siamese ported engines.

It was developed specifically for the Classic Mini A Series engine and is very effective at overcoming charge robbing.

I'm not sure if that's exactly the same scenario but it sounds similar.

Tables are 3D (RPM and load) and there are three of them (injection timing for inner cylinders, injection timing timing for outer cylinders, and injection timing for a single long injection pulse covering both inlet valve windows which can be enabled above a chosen RPM).
The injection timing angle is also selectable between beginning of pulse, mid pulse or end of pulse.

So if you want to take ric355's advice and look at the structure of the ini file, download yourself an ini file for the MS2 and word search if for "siamese" or "sequential".
I only have theoretical knowledge of siamese port engines, but from what I know the situations are almost identical. I will look for MS2 ini files. Do you know if those also had multiple VE tables? It looks like I will need a separate VE table for each of the 2 cylinders. So that will be my next problem to solve.
By Rod S
#37280
smechoor wrote: Thu Aug 22, 2019 7:11 pm I only have theoretical knowledge of siamese port engines, but from what I know the situations are almost identical. I will look for MS2 ini files. Do you know if those also had multiple VE tables? It looks like I will need a separate VE table for each of the 2 cylinders. So that will be my next problem to solve.
Yes, multiple VE tables in the MS2 siamese sequential code.
Three VE tables, one for the inner cylinder(s) which is the first injection pulse, one for the outer cylinder(s), second injection pulse, and a third one for if you set the code to switch to a single "long" pulse that injects across both the inlet valve open periods.
If you look at the MS2 ini files it should be fairly obvious how the settings are made.

But the ini file just shows how you set it up, it took someone a lot cleverer than me to write the MS2 code to make it work.....
I was just involved in the testing and bug finding and getting it to work.

It would be nice if Speeduino could do something similar.

nice first of all, i read all that crap months a[…]

I rewired a few grounds and tested the TPS and rel[…]

Thanks, car runs great now !!! Going to drift even[…]

sauver moteur v8

bonsoir je m appel jean marie et j habite en Franc[…]

Still can't find what you're looking for?