Openport Stand-Alone Logging Beta

Re: Openport Stand-Alone Logging Beta

Postby cboles » Mon Mar 29, 2010 7:05 am

can you send me your complete logcfg.txt?

there are several limitations that can come into play:

* max parameters (60)
* total unique string storage space (11 chars * max_params)
* total unique number storage space (1.5 floats * max_params)
* total unique RPN storage space (shares string storage)

it doesn't look like you are exceeding any of these, but...

Ceddy wrote:Colby,

MUT2 logging breaks when you have over around 38 items.

The name in the trigger section gets messed up.

GOOD
Code: Select all
trigger action: start condition: AC_sw,0.000000,==
trigger action: stop condition: AC_sw,1.000000,==

--- storage info ---
log channels: 2
log parameters: 38
log stringlist: 513 chars
log floatlist: 31 floats
logging interval will be 250000us


BAD
Code: Select all
trigger action: start condition: x,0.000000,==
trigger action: stop condition: x,1.000000,==

--- storage info ---
log channels: 2
log parameters: 39
log stringlist: 526 chars
log floatlist: 31 floats
logging interval will be 250000us


AC_sw gets changed to: x, +, or other symbols.
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Re: Openport Stand-Alone Logging Beta

Postby burnzy » Mon Mar 29, 2010 3:17 pm

Hi, so with the latest firmware, to log 2 byte load with databits = 16
it's at request 00 and 01
what formula do i have to put in logcfg? this is for evo.
burnzy
 
Posts: 6
Joined: Fri Dec 25, 2009 10:31 pm

Re: Openport Stand-Alone Logging Beta

Postby cboles » Mon Mar 29, 2010 3:58 pm

I'm not sure about the scaling, but the format should look something like this:

Code: Select all
paramname=Load            
paramid=0x00
databits=16            
scalingrpn=x,0.3125,*


burnzy wrote:Hi, so with the latest firmware, to log 2 byte load with databits = 16
it's at request 00 and 01
what formula do i have to put in logcfg? this is for evo.
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Re: Openport Stand-Alone Logging Beta

Postby burnzy » Tue Mar 30, 2010 12:36 am

the scaling is right, how does it know the second byte, where do we put that, assuming load is 00 and 01.
is there a paramid2?
On a side note, is it possible to make first column read "LogID" instead of "sample" and second entry "LogEntrySeconds" instead of "time" so that it will open up in evoscan.
At the moment I'm having to manually edit those titles into the logs. Other than that they work perfectly and is great for map tracing in evoscan.
burnzy
 
Posts: 6
Joined: Fri Dec 25, 2009 10:31 pm

Re: Openport Stand-Alone Logging Beta

Postby cboles » Tue Mar 30, 2010 7:19 am

It knows that for MUT, each paramid request only returns one byte. Because databits=16, it knows it will have to do two requests of sequential paramid to get the two bytes it needs.

I'll consider adding some option, but how does LogID make any sense for the sample number?

burnzy wrote:the scaling is right, how does it know the second byte, where do we put that, assuming load is 00 and 01.
is there a paramid2?
On a side note, is it possible to make first column read "LogID" instead of "sample" and second entry "LogEntrySeconds" instead of "time" so that it will open up in evoscan.
At the moment I'm having to manually edit those titles into the logs. Other than that they work perfectly and is great for map tracing in evoscan.
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Re: Openport Stand-Alone Logging Beta

Postby mfb » Tue Mar 30, 2010 3:23 pm

Hi Colby,

Just to confirm, I just use one trigger for Can and inno channels and just put this at the end right? Inno goes before can or it doesn't matter as long as can is grouped together then I put inno then lastly trigger?

As for the slow sampling group, how do I do that with the current set up I have (posted earlier) ? af learning a to d, coolant temp, intake air temp are those I can have less samples.
mfb
 
Posts: 59
Joined: Fri Mar 26, 2010 1:49 am

Re: Openport Stand-Alone Logging Beta

Postby cboles » Tue Mar 30, 2010 5:10 pm

The ordering of channels (the "type = xxx" statement) doesn't matter, but you need to get all of the parameters for that channel in there before you declare another channel with "type =". Triggers must come later because they use parameter names, and they need to be already defined.

