gemellocattivo.com

Which means "Evil Twin". Lets see your projects where you change boring into fun or create the fun from scratch.
It is currently Thu Aug 16, 2018 11:39 pm

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 47 posts ]  Go to page Previous  1, 2, 3, 4, 5
Author Message
 Post subject: Re: Injector control
PostPosted: Tue Feb 27, 2018 3:02 pm 
Offline

Joined: Thu Jan 01, 2015 6:47 pm
Posts: 2143
There is no scaling between the hw and the display....but memory isn't a big concern so I do thinks like CLT Correctoin [%] table that is read and becomes CLT correction factor= 1+ %/100 or somehitng like that. dividing by a constant isn't a concern, the problem is when there is a variable. Jim told me AEM was careful about clamping variables and setting initail values and testing under differnt conditions and....I just said screw it and made them all safe and never had another problem.

Any variable can have a clamp appied to it and an error value assigned. I could look at demominators first then do the division but I normally bake it all into 1 line in a math function like x = 1/ (y+(y=0)*.001)

ELC calls the prgram the user writes a model, not to be confused with model based programming. I don;t have anyhting that I would describe as model based. The ELC language is not c though, its got to be a function liberary setup so what I write is calling other functions and can't have the efficeny of even autocoding.....but its pretty easy to work with so I like it for that, not being a programmer and all.

I need to figure out the time for each thread.....no idea today


Top
 Profile Send private message  
 
 Post subject: Re: Injector control
PostPosted: Tue Feb 27, 2018 7:45 pm 
Offline

Joined: Thu Jan 01, 2015 6:47 pm
Posts: 2143
I added timers with min, max, average to all the threads so next time I fire up the HW I'll know for sure how it's doing. On the simulator the 10ms thread ehich is really a 7ms sleep thread runs every 10ms....


Top
 Profile Send private message  
 
 Post subject: Re: Injector control
PostPosted: Tue Feb 27, 2018 8:03 pm 
Offline

Joined: Sun Oct 11, 2015 2:07 pm
Posts: 122
I think the model-based programming methodology is often confused with programming in modeling languages. In a lot of ways, using engineering units and basing equations on physical relationships is the core concept of model based programming. I think EL is right to call it a 'model'.

Someday, you will run out of memory, and it will be an issue. Your model will probably grow a lot before that.

I use the display scaling for all kinds of things, like inverting factors (as I mentioned earlier), multiplying loop counts by the loop time into seconds, doing fixed-precision integers, etc...

_________________
"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack

"Any sufficiently advanced technology is indistinguishable from magic" ~Arthur C. Clarke


Top
 Profile Send private message  
 
 Post subject: Re: Injector control
PostPosted: Wed Feb 28, 2018 6:50 am 
Offline

Joined: Thu Jan 01, 2015 6:47 pm
Posts: 2143
apalrd wrote:
I think the model-based programming methodology is often confused with programming in modeling languages. In a lot of ways, using engineering units and basing equations on physical relationships is the core concept of model based programming. I think EL is right to call it a 'model'.

Someday, you will run out of memory, and it will be an issue. Your model will probably grow a lot before that.


I'm working in the secondary heap they call it, Jim said its faster....its about 2/3 full. The primary is the same size and unused....I have a long long way to go :)

Quote:
I use the display scaling for all kinds of things, like inverting factors (as I mentioned earlier), multiplying loop counts by the loop time into seconds, doing fixed-precision integers, etc...


I can create virtual channels that show only on the display to put data in a form I want to view it vs the form the ecu actually needs. I've not messed with that much yet, a couple times....really handy for data analysis. The o5e project used TunerStudio which where everything had to be defined by what it was and how I wanted to view it....what a pain in the butt that was compared to everything is just right (because everything is floating point) or right click "add row" to change table sizes on the fly or click "add item" or "open item" to to add to or alter the model on the fly. ELC is pretty friendly compared anything I've used before.


Top
 Profile Send private message  
 
 Post subject: Re: Injector control
PostPosted: Wed Feb 28, 2018 10:45 am 
Offline

Joined: Sun Oct 11, 2015 2:07 pm
Posts: 122
In our system, I have to define all of the variables in the model (as Simulink blocks for cals, probes, and tables) and it auto-generates an A2L file which maps the names to addresses with scaling. So no manually writing ini files, but no requirement for floating point everything. I can also add calculated signals later in ATI VISION, but those aren't part of the model. I usually use this for things like mass flow (since the ECU only calculates mass per cylinder per cycle for anything).

Not quite as friendly as EL, but we don't edit the model very often anyway (I probably do less than 15 builds a year). Certainly a lot more friendly than TunerStudio.

Does EL have good multi-monitor support? That's my biggest issue with VISION at this point.

_________________
"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack

"Any sufficiently advanced technology is indistinguishable from magic" ~Arthur C. Clarke


Top
 Profile Send private message  
 
 Post subject: Re: Injector control
PostPosted: Wed Feb 28, 2018 11:52 am 
Offline

Joined: Thu Jan 01, 2015 6:47 pm
Posts: 2143
You know, I'm just assuming everything is floats. In tables you have a choice to define 8fixed, 16fixed, 32float and I always pick 32float which I know makes Jim insane as he thinks its a waste.

The tuning interface in EL is very nice, no question about that and for people like me who make mostly mistakes in programming being able to fix them quickly is pretty nice.

Multiscreen with ELC works I'll say. Its really intended for
tuning on a laptop but when you have it open you can drag anything to any monitor (I have 3) while you work. It's happiest if you save layouts (screen setup) on the primary monitor then drag where you want in use....or you may not find the layout items on your laptop screen when you get to the car.


Top
 Profile Send private message  
 
 Post subject: Re: Injector control
PostPosted: Sat Mar 03, 2018 8:17 am 
Offline

Joined: Thu Jan 01, 2015 6:47 pm
Posts: 2143
I had a little bit of time yesterday and restructured the corrections so they are part of the trim input to LSFS and lambda is now separate again.....just in case I want to to the doing vs correcting thing during warm-up. I still need to fix wall wetting though.

I also discovered that there is a hidden feature in LSFS. if I send a 0 as the trim factor (1 is no change, so 0 is minus 100%) then the output is 0. That is really nice because there is no injector on/off but lets me use the trim for that purpose. Nice. I also discovered though that is I send a negative trim value I get fuel for negative time, I'll need to clamp all the inputs and let Jim know about that and that clamps I put on the outputs were ignored.....if there is a way to break it then I'm your man to find it.


Top
 Profile Send private message  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 47 posts ]  Go to page Previous  1, 2, 3, 4, 5

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group