Willkommen Gast. Bitte einloggen oder registrieren.
April 20, 2024, 06:07:40
Übersicht Ungelesene Beiträge auflisten Hilfe Suche Spiele Mitgliederkarte Kalender Login Registrieren

Schnellsuche
+  MODDING-FAQ FORUM
|-+  LCDs und -Software
| |-+  STLCD - Infos & Support
| | |-+  Erster Eindruck von STLCD und gleich ganz viele Fragen ...
  « vorheriges nächstes »
0 Mitglieder und 1 Gast betrachten dieses Thema.
Seiten: [1] nach unten Drucken
Autor Thema: Erster Eindruck von STLCD und gleich ganz viele Fragen ...  (Gelesen 4192 mal)
Jannik
Gast


E-Mail
Erster Eindruck von STLCD und gleich ganz viele Fragen ...
« am: April 1, 2004, 02:31:39 »

Hallo!

Hab schon länger ein 4x20 LCD mit jaLCDs (<- eben grad mal wieder abschiessen müssen  Angry) laufen lassen. Die 2-Kabellösung (parallel für Daten + USB nur für Strom) hat mich damals schon aufgeregt, ebenso wie der zunehmende Verzicht auf parallel und serielle Schnittstellen bei neuen PCs/Mainboards. Ãœber 7 Ecken habe ich dann zufällig heute morgen den IO-Warrior entdeckt und kurz darauf auch STLCD und bin fast durchgedreht!  Grin
Echt genial sowas!!! Also von mir aus weg mit den parallelen und seriellen Schnittstellen.  Wink

Hab gleich mal STLCD runtergeladen und auf mein altes Parallel-Display losgelassen und funktionierte gleich. Das macht Hoffnung und motiviert, sich weiter mit dem Thema zu beschäftigen.
Also ich bin halt noch Noob was IOW und STLCD angeht (dummerweise auch von Elektrotechnik kaum Plan), trotzdem wollte ich mal ein paar Anmerkungen und Fragen loswerden:

GIGANTISCH GROSSES LOB an Olaf Smiley

Ein paar kleine Anmerkungen, um Geniales noch besser zu machen:

- Unter Free Swap. Mem wird bei mir ein Wert von -2136522752,00 B angezeigt ... ich hab keine Ahnung, wo STLCD die Daten herholt ... vielleicht ists ein Bug, vielleicht auch nur bei mir so. Wollte es nur mal mitteilen, Olaf wird schon wissen, ob Handlungsbedarf besteht  Roll Eyes (zur Info: hab 1 GB RAM und 1.5 GB pagefile.sys, welcher Depp hat die so groß gemacht?  Wink)

- Olaf, woher holst Du die Infos für $INETxxyy$? Genauso wie für $READDRVx$? Ich hab den Eindruck, bei mir stimmen die nicht so richtig ... zumindest $INET00UR$ steht fast konstant bei 0,0 KB/s (max 0,2 KB/s), selbst wenn ich definitiv mehr Upload habe ... ist da vielleicht bei der Glättung was schiefgelaufen? $INET00DR$ zeigt zumindest realistischere Wert an, obwohl die mich auch noch nicht so richtig überzeugen Wink

- Im kleinen Menü bei Rechtsklick auf Systray-Icon fänd ich das Exit viiiieeeel besser, wenns ganz unten wär ... Mauskilometer sparen. Außerdem könnte man bei Exit des Programms das Licht vom LCD immer ausschalten, oder?

- Wünschen würde ich mir in der Oberfläche von STLCD bei den Checkboxen "Licht an !!" und so noch einen Button für "Nächsten Screen anzeigen" oder "Reload STLCD.INI", um einfacher die eigenen Screens durchzutesten. Müsste sich recht einfach realisieren lassen, oder? *liebOlafanschau*

- Stringeditierfunktionen (à la substring, so ähnlich wie in jaLCDs) für die Screens wären ganz nett, aber das sind wohl Dinge, die Olaf aus Performancegründen nicht einbauen wollte. Verständlich und eigentlich auch ok, wenn da nicht der Winamptitel wäre. :-/ "Artist - Title" zusammenhängend passt irgendwie nur selten in eine LCD-Zeile und das Scrollen funktioniert zwar ... irgendwie ... aber ich würde mir zumindest eine Aufsplittung in Artist und Title wünschen, halt am " - " zerschnippeln ...
Olaf, wie kommst Du an den Winamptitel und die anderen Trackdaten? Vielleicht hilft Dir unten angehängter Delphicode, den ich im Winamp-Developer-Forum gefunden hab ...

