[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

WG: DDW-DDL-ML Auslesen CV (fwd)



Hier einen Kommentar von Tom, der vielleicht die Probleme mit dem Auslesen
der CVs erklärt. 
Gruß - Michael


> 
> ----------
> Von: 	Zahnaerztin Corina Borrmann[SMTP:POST@BORRMANNS.DE]
> Gesendet: 	Mittwoch, 23. März 2005 20:01:25
> An: 	Gräfe, Dr. Michael
> Betreff: 	Re: AW: DDW-DDL-ML Auslesen CV (fwd)
> Diese Nachricht wurde automatisch von einer Regel weitergeleitet.
> 
Hallo Michael,

On Wed, 23 Mar 2005 15:35:53 +0100, Gräfe, Dr. Michael wrote:

>Hallo Tom,
>wie Du der Mail entnehmen kannst, erregt die aktuelle Version von DDW die
Gemüter. So wie ich es verstanden habe, funktioniert das auslesen der
Register, wie es 
noch in der Version 0.72 implementiert war nicht mehr. Ist dem so? 

nein. DDW 073 (ich habe extra die binary von Deiner Webseite
heruntergeladen, um die gleiche Basis wie die Benutzer zu haben) und
Railyprog 1.0 arbeiten problemlos 
zusammen, sofern DDW auf srcp 0.7x und direct access=off eingestellt sind.
Raillyprog ist allerdings out of date, da es kein srcp 0.8.x unterstützt und
zum Auslesen nur 
die alte sequentielle Methode benutzt (test aller Werte von 0..255 je CV),
anstelle der schnelleren bitweisen Read-Befehle unter srcp 0.7.x
(äquivalent. GET x SM 0 CV n 
bei srcp 0.8.x). Wenn Holger sein Programm weiter verbessern will, sollte er
srcp 08 ein- und das Auslesen überarbeiten. Wieso gibt es ein Problem mit
dem Auslesen 
der Register? Ich habe nur von CV gelesen, kenne aber die aktuelle
Diskussion nicht (habe die Mailingliste nicht abonniert, mein Postfach ist
auch so schon voll genug).

Der Fehler im geschilderten Fall liegt im DDW, und zwar in der
Initialisierung der Schnittstelle beim Programmstart bzw. nach Verlassen des
Einstellungs-Dialogs. 

Ich schrieb es schon in der vorherigen Mail: direct access _MUSS_
ausgeschaltet werden, da der Server sonst die Schnittstellenthreads von
Dejan Crnila nicht aktiviert.
Wenn die nicht aktiviert ist, geht auch kein Auslesen. Ich habe mir viel
Mühe gemacht, den Murks mit dem zusätzlichen Treiber und dem Unterlaufen des
Betriebssystems 
durch direkten Zugriff auf die Schnittstelle aus dem Programm zu kriegen,
verlange bitte nicht, das wieder einzubauen. In dem Fall ist nämlich Ende
der Fahnenstange, da 
dann auch kein zukünftiger USB-Anschluß möglich ist (das Fahren geht ja
schon, nur beim Programmieren habe ich noch Probleme mit der Zuverlässigkeit
und vor allem 
mit der Geschwindigkeit, und im Moment wirklich sehr wenig Zeit). USB geht
_NUR_ über das CPort-Paket von Dejan (bzw. andere Möglichkeiten des
Betriebssystems 
z.B. ioctl, nur will ich da das Rad nicht nochmal erfinden, aber keinesfalls
per Port-Zugriff). 

Es geht auch nicht, direct access und das CPort-Modul parallel zu betreiben,
da es sonst Probleme mit dem Puffer geben kann: entweder wird der direkt
bedient oder 
über das Betriebssystem. 
Du müßtetst also entweder bei der Server-Initialisierung dafür sorgen, daß
die Com-Schnittstelle geöffnet wird, oder Du baust ein, daß sie prinzipiell
geschlossen wird, 
wenn der Service-Mode aktiviert wird. Dann könnte ich die in
progdecodeunit.cpp selbst behandeln. 
Aber wahrscheinlich brauchst Du auch für den MM-Teil gar keinen direct
access. Ich kann für den Service-Mode im NMRA-Teil sagen: das ist so. Die 
Kurzschlußerkennung funtktioniert auch über den RI-Eingang. Daher könntest
Du auch dafür die Ereignis-Messages des CPort-Moduls verwenden. Wenn es für
MM 
ebenso ist, schmeiß' den direct access einfach raus oder ignoriere die
Einstellung. 

liebe Grüße und schöne Ostern,
Tom.

P.S. Werbung: http://tt.borrmanns.de/prolok.html, das Programm hat
inzwischen fast 1000 Downloads aus aller Welt... und jede Menge positiver
Rückmeldungen, weil es 
so schnell und sicher funktioniert. Da drin steckt _genau_ der gleiche
Algorithmus wie ich ihn in DDW eingebaut habe.

--
Dipl.med. Corina Borrmann Fachzahnaerztin fuer Allgemeine Stomatologie
Am Friedrichshain 2, 10407 Berlin, Tel. 030 42161270
Mo+Fr:8-15 Uhr, Di+Do:13-20 Uhr, Mittwoch nachmittags nach Vereinbarung
Internet: www.zahnaerztin-borrmann.de