Custom PID
Subaru club Romania

Custom PID

MihaiFlorescu

  • *
  • 13890
  • Life is too short to drive a boring car!
Custom PID
« on: September 05, 2017, 17:30:55 PM »
Am deschis topic nou pentru aplicatiile de mobil care se conecteaza la ECU. Se pot seta niste citiri pentru a arata valori suplimentare, conditia fiind sa se stie pozitia din ECU.

Indicatorii de mai sus practic sunt valori citite de ecu de la anumiti senzori sau calculate in functie de anumite citiri.
Toti senzorii intra in ecu si intrebarea mea este daca exista legatura intre poziția de intrare in ecu si tabelul de stocare. Adica, pozitia fizica se gaseste intr-o linie/ camp cu indicativ similar sau se poate afla pozitia din ecu (soft) data fiind pozitia de intrare in unitate (hard)?

Atasez si o schema. Nu stiu daca in functie de asta pot afla pozitia din ecu... Astept raspuns si pe alt forum, dar poate stie cineva aici:


Andea stie unde bat cu asta.

Pe BRZ/GT86 exista mura in gura setarile si am inteles ca se poate face ce vreau eu pe orice ecu 2007+.
« Last Edit: September 14, 2017, 16:32:57 PM by MihaiFlorescu »

andea79

  • *
  • 4007
Re: Custom PID
« Reply #1 on: September 05, 2017, 19:27:29 PM »
nu exista o legatura intre pozitia fizica si adresa, gandeste-te ca exista diferente de adresa pe versiuni diferite de rom/updateuri ale aceluiasi ecu fizic

daca imi poti zice ecu id-ul tau pot cauta in rom... doar sa stiu care este


MihaiFlorescu

  • *
  • 13890
  • Life is too short to drive a boring car!
Re: Custom PID
« Reply #2 on: September 05, 2017, 20:38:29 PM »
Mda, adevarat... Desi unii parametri stiu ca raman pe pozitie, gen rpm, load, air temp, manifold pressure etc. Sunt acei standard PID, printre care din pacate nu se afla si Engine Oil Temperature.

Sa vad daca am cum sa il listez cu aplicatia mea, pana mai incerc cu alt tactrix.
« Last Edit: September 05, 2017, 20:43:44 PM by MihaiFlorescu »

andea79

  • *
  • 4007
Re: Custom PID
« Reply #3 on: September 05, 2017, 20:57:54 PM »
da, cei cativa standard pe OBD raman dar ceilalti variaza ... la urma urmei sunt niste adrese din memoria ram a ecu-ului a caror locatie evident se poate modifica in functie de variatiile din cod dintre versiuni ...

si cautarea acestei adrese este oarecum "dubioasa" daca nu stiu la ce este folosit in cod acest senzor: in mod normal se pleaca de la tabele  cunoscute sau usor identificabile in rom  - gen tabela de scaling a senzorului (sau bucati de cod identificate dupa alte repere in care se stie ca se foloseste si valoarea cautata - de exemplu se stie ca temperatura antigelului este folosita in functia care calculeaza compensarile pe timing sau pe boost ) si  apoi se urmaresc referintele catre aceasta din codul in assembly pana se gaseste o bucata de cod cat de cat "lizibila" in care se vede adresa ram in care se salveaza ...

andea79

  • *
  • 4007
Re: Custom PID
« Reply #4 on: September 05, 2017, 21:57:05 PM »
din cate am cautat ma astept sa ai cal id E2TB102L cu ecu id 52521A4007 - deci poate vezi pe undeva prin minunata ta aplicatie unul dintre cele 2 "numere" sa poti confirma ...

am pus aici http://www.clicksoft.ro/E2TB102L.zip rom-ul OEM si definitii ecuflash/romraider ecu&logger generate de mine pt. ca sunt similare cu cele pentru E2TB101L  - rom-ul fiind postat aici http://www.romraider.com/forum/viewtopic.php?f=8&t=7400 de un nenea Calin :)

daca vrei sa cauti adrese de test prin definitiile de logger deschizi fisierul in notepad si cauti 52521A4007
vei gasi sectiuni de genul

                <ecuparam id="E31" name="IAM (4-byte)*" desc="E31-KCA = (KA (max) map value * IAM) + FBKC + FLKC. Total Timing = KCA + base timing + timing compensations" target="1">
                    <ecu id="6202154007">
                        <address length="4">0xFF2518</address>
                    </ecu>
                    <ecu id="3C4A384106">
                        <address length="4">0xFF2528</address>
                    </ecu>
..........
                    <ecu id="52521A4007,62421A4007">
                        <address length="4">0xFF2BFC</address>
                    </ecu>

unde adresa 0xFF2BFC este adresa parametrului IAM (4-byte) pentru rom-ul tau 52521A4007