Und nun noch ein paar Fragen:

- Hat der IOW 24 einen entscheidenden Vorteil gegenüber dem IOW 40, wenn man damit LCDs ansteuern will? Das IOW 24 Starterkit ist ja schon für die LCDs "vorbereitet", macht das viel aus oder kriegt man das auch einfach mit dem IOW 40 gebacken?

- Bei einem IOW 40 wären ja noch ein paar IO-Pins übrig ... könnte man da einfach noch Druckknöpfe oder Schalter dranlöten, und dann deren Schaltzustände parallel zu STLCD von einem anderen Programm aus abfragen und entsprechende Aktionen starten (z.B. Winamp starten oder einfach nur "nächsten Screen anzeigen" in STLCD)? Wie kommt man an die Daten des HID-Device oder wo gibts Infos dazu? (abgesehen vom IOW SDK, da werde ich drin rumstöbern, wenn ich dann den IOW hab)

- Nur zum Verständnis: die Torschaltung bei Dualdisplays war nötig, weil die IOW-internen LCD-Funktionen genutzt werden und der IOW keine Dualdisplays unterstützt und ihm so "verheimlicht" wird, dass 2 Controller benutzt werden, richtig?

- Hat vielleicht jemand sowohl ein grün-gelbes LCD als auch ein Blueline-LCD in der Hand gehabt? Wie sind die Unterschiede bzgl. Lesbarkeit (im Hellen/Dunkeln), Verwischen beim Scrollen und so? Wenn man gar kein Zeichen -also nur Leerzeichen- anzeigt, ist dann das Display komplett dunkel? (da gibts ja keine Hintergrundbeleuchtung, oder?) Die "Licht an !!"-Funktion von STLCD macht dann ja mit Blueline auch keinen Sinn mehr, oder? Blueline-LCDs brauchen ja auch weniger Power und könnten dann eher als "Low power USB device" laufen, oder wie handhabt Ihr das? Auf Euren Schaltplänen liegt P0.0 auf high, also immer "High power USB device", seh ich das richtig?

- Was passiert wenn Rechner auf Suspend geht und dann alle Pins vom IOW auf high wechseln? Was macht das LCD? Habt Ihr diesen Zustand irgendwo/-wie abgefangen? Und was noch viel lustiger wäre: hat mal wer versucht, den PC über einen Schalter dann wieder aus dem Suspendmodus zu erwecken?

- Habe gerade mal Krieg gespielt und 2 Instanzen von STLCD um mein einziges Paralleles Display kämpfen lassen. Smiley Das Resultat stimmt mich optimistisch, was meine nächste Frage angeht: Könnte ich mit 2 Instanzen gleichzeitig mein altes paralleles LCD ansteuern und das neue über USB+IOW? Wie sieht es aus mit 2 USB+IOW-Displays? Können die durch die verschiedenen Seriennummern im IOW unterschieden werden?

- Was zur Hölle ist ein PCF8574 und wozu brauch man sowas? Google hat mir verraten, dass man damit 8Bit getaktet auf eine zweidrahtige Leitung ( I²C-Bus) schicken kann. Also 8 Bit vom IOW auf einer Leitung wegschicken? Und dann am Ziel wieder aufdröseln um irgendwas (was z.B.?) zu steuern? Warum macht man das nicht direkt mit 2 IO-Pins vom IOW? Weil man dann die Taktung nicht hinbekommt, oder? Oder bin ich auf dem Holzweg und es ist genau umgekehrt: 8 Bit auf 2 IO-Pins vom IOW? *verwirrtguck*
Naja, dieser Punkt ist nicht wirklich wichtig ... dumme Neugier halt - oder neugierige Dummheit?  Huh

Ich hoffe, das war jetzt nicht zu viel auf einmal. Danke für Eure Kommentare!

Viele Grüße

Jannik


Der oben erwähnte Delphi-Quellcode, um den Track-Titel von Winamp zu klauen:
Zitat
Code:
function GetWinampFilename: String;
var Text, tempStr: String;
   hwndWinamp, TempHandle : THandle;
   dat2: array[0..500] of Char;
   TrackPos: Integer;
   temp, MPointer: Cardinal;
