Code: Alles auswählen
Case 2561 'Geschwindigkeit3
OutChar(0) = 86 'V
OutChar(1) = CByte(System.Math.Round(data.Value, 0))
Serial.Write(OutChar, 0, 2) '<- Diese Zeile auskommentieren
Code: Alles auswählen
Case 2561 'Geschwindigkeit3
OutChar(0) = 86 'V
OutChar(1) = CByte(System.Math.Round(data.Value, 0))
Serial.Write(OutChar, 0, 2) '<- Diese Zeile auskommentieren
Das werde ich versuchen mal rauszufinden -nonesense hat geschrieben:Könnte es dann die Beschleunigung, Oberstrom, Motordrehzahl oder ähnliches sein?
Ich habe noch ein neues Video gemacht, da sieht man schön wie sich beim Beschleunigen der Wert für LM_U steigert bis 255 über 0 und wieder von vorne und beim Bremsen das Gleiche nur rückwärts ... Leider spinnt CamStudio und bricht die Aufnahmen nach ein paar Sekunden ohne mein Wissen ab - hmm.Dude hat geschrieben: Ich staune wirklich über das Video von Dennis was da so an Werten rauskommt
Das ist doch die Software von Jens (nonesense) auf Grundlage Deiner DLL -Andreas Karg hat geschrieben:Magst du bitte mal den kompletten Quellcode des Programms irgendwo hier reinstellen?
Um herauszufinden ob der Fehler bei den übertragenen Daten selbst oder deren Interpretation liegt, wäre eine Aufzeichnung des Datenverkehrs (z. B. mittels Wireshark) hilfreich.Dennis Bork hat geschrieben:wenn es einen entsprechenden Fehler gibt der die abgefragten Daten durcheinanderwirft dann sollte der tatsächlich auf Seiten des TCP-Servers liegen
Ah! Dann blicke ich zwar langsam nicht mehr durch *welcher* Quellcode am aktuellsten ist , aber:Andreas Karg hat geschrieben:Ah. Das basiert noch auf der alten Schnittstelle.
Ich weiß - Die Ludmilla habe ich extra zum Testen genommen da dies die einzige BR war bei der der "Fehler" so offensichtlich war und aufgrund der besseren Reproduzierbarkeit.Die haben im Zusi nämlich alle eine PZ80R eingetragen, die sowas wie einen Zugartleuchtmelder gar nicht hat.
Da gab's bisher ausser den bekannten Ausnahmefehlern keine Probleme. Bist Du eigentlich mal dahintergekommen woran die lagen oder reichten dazu die Debugging-Infos nicht?-> Lok mit richtiger PZB90 ausprobieren
Puh - so tief drin in der Materie bin ich bei weitem nicht, auch wenn Wireshark interessant klingt. Mal schauen was die weiteren Tests bringen.Bernhard hat geschrieben:...wäre eine Aufzeichnung des Datenverkehrs (z. B. mittels Wireshark) hilfreich.
OK, ich versuche auch das mal abzuarbeiten die Tage.Andreas Karg hat geschrieben:Um den Fehler einkreisen zu können, wäre ein Speicherabbild saupraktsch.
Dazu gibt es zwei praktikable Möglichkeiten; beide erfordern Visual Studio 2010. (Ob Express auch geht, weiß ich nicht.)
Mist, geht nicht. Ich hab nur Express. Nach dem Start mit dem Debugger gehen damit schon alle LM zusammen dauerhaft an. Den Menüpunkt zum Fehlerexportieren finde ich in Express auch nicht...Andreas Karg hat geschrieben:Um den Fehler einkreisen zu können, wäre ein Speicherabbild saupraktsch.
Dazu gibt es zwei praktikable Möglichkeiten; beide erfordern Visual Studio 2010. (Ob Express auch geht, weiß ich nicht.)
Du justierst die Ortung aber schon erstmal manuell? Also z.B. an der nächsten Hektometertafel, Hauptsignal, Bahnsteig, ... und stellst dann auf "Ortung"? So klappt's zumindest bei mir jedenfalls metergenau.Dude hat geschrieben:linksrheinische hatte wieder ca. 100 und die Elsenztalbahn wieder mindestens 500m Abweichung.
Hi,Dennis Bork hat geschrieben:Du justierst die Ortung aber schon erstmal manuell? Also z.B. an der nächsten Hektometertafel, Hauptsignal, Bahnsteig, ... und stellst dann auf "Ortung"? So klappt's zumindest bei mir jedenfalls metergenau.
Hallo Arne, auch bei Start am Bf wenn die Raute scheinbar richtig steht: "Ortung", dann einmal vor (Pfeil hoch) und wieder zurück (Pfeil runter) - ich habe dazu die Hotkeys Q und Y. Klappt mit geöffnetem "Zeit"-Menü bei eingestellter "Ortung" oder im manuellen Modus.Dude hat geschrieben:Wenn ich mit ZD 2.9 an einem Bahnhof starte, dann justiere ich natürlich nichts manuell.
Code: Alles auswählen
void Input() {
if (digitalRead(22)==HIGH)INa|=1;
if (digitalRead(23)==HIGH)INa|=2;
if (digitalRead(24)==HIGH)INa|=4;
if (digitalRead(25)==HIGH)INa|=8;
if (digitalRead(26)==HIGH)INa|=16;
if (digitalRead(27)==HIGH)INa|=32;
if (digitalRead(28)==HIGH)INa|=64;
if (digitalRead(29)==HIGH)INa|=128;
if (digitalRead(30)==HIGH)INb|=1;
if (digitalRead(31)==HIGH)INb|=2;
if (digitalRead(32)==HIGH)INb|=4;
if (digitalRead(33)==HIGH)INb|=8;
if (digitalRead(34)==HIGH)INb|=16;
if (digitalRead(35)==HIGH)INb|=32;
if (digitalRead(36)==HIGH)INb|=64;
if (digitalRead(37)==HIGH)INb|=128;
INc=analogRead(14);
INd=analogRead(15);
if (inputChar[0]=='r'){
Serial.print('A');
Serial.write(INa);
delay(1);
Serial.print('B');
Serial.write(INb);
delay(1);
Serial.print('C');
Serial.write(INc);
delay(1);
Serial.print('D');
Serial.write(INd);
delay(1);
}