iar sub unii parametrii vei gasi si formulele de transformare in diverse unitati de masura de exemplu

 <parameter id="P2" name="Coolant Temperature" desc="P2" ecubyteindex="8" ecubit="6" target="1">
                    <address>0x000008</address>
                    <conversions>
                        <conversion units="F" expr="32+9*(x-40)/5" format="0" gauge_min="0" gauge_max="240" gauge_step="30" />
                        <conversion units="C" expr="x-40" format="0" gauge_min="-20" gauge_max="120" gauge_step="20" />
                    </conversions>

si dupa cum se vede si din exemplele de mai sus "Coolant Temperature" este un parametru "standard" care se gaseste la aceeasi adresa iar adresa IAM-ului variaza in functie de versiunea rom-ului ... 
« Last Edit: September 05, 2017, 22:04:18 PM by andea79 »

MihaiFlorescu

  • *
  • 13890
  • Life is too short to drive a boring car!
Re: Custom PID
« Reply #5 on: September 06, 2017, 10:18:50 AM »
;D Merci! Vedem ce iese.

MihaiFlorescu

  • *
  • 13890
  • Life is too short to drive a boring car!
Re: Custom PID
« Reply #6 on: September 14, 2017, 15:27:33 PM »


Acum caut prin ROM sa vad ce gasesc.

MihaiFlorescu

  • *
  • 13890
  • Life is too short to drive a boring car!
Re: Custom PID
« Reply #7 on: September 14, 2017, 16:28:46 PM »
Am pus setarile astea: Name: Oil Temp
Description: Oil Temp
*Category: Engine
*Manufacture: Subaru
Metric Units: °C
English Units: °F
*Min Value: 30
*Max Value: 150
Metric to English Scale Factor: 1.8
Metric to English Offset: 32
**Module/Header: ECM
OBD Mode: 01
PID Number: 23
*Priority: Medium
Equation:((A*256+B)/100)-40

Am tot schimbat Module intre valorile "ECM" si "7E0" si OBD mode "22" si "01" si PID "0x5C" sau "005c" in toate combinatiile si pur si simplu imi zice "No value returned".

Am selectat si "Try reading PIDs that vehicle sees as unavailable" si degeaba.


Astea dupa ce in definitiile de la andea79 gasisem acest paragraf:

<parameter id="PID5C" name="Engine Oil Temperature" desc="PID5C-Engine oil temperature" ecubyteindex="19" ecubit="4" target="1">
                    <address>0x5C</address>
                    <conversions>
                        <conversion units="°F" expr="32+9*(x-40)/5" format="0" gauge_min="0" gauge_max="140" gauge_step="20" />
                        <conversion units="°C" expr="x-40" format="0" gauge_min="-20" gauge_max="60" gauge_step="10" />
                    </conversions>
                </parameter>



PS: Ca idee, in aplicatia de windouz, Engine Oil Temperature apare tot cu SAE 0x5c la PID. Deci clar acolo este locatia, dar ceva nu e ok. Ori formula, ori modul in care scriu locatia in functie de ECU bit, ori senzorul acela este mort in papusoi.
« Last Edit: September 14, 2017, 16:31:33 PM by MihaiFlorescu »

andea79

  • *
  • 4007
Re: Custom PID
« Reply #8 on: September 14, 2017, 21:35:30 PM »
poti incerca si cu romraider logger candva -> doar zice ca este E2TB102L  si am pus definitiile mai sus...desi ti-am zis de la inceput ca ceva este ciudat cu senzorul asta de temperatura ulei pe outback -> adica de 30 de ani nu sunt in stare sa puna un astfel de amarat de senzor pe sti si il pun pe outback ? :) ... sau poate chiar este :)
in manualul de service, pe schema cu intrarile/iesirile/pinii ECU apare undeva acest senzor ?

MihaiFlorescu

  • *
  • 13890
  • Life is too short to drive a boring car!
Re: Custom PID
« Reply #9 on: September 14, 2017, 23:33:23 PM »
Pai schema de mai sus de unde crezi ca este? :D E tot acolo cu ce pin intra in ecu, diagnostic pe senzor, scheme explodate cu locatia lui. Este incorporat in unul din senzorii de presiune. O sa ii fac o poza.

Oricum nu mai insist pentru moment. Ma depaseste.

PS: pe forumul de gt86 gasisem ca citesc de la un senzor de ulei pe AVCS. Poate spun prostii si cum nu am avut nici un subaru cu avcs, nu stiu. Posibil sa fie din nou, specific motoarelor fa si fb intrucat afiseaza din fabrica pe ecranul multifunctional temperatura uleiului, dar la BRZ au fost zgarciti cu ecranele in interior. De acolo si interesul.
Poate au pus ceva similar si pe STi mai noi, gen 2010+
« Last Edit: September 14, 2017, 23:38:29 PM by MihaiFlorescu »