begin
 hwndWinamp:= FindWindow('Winamp v1.x',nil);
 TrackPos:= SendMessage(hwndWinamp,WM_USER,0 , 125);
 MPointer:= SendMessage(hwndWinamp,WM_USER,TrackPos , 211);
 GetWindowThreadProcessId(hwndWinamp,TempHandle);
 hwndWinamp:= OpenProcess(PROCESS_ALL_ACCESS,False,TempHandle);
 ReadProcessMemory(hwndWinamp, Pointer(MPointer), @dat2,500,temp);
 CloseHandle(hwndWinamp);
 tempStr:= dat2;  // ;-)
 Result:= tempStr;
end;

First we get the Winamp handle, as usual.
Then we get the actual played track, as usual.
Then the Pointer to the Filename (MPointer).

This Pointer is not valid in our dll´s process memory.
So we need to Read in Winamp´s process memory.
ReadProcessMemory(); does this.
OpenProcess gives us a new handle, on which we have Read/Write Access.
Otherwise we get an EAccessViolation.
the filename is stored in dat2.
Gespeichert
OlafSt
Global Moderator

*

Karma: +13/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 2138


Master of STLCD and LISA III


Profil anzeigen
Re:Erster Eindruck von STLCD und gleich ganz viele Fragen ...
« Antwort #1 am: April 1, 2004, 07:42:15 »

Wow, was für ein Post - da hat sich jemand wirklich mal bemüht. Thanks a lot.

BTT.

Echt genial sowas!!! Also von mir aus weg mit den parallelen und seriellen Schnittstellen.  Wink

Bloß nich, dann krieg ich meinen PocketPC nich mehr gesynct  Grin

Zitat
Hab gleich mal STLCD runtergeladen und auf mein altes Parallel-Display losgelassen und funktionierte gleich. Das macht Hoffnung und motiviert, sich weiter mit dem Thema zu beschäftigen.

So war es auch gedacht.

Zitat
GIGANTISCH GROSSES LOB an Olaf Smiley

Danke vielmals. Spenden bitte an...  Grin

Zitat
- Unter Free Swap. Mem wird bei mir ein Wert von -2136522752,00 B angezeigt ... ich hab keine Ahnung, wo STLCD die Daten herholt ...

Da hast du recht. Habs hier auch mal ausprobiert. Da läuft ein Integer über, der eigentlich ein Cardinal sein müßte. Werde ich fixen. Hab ich gefixt.

Zitat
ab 1 GB RAM und 1.5 GB pagefile.sys, welcher Depp hat die so groß gemacht?  Wink)

Standardeinstellung nach Windows-Installation.

Zitat
- Olaf, woher holst Du die Infos für $INETxxyy$? Genauso wie für $READDRVx$?

Hole ich alles per QueryPerformanceCounter ab. Die INETxxxx-Daten sind praktisch direkt vor der Schnittstelle gemessen. Da ist also auch der ganze Protokoll-Overhead etc. mit drin. Muß dazu sagen, das bei mir die Werte ziemlich gut hinkommen.
Desgleichen bei $READDRV$.

Zitat
viiiieeeel besser, wenns ganz unten wär ... Mauskilometer sparen. Außerdem könnte man bei Exit des Programms das Licht vom LCD immer ausschalten, oder?

Da hat jeder seine eigenen Ideen. Licht aus könnte man machen. hab ich mal eingebaut.

Zitat
- Wünschen würde ich mir in der Oberfläche von STLCD bei den Checkboxen "Licht an !!" und so noch einen Button für "Nächsten Screen anzeigen"

No chance. Ich möchte nur ungern vom Hauptthread aus direkt in einem anderen Thread herumfingern.

Zitat
oder "Reload STLCD.INI", um einfacher die eigenen Screens durchzutesten.

Die INI wird doch ohnehin bei jeder Änderung neu gelesen. Wegen dieser Aktion hab ich extra gute drei Wochen mit Fehlersuche verbracht.

Zitat
- Stringeditierfunktionen (à la substring, so ähnlich wie in jaLCDs) für die Screens wären ganz nett, aber das sind wohl Dinge, die Olaf aus Performancegründen nicht einbauen wollte.

Performance spielt da eigentlich ne untergeordnete Rolle. Der Parser für die ganzen Variablen ist aber schon reichlich kompliziert, weil mehrfach "vergewaltigt". Auch würde so etwas das Programm für Null-IQ-User verkomplizieren.

Zitat
Olaf, wie kommst Du an den Winamptitel und die anderen Trackdaten? Vielleicht hilft Dir unten angehängter Delphicode, den ich im Winamp-Developer-Forum gefunden hab ...