from subaru k-line.txt in the logging samples directory (you should read all of these)

Code: Select all
; Notice that the next 3 parameters have a "sampgroup = 1" setting.
; There are 15 sample groups (1 - 15) that you can assign parameters to.
; Any parameters assigned to a sample group will be alternately logged in a single
; timeslot at a lower speed, the speed being 1 / N that of the sampling interval -
; where N is the number of parameters in the sample group. In this example, these
; 3 parameters will be logged at 1/3 the speed, but will also use 1/3 of the communications
; to the ECU, allowing you to log everything else faster.
; Since you can make up multiple sample groups, you can fine tune how fast different kinds of
; parameters are logged.

paramname = IAT
paramid = 0x12
scalingrpn = x,0.40,-
sampgroup = 1

paramname = coolant_temp
paramid = 0x08
scalingrpn = x,0.40,-
sampgroup = 1

paramname = battery_volts
paramid = 0x1C
scalingrpn = x,0.08,*
sampgroup = 1


mfb wrote:Hi Colby,

Just to confirm, I just use one trigger for Can and inno channels and just put this at the end right? Inno goes before can or it doesn't matter as long as can is grouped together then I put inno then lastly trigger?

As for the slow sampling group, how do I do that with the current set up I have (posted earlier) ? af learning a to d, coolant temp, intake air temp are those I can have less samples.
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Re: Openport Stand-Alone Logging Beta

Postby mfb » Wed Mar 31, 2010 7:26 am

I cant make sampgroup work with CAN. I just put sampgroup = 1 to those parameter I want to log slower right? So if I have 7 parameters as part of sampgroup=1, this will be logged at 1/7 of the speed. It seems Im hitting a limit to the allowed parameters for CAN as I cant log anymore.

Here is the logcfg.txt Will this work? If not, please correct so I can try.

Code: Select all
type = ssmcan

paramname = Engine_Speed(rpm)
paramid = 0x00000E
databits = 16
scalingrpn = x,4,/

paramname = Ignition_Total_Timing(degrees)
paramid = 0x000011
databits = 8
scalingrpn = x,128,-,2,/

paramname = Mass_Airflow(g/s)
paramid = 0x000013
databits = 16
scalingrpn = x,100,/

paramname = Throttle_Opening_Angle(%)
paramid = 0x000015
databits = 8
scalingrpn = x,100,*,255,/

paramname = Mass_Airflow_Sensor_Voltage(V)
paramid = 0x00001D
databits = 8
scalingrpn = x,50,/

paramname = Primary_Wastegate_Duty_Cycle(%)
paramid = 0x000030
databits = 8
scalingrpn = x,100,*,255,/

paramname = Fine_Learning_Knock_Correction(degrees)
paramid = 0x000199
databits = 8
scalingrpn = x,0.25,*,32,-

paramname = Engine_Load_(1-byte)**(g/rev)
paramid = 0xFF6A5F
databits = 8
scalingrpn = x,.015625,*

paramname = Feedback_Knock_Correction_(1-byte)**(degrees)
paramid = 0xFF6A69
databits = 8
scalingrpn = x,.3515625,*,45,-

paramname = Manifold_Relative_Pressure_(4-byte)*(psi_relative)
paramid = 0xFF643C
isfloat = 1
scalingrpn = x,0.01933677,*

paramname = A/F_Learning_#1_A_(Stored)*(%)
paramid = 0xFF2C90
isfloat = 1
scalingrpn = x,100,*
sampgroup = 1

paramname = A/F_Learning_#1_B_(Stored)*(%)
paramid = 0xFF2C98
isfloat = 1
scalingrpn = x,100,*
sampgroup = 1

paramname = A/F_Learning_#1_C_(Stored)*(%)
paramid = 0xFF2CA0
isfloat = 1
scalingrpn = x,100,*
sampgroup = 1

paramname = A/F_Learning_#1_D_(Stored)*(%)
paramid = 0xFF2CA8
isfloat = 1
scalingrpn = x,100,*
sampgroup = 1

paramname = IAM_(1-byte)**(multiplier)
paramid = 0xFF6A6B
databits = 8
scalingrpn = x,.0625,*
sampgroup = 1