andea79

  • *
  • 4007
Re: Custom PID
« Reply #10 on: September 15, 2017, 08:28:27 AM »
pai evident ca este manual de service mai sus, am zis eu altceva inafara ca mai sunt si ametit cateodata ? :)

pot verifica zilele astea pe un sti 2015 cu care ma mai distrez desi pana acum nu am bagat de seama sa aiba nimic legat de ulei..iar cu fa-urile nu m-as compara ca au alt motor, alt ecu, alt alt
« Last Edit: September 15, 2017, 08:29:02 AM by andea79 »

Forester

  • 3067
  • The other right!
Re: Custom PID
« Reply #11 on: September 15, 2017, 08:33:10 AM »
Ca sa sintetizam putin, ca m-am pierdut si nu am chef sa rasfoiesc prea mult in urma - pana la urma exista vreun EJ care sa vina din fabrica cu senzor de temp ulei?  :)
Forester SG 2.5XT 2006
Ex Forester SG 2.0x 2008

andea79

  • *
  • 4007
Re: Custom PID
« Reply #12 on: September 15, 2017, 08:43:43 AM »
eu nu stiam sa fie / nu m-am intalnit cu niciunul dar s-ar parea ca totusi ar fi la outback dar e mai rusinos si inca nu vrea sa vorbeasca cu nimeni :)

MihaiFlorescu

  • *
  • 13890
  • Life is too short to drive a boring car!
Re: Custom PID
« Reply #13 on: September 15, 2017, 09:36:09 AM »
Da, exista la outback si legacy. Din cate am inteles, a fost instalat incepand cu 2008. Acum nu zic ca am eu, dar Outback este nava amiral Subaru. Teoretic pun ce au mai bun. Este foarte posibil sa bat campii si de fapt echiparea sa fie pe model de Japonia sau SUA sau mai stiu eu ce, dar pentru asta o sa ma duc sa fac poza.

Cat despre subiect, cica se pot seta custom PID din aplicatiile de mobil care se leaga la ELM sau orice device de citire prin OBD. Asta inseamna ca orice trimite semnal la ECU poate fi citit, doar sa stii pozitia din tabel (software, nu hardware) si mai intervin niste variabile: tipul de ECU pe cati biti este ca sa stii cum sa scrii pozitia (expl. acest senzor cica este pe 0x5C, dar se poate scrie in diferite moduri), apoi mai trebuie sa stii formula de calcul si conversii pentru metric si imperial, desi am inteles ca standard se citesc in metric, deci poti sa o lasi si fara conversia la imperial.

Cam asta am gasit eu in manual. Si amintiri ca acum un an cand am pus RomRaider pe masina am putut monitoriza acest parametru. Acum nu stiu de ce aplicatia pe care o am nu stie sa-l citeasca (nici de pe mobil, nici cea de pe laptop).






« Last Edit: September 15, 2017, 09:37:07 AM by MihaiFlorescu »

MihaiFlorescu

  • *
  • 13890
  • Life is too short to drive a boring car!
Re: Custom PID
« Reply #14 on: September 15, 2017, 09:43:25 AM »
maker   subaru
parts code   22630
parts no   22630AA140
parts name   SENSOR ASSEMBLY,TEMPERATURE
Vehicle compatibility

Vehicle   period   fig
LEGACY B4 4D SEDAN   2003/01 - 2004/04   
LEGACY B4 4D SEDAN   2009/02 - 2010/04   
IMPREZA 5D WAGON   2007/03 - 2009/02   
IMPREZA G4 4DS   2011/09 - 2012/09   
IMPREZA S 5DW   2011/09 - 2012/09   
FORESTER 5D WAGON   2007/09 - 2009/01   
EXIGA 5DOOR WAGON   2008/04 - 2009/08   
BRZ 2DOOR COUPE   2011/11 - 2013/08   

Are cod similar cu cel de temperatura pentru antigel.
« Last Edit: September 15, 2017, 09:47:47 AM by MihaiFlorescu »

andea79

  • *
  • 4007
Re: Custom PID
« Reply #15 on: September 15, 2017, 09:53:33 AM »
paai... nu pot decat sa repet, confirma ca it's working cu romraider logger si apoi macar stii o treaba -> problema daca exista este din cealalta aplicatie ...

MihaiFlorescu

  • *
  • 13890
  • Life is too short to drive a boring car!
Re: Custom PID
« Reply #16 on: September 15, 2017, 17:46:00 PM »
Mos Craciun exista! Trebuie sa-l facem sa vorbeasca..





Mufa alba. Si chiar arata ca un senzor de ulei.
« Last Edit: September 15, 2017, 17:48:14 PM by MihaiFlorescu »