So, wie es im Beispielcode angegeben ist. Auch ich koche nur mit Wasser  Grin

Zitat
- Hat der IOW 24 einen entscheidenden Vorteil gegenüber dem IOW 40, wenn man damit LCDs ansteuern will? Das IOW 24 Starterkit ist ja schon für die LCDs "vorbereitet", macht das viel aus oder kriegt man das auch einfach mit dem IOW 40 gebacken?

IMHO hat der IOW24 eher Nachteile, wegen der stark begrenzten Zahl an Pins - dies ist zugleich ein Vorteil, er braucht weniger Platz. Meine Empfehlung ist und bleibt der IOW40. Damit geht dann auch DUAL+LICHT, sowie eine Tasterabfrage. Technisch sind die Chips praktisch identisch, der IOW24 kann RC5-Codes erkennen, der IOW40 nicht. Das war's auch schon an Unterschieden.


Zitat
(abgesehen vom IOW SDK, da werde ich drin rumstöbern, wenn ich dann den IOW hab)

Keine gefunden - wozu auch, das SDK reicht allemal.

Zitat
Dualdisplays unterstützt und ihm so "verheimlicht" wird, dass 2 Controller benutzt werden, richtig?

Richtig.

Zitat
eher als "Low power USB device" laufen, oder wie handhabt Ihr das? Auf Euren Schaltplänen liegt P0.0 auf high, also immer "High power USB device", seh ich das richtig?

Alles über 50mA muß als High Power laufen. Der IOW zieht selbst etwa 20mA. Ich kenne kein LCD, das mit 30mA auskommt.

Zitat
- Was passiert wenn Rechner auf Suspend geht und dann alle Pins vom IOW auf high wechseln? Was macht das LCD? Habt Ihr diesen Zustand irgendwo/-wie abgefangen? Und was noch viel lustiger wäre: hat mal wer versucht, den PC über einen Schalter dann wieder aus dem Suspendmodus zu erwecken?

Mir wurde berichtet, das STLCD dann den Kontakt zum IOW verliert. Wüßte nicht, was ich dagegen machen soll.

Zitat
Könnte ich mit 2 Instanzen gleichzeitig mein altes paralleles LCD ansteuern und das neue über USB+IOW?

Obwohl ich da so meine Bedenken habe - aller Erfahrung nach macht dies keine Probleme. Einfach ein zweites STLCD in einem anderen Verzeichnis installieren und fertig. Die beiden kommen sich nur ins Gehege, wenn man das Shared-Mem-Interface von STLCD verwendet. Die beiden überschreiben dann gegenseitig den Shared-Mem-Block.

Zitat
Wie sieht es aus mit 2 USB+IOW-Displays? Können die durch die verschiedenen Seriennummern im IOW unterschieden werden?

Nein, das habe ich nicht berücksichtigt. STLCD ist nicht für einen Multi-Display-Betrieb gedacht und auch nicht "mal eben" umgebaut.

Neuen Release (1.1.11.274) hab ich eingestellt.
« Letzte Änderung: April 1, 2004, 15:57:54 von OlafSt » Gespeichert

Erstens: Lies was da steht. Zweitens: Denk drüber nach. Drittens: Dann erst fragen
Klinkerstein
Gast


E-Mail
Re:Erster Eindruck von STLCD und gleich ganz viele Fragen ...
« Antwort #2 am: April 1, 2004, 17:46:13 »

omfg was fürn post  Shocked  Grin
BTT
also, dieser PCF dingsbums ist unnötig, den hatte olaf nur so als gimmick mit einprogrammiert. den kann man über 2leitungen an den IOW anschleißen und man hat 8 mehr ein und aus gänge.

Die Pinne kannst du übrigens mit dem shared memory reader für stlcd abrufen. (findest du auf www.stlcd.de) wenn du ein bischen delphi kannst.... Grin damit kann man dann die freien portpins abrufen (wohlgemerkt aus STLCD und nicht aus dem HID-treiber).
Gespeichert
Seiten: [1] nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Einloggen mit Benutzername, Passwort und Sitzungslänge      

Powered by MySQL Powered by PHP
eXTReMe Tracker
Seite erstellt in 0.041 Sekunden mit 19 Zugriffen.
© 2001-2022 MODDING-FAQ FORUM | SMF
Alle Rechte vorbehalten.
Prüfe XHTML 1.0! Prüfe CSS!