paramname = Intake_Air_Temperature(C)
paramid = 0x000012
databits = 8
scalingrpn = x,40,-
sampgroup = 1

paramname = Coolant_Temperature(C)
paramid = 0x000008
databits = 8
scalingrpn = x,40,-
sampgroup = 1

paramname = defogger_sw
paramid = 0x64
databits = 1
offsetbits = 5
isvisible = 0

type = inno
paramname = mylc1.afr
paramid = 0x0102       ; get lambda from first LC-1
scalingrpn = x,14.7,*  ; scale to an AFR

conditionrpn = defogger_sw,1,==
action = start

conditionrpn = defogger_sw,0,==
action = stop
mfb
 
Posts: 59
Joined: Fri Mar 26, 2010 1:49 am

Re: Openport Stand-Alone Logging Beta

Postby cboles » Wed Mar 31, 2010 11:17 am

There must be a problem with my error checking, which I will look into, but most likely the problem lies with your very long parameter names exceeding the total storage available for strings. Keep them shorter.

mfb wrote:I cant make sampgroup work with CAN. I just put sampgroup = 1 to those parameter I want to log slower right? So if I have 7 parameters as part of sampgroup=1, this will be logged at 1/7 of the speed. It seems Im hitting a limit to the allowed parameters for CAN as I cant log anymore.

Here is the logcfg.txt Will this work? If not, please correct so I can try.

Code: Select all
type = ssmcan

paramname = Engine_Speed(rpm)
paramid = 0x00000E
databits = 16
scalingrpn = x,4,/

paramname = Ignition_Total_Timing(degrees)
paramid = 0x000011
databits = 8
scalingrpn = x,128,-,2,/

paramname = Mass_Airflow(g/s)
paramid = 0x000013
databits = 16
scalingrpn = x,100,/

paramname = Throttle_Opening_Angle(%)
paramid = 0x000015
databits = 8
scalingrpn = x,100,*,255,/

paramname = Mass_Airflow_Sensor_Voltage(V)
paramid = 0x00001D
databits = 8
scalingrpn = x,50,/

paramname = Primary_Wastegate_Duty_Cycle(%)
paramid = 0x000030
databits = 8
scalingrpn = x,100,*,255,/

paramname = Fine_Learning_Knock_Correction(degrees)
paramid = 0x000199
databits = 8
scalingrpn = x,0.25,*,32,-

paramname = Engine_Load_(1-byte)**(g/rev)
paramid = 0xFF6A5F
databits = 8
scalingrpn = x,.015625,*

paramname = Feedback_Knock_Correction_(1-byte)**(degrees)
paramid = 0xFF6A69
databits = 8
scalingrpn = x,.3515625,*,45,-

paramname = Manifold_Relative_Pressure_(4-byte)*(psi_relative)
paramid = 0xFF643C
isfloat = 1
scalingrpn = x,0.01933677,*

paramname = A/F_Learning_#1_A_(Stored)*(%)
paramid = 0xFF2C90
isfloat = 1
scalingrpn = x,100,*
sampgroup = 1

paramname = A/F_Learning_#1_B_(Stored)*(%)
paramid = 0xFF2C98
isfloat = 1
scalingrpn = x,100,*
sampgroup = 1

paramname = A/F_Learning_#1_C_(Stored)*(%)
paramid = 0xFF2CA0
isfloat = 1
scalingrpn = x,100,*
sampgroup = 1

paramname = A/F_Learning_#1_D_(Stored)*(%)
paramid = 0xFF2CA8
isfloat = 1
scalingrpn = x,100,*
sampgroup = 1

paramname = IAM_(1-byte)**(multiplier)
paramid = 0xFF6A6B
databits = 8
scalingrpn = x,.0625,*
sampgroup = 1

paramname = Intake_Air_Temperature(C)
paramid = 0x000012
databits = 8
scalingrpn = x,40,-
sampgroup = 1

paramname = Coolant_Temperature(C)
paramid = 0x000008
databits = 8
scalingrpn = x,40,-
sampgroup = 1

paramname = defogger_sw
paramid = 0x64
databits = 1
offsetbits = 5
isvisible = 0

