Prefects OBDII Progrämmchen...

  • Ach ja, nochwas,


    der Ölstand wird lt. "Holy bible" zwar der ECU gemeldet 8o, aber ob das Teil ihn wieder rausrückt ?


    Gruß Rotaminator

  • @Rotaminator: Herzlichen Dank!


    Habs aber eeetwas einfacher auch hinbekommen *g*:


    this.FormBorderStyle = FormBorderStyle.None;


    ist etwas weniger "invasiv" und eher standard-konform.



    Steht in der Holy Bible etwas von einer PID-ID oder sonst ein Code? Im Programmers-Guide sind längst nicht alle lesbaren Werte aufgeführt. Man müsste nur wissen, welchen Code man der ECU schicken muss und in welchem Format die Werte zurückkommen... Wär also seeehr interessant wenn man hier noch einiges mehr herausfinden würde!


    Grüsse! Chris

    old: 231er BlackBeauty, 217PS, 17 l/100km, Sebring, Eibach, CarPC
    new: 231er SunlightSilver, 212PS, H&R Federn, CarPC, Tagfahrlicht, tinted windows, 7" 16:9 tft, Frontkamera, GPS, Exhaust Microphone, Carnetix PowerSupply, CAM Felgen 17" 225 Goodyear Winterreifen, Klavierlack Abdeckungen, blaue LEDs, 2x blaue Leuchtröhren, Rückfahrkamera, Folientastatur auf Mittelkonsole, optical wireless Mouse, Tape-Hack Audioinput

    Einmal editiert, zuletzt von Prefect ()

  • der wds kann kann viele weitere sachen oder? Vieleicht sogar Ölstand ablesen?!? Man müsste die WDS sofware organisieren und ein bischen sniffen...

    MEIN EX:
    231er Titangrau - 4. Juni 2004 bis 21. März 2008
    Navi • Bel. Schaltknauf • LAA Poliert • rote Bremszangen • RX-8 Bremsleuchte • Heck "clean" • Türgriffe u. Aschenbecher Piano schwarz • Eyelids
    weisse Standlichter & Innenbeleuchtung • Getönte Heckscheiben • Mazdaspeed Innenspiegel • Klappschlüssel • AxialFlow ShortShifter • Haubendämpfer • BömsFireFOX Auspuffanlage • Mazdaspeed Bodykit • Barracuda Superfast Hyperblack 8.5+9.5*19" auf 235/35+275/30 Yokohama AVS Sport

    Einmal editiert, zuletzt von Sayen ()


  • FormBorderStyle = Eh klar! :Y: Bei Netzleitsystemen kommt man damit nicht sehr weit. :tongue: Der Anwender darf ja nicht mal eben vom laufenden Programm auf ein anderes Programm umschalten dürfen. Hooking ist da ein probates Mittel dagegen (Bildschirmschoner-Mode ist dabei nur der Anfang). :D


    Schau mal in deine PN-Box!


    Gruß Rotaminator

  • @Programmierer


    das hört sich ja alles richtig nach Arbeit an! :Y:


    Ich hab von dem ganzen wenig Ahnung, aber vielleicht gibts ja was hilfreiches in der Programmbibliothek unter http://www.leo.org . Wenn die Programmbibliothek so gut ist, wie das Wörterbuch, solltet Ihr fündig werden.


    Mich interessiert vor allem die Programmierung auf Palm (T3) . Hat jemand ne Ahnung, wie man so nen Kasten programmiert? ?( Ich fang da völlig neu an, hab gelesen, man braucht ne Entwicklungsumgebung aus dem Internet. Kann mir da jemand weiterhelfen? (so in 2 Wochen, bin jetzt erst mal im Urlaub :><: :tongue: :D )

  • Moin, moin,


    wer Software für die Palm Handhelds entwickeln möchte, sollte mal unter folgendem Link nachschauen


    Guckst Du hier


    Nach der Registrierung als Developer kann man verschiedene Tools inkl. einer Entwicklungsumgebung runterladen. Die Anmeldung sollte kostenlos sein - genauso wie die Software.


    Da ich aber nich mehr aktiv programmiere, weiss ich es nicht mehr genau :O

  • Prefect


    Folgende Gauges setze ich ein:
    9 Rays Instrumentation Widgets


    Die sind vollständig .NET.
    Außerdem noch einige Bibliotheken von IOComp. Sind zwar COM, lassen sich aber genauso einbinden. Von den Instrumentation Widgets gibt's auch ne PocketPC version (Compact Framework). Auch sehr schön.


    Solltest du Unterstützung beim Entwicklen brauchen, sag mir einfach was ich tun soll :D


    Mein Background: 3,5 Jahre .NET (ja, seit Beta 1) in der Industrieautomation


    Werde mir auf jeden fall mal deinen aktuellen Stand ansehen.


    Achso...wegen dem Laufen lassen als Bildschirmschoner: Das funktioniert nicht überall. Besser: IMHO Fullscreen und Keyboard-Hook um bestimmte Tasten zu blocken. hab das Ganze als C-DLL hier liegen. Wenn du's haben willst, einfach Bescheid geben.



    Gruß,


    Lars

    Einmal editiert, zuletzt von Shorty ()

  • Hi Shorty!


    Danke für den Link!


    Die Gauges sehen recht hübsch aus! Einige könnte ich gut verwenden, z.B. die Time/Value Graphen!


    Davon gibt es aber anscheinend nur eine Trial-Version...


    Ich seh das Projekt vor allem auch als Selbststudium um in C#.Net reinzukommen. Als nächstes will ich aus dem SerialPort-Reader einen eigenen Thread machen, der laufend ALLE OBDII Werte abholt und in ein Array schreibt. Ein anderer Thread soll dann die Werte laufend graphisch darstellen. Mal sehen ob ich das mit den Threads hinbekommen...


    Hat jemand eine Idee wie ich das am saubersten lösen könnte:
    ich hab ja sehr viele Werte die ich laufend abfragen will. Manche sollen in echtzeit abgefragt werden (Drehzahl, Luftmengenmesser,..), andere etwas seltener (Geschwindigkeit, Motorlast, Verbrauch), und andere sind beinahe statisch (Öltemperatur usw.).


    Dazu müsste ich erst eine Liste aller OBDII Werte erstellen und dazu jeweils Parameter definieren wie Min-, Max-Values, Abfrageintervall und Umrechnungsformel.


    Ich hab irgendwo ne while-Schlaufe, die nacheinander alle Werte abfrägt. Wie kann ich die verschiedenen Werte priorisieren? Also Geschwindigkeit soll bei jedem Durchgang abgefragt werden, Öltemperatur nur bei jedem 50. Durchlauf. Irgendwie mit Modulo und nem Counter ev.?


    Am schönsten wäre es, zwei bis vier Echtzeit-Slots zu haben die immer (bei jedem while-Durchgang) abgefragt werden, dann ein Slot für Values die sich diesen Slot abwechselnd teilen, und nochmals einen für alle restlichen Values die dann reihum abgefragt werden (und dadurch seltener zum Zug kommen).


    Mal sehen wie ich das machen könnte...



    Ein Kollege ist gerade dabei dasselbe für den GPS Empfänger zu machen. Dann können wir diese beiden Datenquellen kombinieren und ein umfassendes Datalogging- und Analysetool basteln :]


    Schade dass VisualStudio c# 2005 express beta noch ziemlich instabil ist...


    Grüsse! Chris

    old: 231er BlackBeauty, 217PS, 17 l/100km, Sebring, Eibach, CarPC
    new: 231er SunlightSilver, 212PS, H&R Federn, CarPC, Tagfahrlicht, tinted windows, 7" 16:9 tft, Frontkamera, GPS, Exhaust Microphone, Carnetix PowerSupply, CAM Felgen 17" 225 Goodyear Winterreifen, Klavierlack Abdeckungen, blaue LEDs, 2x blaue Leuchtröhren, Rückfahrkamera, Folientastatur auf Mittelkonsole, optical wireless Mouse, Tape-Hack Audioinput

  • Zitat

    Original von Prefect
    ...Schade dass VisualStudio c# 2005 express beta noch ziemlich instabil ist...


    Grüsse! Chris


    Wieso machst du es nicht mit dem normalen Visual Studio .NET ?
    Ist die 2005 Beta viel besser?


    Gruss Sayen

    MEIN EX:
    231er Titangrau - 4. Juni 2004 bis 21. März 2008
    Navi • Bel. Schaltknauf • LAA Poliert • rote Bremszangen • RX-8 Bremsleuchte • Heck "clean" • Türgriffe u. Aschenbecher Piano schwarz • Eyelids
    weisse Standlichter & Innenbeleuchtung • Getönte Heckscheiben • Mazdaspeed Innenspiegel • Klappschlüssel • AxialFlow ShortShifter • Haubendämpfer • BömsFireFOX Auspuffanlage • Mazdaspeed Bodykit • Barracuda Superfast Hyperblack 8.5+9.5*19" auf 235/35+275/30 Yokohama AVS Sport

  • im normalen VisualStudio2003 gibt es keine Möglichkeit (ohne Zusatztools oder komplizierte Tricks) den SerialPort anzusprechen...


    Seit .NET Beta 2.0 kann man einfach SerialPort sp = new SerialPort(); machen 8)

    old: 231er BlackBeauty, 217PS, 17 l/100km, Sebring, Eibach, CarPC
    new: 231er SunlightSilver, 212PS, H&R Federn, CarPC, Tagfahrlicht, tinted windows, 7" 16:9 tft, Frontkamera, GPS, Exhaust Microphone, Carnetix PowerSupply, CAM Felgen 17" 225 Goodyear Winterreifen, Klavierlack Abdeckungen, blaue LEDs, 2x blaue Leuchtröhren, Rückfahrkamera, Folientastatur auf Mittelkonsole, optical wireless Mouse, Tape-Hack Audioinput

    Einmal editiert, zuletzt von Prefect ()

  • Aaachsoo

    MEIN EX:
    231er Titangrau - 4. Juni 2004 bis 21. März 2008
    Navi • Bel. Schaltknauf • LAA Poliert • rote Bremszangen • RX-8 Bremsleuchte • Heck "clean" • Türgriffe u. Aschenbecher Piano schwarz • Eyelids
    weisse Standlichter & Innenbeleuchtung • Getönte Heckscheiben • Mazdaspeed Innenspiegel • Klappschlüssel • AxialFlow ShortShifter • Haubendämpfer • BömsFireFOX Auspuffanlage • Mazdaspeed Bodykit • Barracuda Superfast Hyperblack 8.5+9.5*19" auf 235/35+275/30 Yokohama AVS Sport

  • Prefect


    Verschiedene Abfrage-Intervalle kannst du z.B. mit verschiedenen Timern lösen. Die Timer-Events laufen in seperaten Threads und arbeiten somit unabhängig voneinander.
    Du könntest aber auch direkt eigene Worker-Threads starten. Deren Priorität kannst du direkt steuern, solange du die Threads nicht aus dem Threadpool nimmst.


    Hatte leider noch nicht gelgenheit, mal tiefer in deine Implementierung reinzuschauen. Werde das am Wochenende machen.


    Werde mal versuchen, ein sauberes Software-Design hinzubekommen, das deine bisherige Arbeit einbezieht und evtl Basis für weiterentwicklung sein kann.
    Ich wollte im Laufe dieses Jahres noch eine Version für PocketPC erstellen. Vielleicht können wir uns da ja zusammen tun.


    Gruß,


    Shorty

  • VS2005: Die Februar CTP war für eine Beta von Microsoft schon ziemlich stabil (im Gegensatz zur ersten Beta). Vergleich zu vs2003, NET1.x: Das gesamte Framework hat imo einen großen Schritt nach vorne gemacht, dazu der erweiterte Sprachumfang mit Generics, partiellen Klassen, Refactoring, Team System etc.


    p.s. die Beta 2 ist mittlerweile (seit letztem Freitag) downloadbar (mit der üblichen Uninstall/Installorgie und Go Live Lizenz http://lab.msdn.microsoft.com/vs2005/golive)


    Palm: Kommt drauf an was ihr machen wollt.
    Reicht gcc/pilrc+Editor (pilrc ist ein freier Resourceneditor) oder soll's die graphisch aufgebohrte Variante Palm OS Developer Suite auf Eclipse-Basis sein.
    Beiden gemein ist eigentlich nur die ziemliche Low-Level-GUI-Programmierung ala FrmInitForm, FrmSetEventHandler... FrmSetDIAPolicyAttr..., den eigenen Eventschleifen, den div. Unterschieden in den OS-Versionen und anderen Beschränkungen des PalmOS wie max. 64kB großen PDB-Einträgen.
    Besser wirds mit den kommerziellen IDE's wie dem Codewarrior inkl. einer relativ brauchbaren Klassenbibliothek, Pocketstudio(Pascal), Appforge/Crossfire(C#, VB, teuer und Client-Lizenzen erforderlich) oder NS Basic/PocketC für die kleineren Sachen.


    Zu den eigentlichen Problemen:
    Priorisierung:
    Die Modulo/Counter-Lösung sollte eigentlich ganz gut funktionieren.



    --T--T--T--T--T--T
    ---T---T---T---T--
    ----T----T----T---
    -----T-----T-----T
    -----^-----^--^--^


    Bei der Timer/Thread-Lösung hat man dann noch das obige Problem (Race-Condition) zu lösen indem z.B. die Timer-Threads ihre Anfrage zuerst in eine Queue schreiben, die dann von einem Com-Thread abgearbeitet wird (bei (sehr) vielen abzufragenden Werten bzw. Timing-Problemen sind dann irgendwann Priority Queues und Scheduler gute Startpunkte)


    Zu den Instrumenten-Controls: siehe zip.

    Dateien

    • inst.zip

      (18,23 kB, 122 Mal heruntergeladen, zuletzt: )

    2 Mal editiert, zuletzt von fast8 ()

  • ich habe die analog-anzeigen zum laufen gebracht. hab aber eine andere komponente dafür verwendet.. irgendwo habe ich mal ein meter.zip gefunden. diese komponente habe ich jetzt erweitert und angepasst und mal provisorisch ins progrämmchen eingefügt.


    nun kann über ein tab oben zwischen verschiedenen ansichten umgeschaltet werden (horizontale progress bars, analoge rundinstrumente, nummerische werte oder die debug-ansicht)


    als nächstes muss ich mich um eine saubere programmstruktur mit einem thread für die serialkommunikation kümmern und natürlich mehr abfragewerte einfügen.

    Bilder

    old: 231er BlackBeauty, 217PS, 17 l/100km, Sebring, Eibach, CarPC
    new: 231er SunlightSilver, 212PS, H&R Federn, CarPC, Tagfahrlicht, tinted windows, 7" 16:9 tft, Frontkamera, GPS, Exhaust Microphone, Carnetix PowerSupply, CAM Felgen 17" 225 Goodyear Winterreifen, Klavierlack Abdeckungen, blaue LEDs, 2x blaue Leuchtröhren, Rückfahrkamera, Folientastatur auf Mittelkonsole, optical wireless Mouse, Tape-Hack Audioinput

  • was ich mir auch schön vor stehlen könnte ist ein diagram



    so irgend etwas :] dann könnte man auch gleich sehen was man hinter sich hat und was dan noch kommen mag man könnte vieleicht so etwas wie einen teimmer vür die drossel klappen stellung machen ?(
    oder xy so was

    abgeholt am 29.4.05 Schwarz gross mit rotem Leder km stand 83 542



  • zombi: das ist schon (passiv) integriert.. siehe erster post in diesem thread: kaltstart.jpg


    Af einem der Tabs werde ich natürlich auch solche Graphen darstellen..


    Ein Kollege von mir entwickelt auch mit dem C#.Net Paket dasselbe für den GPS Empfänger. Bis jetzt hat er schon eine Geschwindigkeits-Zeit-Kurve die Live angezeigt wird. Dieses Modul werde ich dann in mein Tool integrieren.

    old: 231er BlackBeauty, 217PS, 17 l/100km, Sebring, Eibach, CarPC
    new: 231er SunlightSilver, 212PS, H&R Federn, CarPC, Tagfahrlicht, tinted windows, 7" 16:9 tft, Frontkamera, GPS, Exhaust Microphone, Carnetix PowerSupply, CAM Felgen 17" 225 Goodyear Winterreifen, Klavierlack Abdeckungen, blaue LEDs, 2x blaue Leuchtröhren, Rückfahrkamera, Folientastatur auf Mittelkonsole, optical wireless Mouse, Tape-Hack Audioinput

    Einmal editiert, zuletzt von Prefect ()

  • ja genau perfekt :] :D


    ich werde dan mal schauen wie ich mich dan mal arangschieren kann für so ein programm


    wie wäre es mit einer gfk halterung vür dein bildschirm ?? :D


    projekt wird noch ins leben gerufen so am juli oder anfag august :P

    abgeholt am 29.4.05 Schwarz gross mit rotem Leder km stand 83 542



  • Prefect


    Background ist in Arbeit, also immer schön weitermachen ;).


    Mal was anderes, könntest du mir mal dieses Paket meter.zip schicken, hab da eine coole Idee!


    Vielen Dank im voraus!!!

  • @Roadrunner: habs Dir geschickt!


    Bin gerade am Mailen mit Dan Harrison.. Es gibt eine neue Firmware für die CANScan Interfaces, die nun nicht mehr "hängen" bleibt und man somit nicht mehr aus- und wieder einstecken muss wenn keine Daten mehr kommen. Die neuen Chips will er für 19.-$ verkaufen. Ich habe nachgefragt ob das nicht unter Garantie laufen würde.


    Wer möchte alles auch eine solche neue Firmware für sein CANScan Interface?


    Die Formel für den Spritverbrauch will er mir schicken, ich muss sie aber geheimhalten. (Wird aus dem AirFlow und der Geschwindigkeit errechnet)


    Oilpressure ist tatsächlich nicht per OBDII-Value verfügbar. Wegen der Temperatur frage ich nochmals nach.


    Hier mal eine aktuelle Version des Progrämmchens:


    OBDIIReader_Release2.7.zip


    Grüsse und ein schönes Wochenende,
    Chris

    old: 231er BlackBeauty, 217PS, 17 l/100km, Sebring, Eibach, CarPC
    new: 231er SunlightSilver, 212PS, H&R Federn, CarPC, Tagfahrlicht, tinted windows, 7" 16:9 tft, Frontkamera, GPS, Exhaust Microphone, Carnetix PowerSupply, CAM Felgen 17" 225 Goodyear Winterreifen, Klavierlack Abdeckungen, blaue LEDs, 2x blaue Leuchtröhren, Rückfahrkamera, Folientastatur auf Mittelkonsole, optical wireless Mouse, Tape-Hack Audioinput