1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  3. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  4. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

Problem mit vellemann k8055 und C# Software Bug???

Discussion in 'Miscellaneous' started by RaceRay, Aug 29, 2007.

  1. RaceRay

    RaceRay Administrator Staff Member SimAxe Beta Tester

    Joined:
    Nov 8, 2006
    Messages:
    4,656
    Occupation:
    Self-employed | Web and application development
    Location:
    Hamburg, Germany
    Balance:
    23,837Coins
    Ratings:
    +1,965 / 13 / -0
    My Motion Simulator:
    2DOF, DC motor, SimAxe, SimforceGT
    Ich hab mir das k8055 aufgebaut und spreche es mit C# an, nutze die k8055.dll in Version 2 und 3.

    Das hat bisher geklappt, und ich hab die LFSlib.net class eingebunden, um per outgauge Schnittstelle aus LifeForSpeed Daten zu extrahieren und entsprechende Ausgaben mit dem Vellemann zu realisieren.

    Ich hab an das K8055 ein kleines LED Display angeschlossen und lass mir die Gänge darauf anzeigen. Das hatte soweit funktioniert, bis im Laufe des Entwicklungsprozesses plötzlich der digitale Ausgang Port 1 plötzlich auf Port 2, Port 2 auf Port 3, etc. geschaltet war. Meine Ganganzeige stimmt nun natürlich nicht mehr.

    Das ist ohne mir ersichtlichen Grund passiert, bin mir auch keiner Änderung im Code bewusst, die dieses Verhalten verursachen könnte.

    Das SELTSAME ist: Selbst wenn ich den ursprünglichen unveränderten C# Code verwende, der bisher die Karte gesteuert hat und 100% funktionierte, zeigt dieser mir den gleichen Fehler an. Nur bei den 8 digitalen open collector Ausgängen!

    Nutze ich hingegegen eines der von Vellemann mitgelieferten Demo Programme, die noch die alte DLL nutzen tritt kein Fehler auf.

    Ich hab an den Anschluss Clamp 5V+ gelegt und schalte die einzelnen LED Segmente mit Port 1-8

    Hier hab ich den Code mitgeliefert. Fertig kompiliert, direkt zum Ausführen, liegt dieser auch im Ordner publish. (Net Framework 2.0 wird benötigt)

    Bittet tested mal bei Euch, ob die Ports 1 - 8 auch nicht korrekt funktionieren. Wo liegt der Fehler im Code?

    [​IMG]outgauge_control.zip (2.36 MB)

    Wenn Ihr die RPM, Geschwindigkeit. Ganganzeige etc. sehen wollt, müsst ihr die lfs.cfg zuvor bearbeiten:

    OutGauge Mode 2
    OutGauge Delay 20 // je kleiner, desto flüssiger
    OutGauge IP 127.0.0.1
    OutGauge Port 30000 // Port Eurer Wahl
    OutGauge ID 2 // Wichtig: nicht auf 0 stellen, mit der LFSlib die ich verwende gibts sonst einen Bug, der ist in der neueren Version aber schon behoben

    Nun LFS starten, dann die Software ausführen, den Port anpassen und apply drücken - et voila, schon seht ihr auf einem zweiten screen oder im Fenstermodus wie redsellig LFS ist.

    Gruß
    René
  2. RaceRay

    RaceRay Administrator Staff Member SimAxe Beta Tester

    Joined:
    Nov 8, 2006
    Messages:
    4,656
    Occupation:
    Self-employed | Web and application development
    Location:
    Hamburg, Germany
    Balance:
    23,837Coins
    Ratings:
    +1,965 / 13 / -0
    My Motion Simulator:
    2DOF, DC motor, SimAxe, SimforceGT
    den Vorwiderstand hab ich ja an der Anode des 7 Segmet LED´s (eine gemeinsame Anode für alle Segmente) Es funktioniert auch.

    Geht mir nur darum, dass wenn ich per C# Port 1 aktiviere, plötzlich Port 2 auf dem Board aktiviert wird....

    ...Ok, hab jetzt dennoch die 5V an Clamp abgenommen, aber gleiche Wirkung wie zuvor...

    Magst Du bitte nur kurz testen, ob, wenn Du den Code ausführst und Port 1 selektierst auch die Diode 1 auf dem Board leuchtet?!?

    Ich muss dazu sagen, dass es mein erstes C# Programm überhaupt ist, also hab etwas Nachsicht mit mir :D
  3. egoexpress

    egoexpress Active Member

    Joined:
    Dec 13, 2006
    Messages:
    3,839
    Location:
    Germany - Frankfurt/M
    Balance:
    421Coins
    Ratings:
    +7 / 1 / -0
    Vielleicht zählt er jetzt von 0-7 und zuvor von 1-8

    Bei 0-7 wäre 1=2 ;)
  4. RaceRay

    RaceRay Administrator Staff Member SimAxe Beta Tester

    Joined:
    Nov 8, 2006
    Messages:
    4,656
    Occupation:
    Self-employed | Web and application development
    Location:
    Hamburg, Germany
    Balance:
    23,837Coins
    Ratings:
    +1,965 / 13 / -0
    My Motion Simulator:
    2DOF, DC motor, SimAxe, SimforceGT
    Hatte ich auch schon gedacht, aber mit den beim Board mitgelieferten Programmen zählt er ja wie gehabt von 1 - 8 :D

    Es ist einfach nur unlogisch, oder ich steh nur im Wald, und seh den Ast nicht.

    Wenn ich wenigstens die Bestätigung hätte, dass die Software bei Jedem anderen genauso krumm läuft, wüsste ich, dass ein Programmierfehler drin steckt. Hab so aber leider immer noch den Verdacht auf einen Bug gestossen zu sein, dessen Abhängigkeit ich noch nicht herrausgefunden habe.

    Kannst Die Software bei Dir mal starten? LFS brauchst Du dafür nicht - nur das angeschlossene Vellemann - ist auch garantiert 100% virenfrei :D
  5. egoexpress

    egoexpress Active Member

    Joined:
    Dec 13, 2006
    Messages:
    3,839
    Location:
    Germany - Frankfurt/M
    Balance:
    421Coins
    Ratings:
    +7 / 1 / -0
    Würde ich gerne, aber ich habe beim Kauf des Velleman leider ins Klo gegriffen. Das Interface kam zusammengebaut mit der Post, aber ist leider sofort heiß geworden, sobald es am USB Port angeschlossen wurde.
    Ebay+keine Garnantie-> Pech gehabt

    Nun dient mir das Board als Ersatzteillager :)

    Nunja, tut aber nix zur Sache...

    Aber ich finds klasse dass Du dich damit beschäftigst. Wann können wir nen E36 Tacho ansteuern? :mrgreen:
  6. RaceRay

    RaceRay Administrator Staff Member SimAxe Beta Tester

    Joined:
    Nov 8, 2006
    Messages:
    4,656
    Occupation:
    Self-employed | Web and application development
    Location:
    Hamburg, Germany
    Balance:
    23,837Coins
    Ratings:
    +1,965 / 13 / -0
    My Motion Simulator:
    2DOF, DC motor, SimAxe, SimforceGT
    Ohh, das natürlich ärgerlich für Dich....ich nenn den Laden nur noch eBääääh

    Finde das Board ganz nett für meine ersten Schritte. Der E36 Tacho liegt schon bei mir im Trockenen, und wartet nur darauf Gas zu geben. Aber erst muss das kleine Problem aus dem Weg geräumt werden.

    Ich hoffe immer noch, dass Martin, sich einem Start der Software annimmt, damit ich weitere Fehlerquellen ausschliessen kann.
  7. RaceRay

    RaceRay Administrator Staff Member SimAxe Beta Tester

    Joined:
    Nov 8, 2006
    Messages:
    4,656
    Occupation:
    Self-employed | Web and application development
    Location:
    Hamburg, Germany
    Balance:
    23,837Coins
    Ratings:
    +1,965 / 13 / -0
    My Motion Simulator:
    2DOF, DC motor, SimAxe, SimforceGT
    Hab hier mal ein kleines Video hochgeladen, auf dem man das Zusammenspiel der einzelnen Komponenten hoffentlich erkennen kann. Leider entpricht die LED Anzeige aufgrund des Fehlers nicht den tatsächlichen Gängen.

    http://www.x-simulator.de/downloads/outgauge.avi 18MB

    Edit: Nun hab ich den Fehler behoben - Die Anzeige funktioniert. Auch auf dem Video.
  8. RaceRay

    RaceRay Administrator Staff Member SimAxe Beta Tester

    Joined:
    Nov 8, 2006
    Messages:
    4,656
    Occupation:
    Self-employed | Web and application development
    Location:
    Hamburg, Germany
    Balance:
    23,837Coins
    Ratings:
    +1,965 / 13 / -0
    My Motion Simulator:
    2DOF, DC motor, SimAxe, SimforceGT
    Benutze das kostenlose Visual Studio C# Express Edition.
    http://www.microsoft.com/germany/msdn/v ... fault.mspx

    Hast Du mal die exe gestartet im ordner outgauge_control\K8055Test\K8055Test\publish?

    grübel... stateD01 sollte funktionieren
  9. RaceRay

    RaceRay Administrator Staff Member SimAxe Beta Tester

    Joined:
    Nov 8, 2006
    Messages:
    4,656
    Occupation:
    Self-employed | Web and application development
    Location:
    Hamburg, Germany
    Balance:
    23,837Coins
    Ratings:
    +1,965 / 13 / -0
    My Motion Simulator:
    2DOF, DC motor, SimAxe, SimforceGT
    Du hast verstanden was ich meinte...tatsächlich wird stateDO komplett um eins verschoben. Wie meinst Du das mit dem Debug?

    Edit: stateDO <<= 1; gehört zur Cycle funktion, fällt also raus.

    b = 1 <<b das könnte es sein...muss den Sinn dieses Zählens? noch herrausfinden

    Edit: Juhu, Martin, ich glaub das ist es!!! Wenn ich testweise Variable b kommentiere, dann lässt sich Port 1 schonmal aktivieren. Port 3 jedoch aktiviert gleich 1 und 2, 4 dann wieder 1...und so weiter...stimmt noch nicht ganz, aber nah dran, Danke!!!
  10. RaceRay

    RaceRay Administrator Staff Member SimAxe Beta Tester

    Joined:
    Nov 8, 2006
    Messages:
    4,656
    Occupation:
    Self-employed | Web and application development
    Location:
    Hamburg, Germany
    Balance:
    23,837Coins
    Ratings:
    +1,965 / 13 / -0
    My Motion Simulator:
    2DOF, DC motor, SimAxe, SimforceGT
    So, jetzt hab ich es hinbekommen :D Werde morgen ein neues Video machen, dann mal bei Tageslicht.

    nacht