type = inno
paramname = mylc1.afr
paramid = 0x0102       ; get lambda from first LC-1
scalingrpn = x,14.7,*  ; scale to an AFR

conditionrpn = defogger_sw,1,==
action = start

conditionrpn = defogger_sw,0,==
action = stop
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Re: Openport Stand-Alone Logging Beta

Postby cboles » Wed Mar 31, 2010 11:29 am

I verified that the long names are the problem. In the current firmware, the header row can only be 512 characters long, even though the total string storage is a bit bigger. I will fix this, but in general you want to keep the names shorter. Once I have EcuFlash integration, you won't really ever need to look at these names withing the file, and they will be generated using shorter mnemonics.

cboles wrote:There must be a problem with my error checking, which I will look into, but most likely the problem lies with your very long parameter names exceeding the total storage available for strings. Keep them shorter.

mfb wrote:I cant make sampgroup work with CAN. I just put sampgroup = 1 to those parameter I want to log slower right? So if I have 7 parameters as part of sampgroup=1, this will be logged at 1/7 of the speed. It seems Im hitting a limit to the allowed parameters for CAN as I cant log anymore.

Here is the logcfg.txt Will this work? If not, please correct so I can try.

Code: Select all
type = ssmcan

paramname = Engine_Speed(rpm)
paramid = 0x00000E
databits = 16
scalingrpn = x,4,/

paramname = Ignition_Total_Timing(degrees)
paramid = 0x000011
databits = 8
scalingrpn = x,128,-,2,/

paramname = Mass_Airflow(g/s)
paramid = 0x000013
databits = 16
scalingrpn = x,100,/

paramname = Throttle_Opening_Angle(%)
paramid = 0x000015
databits = 8
scalingrpn = x,100,*,255,/

paramname = Mass_Airflow_Sensor_Voltage(V)
paramid = 0x00001D
databits = 8
scalingrpn = x,50,/

paramname = Primary_Wastegate_Duty_Cycle(%)
paramid = 0x000030
databits = 8
scalingrpn = x,100,*,255,/

paramname = Fine_Learning_Knock_Correction(degrees)
paramid = 0x000199
databits = 8
scalingrpn = x,0.25,*,32,-

paramname = Engine_Load_(1-byte)**(g/rev)
paramid = 0xFF6A5F
databits = 8
scalingrpn = x,.015625,*

paramname = Feedback_Knock_Correction_(1-byte)**(degrees)
paramid = 0xFF6A69
databits = 8
scalingrpn = x,.3515625,*,45,-

paramname = Manifold_Relative_Pressure_(4-byte)*(psi_relative)
paramid = 0xFF643C
isfloat = 1
scalingrpn = x,0.01933677,*

paramname = A/F_Learning_#1_A_(Stored)*(%)
paramid = 0xFF2C90
isfloat = 1
scalingrpn = x,100,*
sampgroup = 1

paramname = A/F_Learning_#1_B_(Stored)*(%)
paramid = 0xFF2C98
isfloat = 1
scalingrpn = x,100,*
sampgroup = 1

paramname = A/F_Learning_#1_C_(Stored)*(%)
paramid = 0xFF2CA0
isfloat = 1
scalingrpn = x,100,*
sampgroup = 1

paramname = A/F_Learning_#1_D_(Stored)*(%)
paramid = 0xFF2CA8
isfloat = 1
scalingrpn = x,100,*
sampgroup = 1

paramname = IAM_(1-byte)**(multiplier)
paramid = 0xFF6A6B
databits = 8
scalingrpn = x,.0625,*
sampgroup = 1

paramname = Intake_Air_Temperature(C)
paramid = 0x000012
databits = 8
scalingrpn = x,40,-
sampgroup = 1

paramname = Coolant_Temperature(C)
paramid = 0x000008
databits = 8
scalingrpn = x,40,-
sampgroup = 1

paramname = defogger_sw
paramid = 0x64
databits = 1
offsetbits = 5
isvisible = 0

type = inno
paramname = mylc1.afr
paramid = 0x0102       ; get lambda from first LC-1
scalingrpn = x,14.7,*  ; scale to an AFR

conditionrpn = defogger_sw,1,==
action = start

conditionrpn = defogger_sw,0,==
action = stop
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Re: Openport Stand-Alone Logging Beta

