Timus wrote: ↑Tue Jun 23, 2020 3:43 pm
I have started wmi coding yesterday, should be operational by the end of the month.
That's awesome news Timus. Thanks for taking up the challenge. I've followed your github fork. Please feel free to tag me in any communications if you need any input. My github tag is the same as my username.
Sorry that my reply here is somewhat delayed, I'm super busy at work and have not had much chance to get online
You can also reach out to me at deeemm[at]deeemm.com
PSIG wrote: ↑Tue Jun 23, 2020 10:49 pm
DeeEmm wrote: ↑Sat Jun 20, 2020 11:39 am…
Operating modes [Simple / Proportional / Mapped open loop / Mapped closed loop]
-- Simple mode - Output is turned on when preset boost level is reached
-- Proportional Mode - Output PWM is proportionally controlled between two MAP values - MAP Value 1 = PWM:0% / MAP Value 2 = PWM:100%
-- Mapped open loop - Output PWM follows 2D map value (RPM vs MAP) Cell value contains desired PWM% [range 0-100%]
-- Mapped closed loop - Output PWM follows injector duty cycle with 2D correction map applied (RPM vs MAP). Cell value contains correction value% [nom 100%] (additional offset value is also required - see below) …
If I misunderstand, please correct me, and it's your bounty. However, the terms are either unclear or missing association. For example, Proportional is generally defined against fuel quantity as a percent, e.g., 30% water against 100% fuel quantity on that cycle. This is partly why WI was considered for Speeduino (rather than GPIO or standalone), as it directly correlates the fuel quantity to the water quantity, under various other conditions known to the ECM, while allowing other functions (boost, spark, etc) to be directly altered if desired.
This also requires the control system to know what the water quantity is, or could be, so another param to accommodate. Often this is extrapolated from the injector time, but there are other ways to accomplish it such as the flow meter previously mentioned, which can also act as a safety. To be fair, all of this might also be GPIO territory, with all the info available there as-well, and may possibly help to ensure dev and maintenance would be unhindered while reducing potential conflicts within Speeduino. <shrug> Looking to clarify or define terms and intentions when possible, as there are 101 ways to come at it.
David
With regards to terminology, yes I agree, my chosen mode descriptions may not be the best, they were written rather hastily trying to get something down as a basic description so that others may take up the bounty. Very open to suggestions.
Perhaps...
- Basic
- Scaled
- Mapped
- Proportional?
With regards to methodology on how to obtain the current engine loading, it does not have to be injector time. If there are other better methods available within the code, or if this method does not fit with current best practice, then those other methods should be used. The same applies to other interactions.
Consider my descriptions those of a layman and exercise your best judgement in how this is achieved.
David, you have also reminded me that early on there were indeed discussions relating to altering timing, which I did not include on the description on the previous page. I will add it in, but as Timus has already started the code, it would only be fair that this now does not form part of the bounty as it was not part of the description that he is working to. (unless of course he wants to add it, in which case I would be super grateful
)
/DM