Postby mfb » Wed Mar 31, 2010 4:32 pm

cboles wrote:I verified that the long names are the problem. In the current firmware, the header row can only be 512 characters long, even though the total string storage is a bit bigger. I will fix this, but in general you want to keep the names shorter. Once I have EcuFlash integration, you won't really ever need to look at these names withing the file, and they will be generated using shorter mnemonics.


HI Colby,

Using a character counter http://www.lettercount.com/, I got 356 total for all the paramnames. This should work already. I checked the parameter names character count I had for those that worked and those that didnt. One Im using is 512 , exceeding that automatically meant not being able to log. :-) Thanks for confirming! I'll get back to you on what happens with logging.
    Engine_Speed(rpm)
    IgnitionTotalTiming(deg)
    MassAirflow(g/s)
    ThrottleOpeningAngle(%)
    MassAirflowSensor(V)
    PrimaryWastegateDutyCycle(%)
    FLKC(deg)
    EngineLoad(1-b)(g/rev)
    FKC(1-b)(deg)
    ManifoldRelPres(4b)*(psi_relative)
    A/FLearning#1A(%)
    A/FLearning#1B(%)
    A/FLearning#1C(%)
    A/FLearning#1D(%)
    IAM_(1-byte)
    IntakeAirTemp(C)
    CoolantTemp(C)
    defogger_sw
    mylc1.afr
mfb
 
Posts: 59
Joined: Fri Mar 26, 2010 1:49 am

Re: Openport Stand-Alone Logging Beta

Postby cboles » Wed Mar 31, 2010 5:56 pm

I have a new beta version on the site now that doesn't have this problem, but you are still limited by storage overall...

mfb wrote:
cboles wrote:I verified that the long names are the problem. In the current firmware, the header row can only be 512 characters long, even though the total string storage is a bit bigger. I will fix this, but in general you want to keep the names shorter. Once I have EcuFlash integration, you won't really ever need to look at these names withing the file, and they will be generated using shorter mnemonics.


HI Colby,

Using a character counter http://www.lettercount.com/, I got 356 total for all the paramnames. This should work already. I checked the parameter names character count I had for those that worked and those that didnt. One Im using is 512 , exceeding that automatically meant not being able to log. :-) Thanks for confirming! I'll get back to you on what happens with logging.
    Engine_Speed(rpm)
    IgnitionTotalTiming(deg)
    MassAirflow(g/s)
    ThrottleOpeningAngle(%)
    MassAirflowSensor(V)
    PrimaryWastegateDutyCycle(%)
    FLKC(deg)
    EngineLoad(1-b)(g/rev)
    FKC(1-b)(deg)
    ManifoldRelPres(4b)*(psi_relative)
    A/FLearning#1A(%)
    A/FLearning#1B(%)
    A/FLearning#1C(%)
    A/FLearning#1D(%)
    IAM_(1-byte)
    IntakeAirTemp(C)
    CoolantTemp(C)
    defogger_sw
    mylc1.afr
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Re: Openport Stand-Alone Logging Beta

Postby mfb » Wed Mar 31, 2010 6:18 pm

Storage in number of parameters that can be logged? Its currently at 60 for can right?
mfb
 
Posts: 59
Joined: Fri Mar 26, 2010 1:49 am

Re: Openport Stand-Alone Logging Beta

Postby cboles » Wed Mar 31, 2010 6:22 pm

the total string storage hasn't changed. i just removed the header writing bug.

mfb wrote:Storage in number of parameters that can be logged? Its currently at 60 for can right?
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Re: Openport Stand-Alone Logging Beta

Postby mfb » Wed Mar 31, 2010 6:28 pm

cboles wrote:the total string storage hasn't changed. i just removed the header writing bug.

mfb wrote:Storage in number of parameters that can be logged? Its currently at 60 for can right?


So string storage is still 512 and header writing bug fixed? (Sorry I didnt catch this. haha) I thought the 512 param name limitation was the bug
mfb
 
Posts: 59
Joined: Fri Mar 26, 2010 1:49 am

PreviousNext

Return to Openport Stand-Alone Logging Beta

Who is online

Users browsing this forum: No registered users and 1 guest