Schachcomputer.info Community

Schachcomputer.info Community (https://www.schachcomputer.info/forum/index.php)
-   Die ganze Welt der Schachcomputer / World of chess computers (https://www.schachcomputer.info/forum/forumdisplay.php?f=2)
-   -   Anleitung: UCI Treiber für Millennium ChessLink (https://www.schachcomputer.info/forum/showthread.php?t=6117)

lars 15.02.2020 22:05

UCI Treiber für Millennium ChessLink
 
Hallo,

nachdem das Certabo-Brett ganz gut funktioniert, bin ich dabei einen UCI-Treiber für den ChessLink zu schreiben. Die erste Version befindet sich unter:
https://c.web.de/@337503062891436936...QbyWjHglArw8Ig

Das Programm enthält noch einige Schwächen/Fehler und eine Dokumentation fehlt noch. Für die Kommunikation wird, wie bei Certabo, ein Treiber für die Umsetzung von USB nach Seriell benötigt. Den kann ich natürlich nicht beilegen, aber es funktioniert der gleiche wie beim Certabo-Brett.
Korrektur 16.02.2020: Der notwendige Treiber wird beim Anschluss des ChessLink-Moduls automatisch installiert.

Eine kleine Feinheit, weil mich das bisher immer gestört hat: Man kann die Helligkeit der LEDs runtersetzen und das Blinken der LEDs "synchron" wie beim "King" oder eben "asynchron" wie beim Genius setzen.

Wie gesagt, es ist die erste Beta-Version. Getestet habe ich es erstmal nur unter "Arena" mit dem Genius-Brett und dem King Performance.

Viel Spaß,
Lars

Lindwurm 15.02.2020 23:55

AW: UCI Treiber für Millennium ChessLink
 
Na super, ein Argument weniger für ein Certabo-Brett. Vielen Dank :D

Hab mal kurz getestet mit Fritz 17 und Deep Shredder 13:

Shredder spielt einfach drauflos ohne mich nach meinen Zügen zu fragen :cool:
mit Fritz hats schon ganz gut geklappt, ist dann aber abgestürzt.

Das Ganze unter Parallels auf einem Mac. Also noch ne zusätzliche Herausforderung.

Ich bin weiter gespannt. Tolles Projekt. Vielen Dank 🙏

P.S. was ich nicht verstanden habe ist das mit dem Treiber USB auf Seriell. Ist das nicht in Windows implementiert ? Zumindest wurde das Brett bei mir über USB erkannt.

lars 16.02.2020 00:04

AW: UCI Treiber für Millennium ChessLink
 
Hallo,

Zitieren:

Zitat von Lindwurm (Beitrag 88314)
Na super, ein Argument weniger für ein Certabo-Brett. Vielen Dank :D

Oh, das wollte ich nicht. Lösch umgehend den Treiber :)

Zitieren:

Zitat von Lindwurm (Beitrag 88314)
Hab mal kurz getestet mit Fritz 17 und Deep Shredder 13:

Shredder spielt einfach drauflos ohne mich nach meinen Zügen zu fragen :cool:
mit Fritz hats schon ganz gut geklappt, ist dann aber abgestürzt.

Wahrscheinlich spielt Shredder zuerst mit einem Eröffnungsbuch. Für die Engine darf die GUI kein eigenes Buch benutzen.

Zitieren:

Zitat von Lindwurm (Beitrag 88314)
P.S. was ich nicht verstanden habe ist das mit dem Treiber USB auf Seriell. Ist das nicht in Windows implementiert ? Zumindest wurde das Brett bei mir über USB erkannt.

Interessant :) Vielleicht hast du ein Treiber durch andere Software schon mal installiert. Schau mal in den Gerätemanager, nachdem das Brett angeschlossen ist, was unter den COM-Geräten aufgelistet ist.

Gruß,
Lars

Lindwurm 16.02.2020 09:50

AW: UCI Treiber für Millennium ChessLink
 
Ja, das mit dem Buch hatte ich gelesen, dann aber natürlich vergessen ;-)
Jetzt klappt es auch mit Shredder.

Der Treiber wurde laut Gerätemanager gestern Abend installiert, also zu dem Zeitpunkt, als ich den ChessLink erstmals per USB-Kabel mit dem Mac (bzw. Windows) verbunden habe.

USB-Serial Port (COM3), Hersteller FTDI, "Auf USB Serial Converter"

Ich hab nur die DGT-Treiber auf dem Rechner drauf, allerdings nur per Bluetooth verbunden. Und wie gesagt, der Treiber wurde gestern Abend laut Protokoll installiert.

Drahti 16.02.2020 12:34

AW: UCI Treiber für Millennium ChessLink
 
Besten Dank, dass Du sowas entwickelst :top:

Zum Treiber: ich glaube dass Windows 10 die FTDI Treiber automatisch beim Anstecken des Geräts installiert. Sozusagen transparent für den User. Zumindest ist es bei allen FTDI-Adaptern die ich bisher verwendet habe so gewesen...

Noch ein Hinweis, falls jemand mal das Problem haben sollte, dass der serielle Adapter plötzlich nicht mehr funktioniert, bestenfalls noch mit einer obskuren Fehlermeldung: es gibt Fake-Chips, die nicht original sind, die Funktionalität prinzipiell aber bieten und also schon funktioniert haben. In der Vergangenheit ist es dann schon mindestens zwei Mal passiert, dass FTDI in ihren Treiber eine Erkennung eingebaut hat und diese Fake-Chips nach Rollout des Treiber-Updates nicht mehr unterstützt. Lösung ist dann einen neuen Adapter mit originalem Chip zu kaufen oder einen alten funktionierenden Treiber manuell zu installieren.

lars 16.02.2020 14:05

AW: UCI Treiber für Millennium ChessLink
 
Hallo,

Zitieren:

Zitat von Drahti (Beitrag 88337)
Zum Treiber: ich glaube dass Windows 10 die FTDI Treiber automatisch beim Anstecken des Geräts installiert. Sozusagen transparent für den User. Zumindest ist es bei allen FTDI-Adaptern die ich bisher verwendet habe so gewesen...

Guter Hinweis. Ich hatte gar nicht darauf geachtet, weil ich dachte dass der installierte Treiber vom Certbo-Brett genommen wird, es ist aber FTDI-Treiber.

Gruß,
Lars

BHGP 16.02.2020 14:23

AW: UCI Treiber für Millennium ChessLink
 
Ich kann aus eigener Erfahrung nur bestätigen, dass man mit den Treibern durchaus Probleme machen kann. Ich war z. B. auch der Meinung, ich hätte alle möglichen USB-Treiber an Board (DGT, Samsung-Smartphone usw.), das Millennium-Brett hat dann mit Hiarcs zunächst nicht funktioniert, weil der FTDI wohl gefehlt hat.

voelkx 22.02.2020 18:36

AW: UCI Treiber für Millennium ChessLink
 
Hallo Lars,


feine Sache die du da gebaut hast.
Kannst du eine kurze Anleitung für z. B. Arena machen?
Sonst breche ich mir wieder den Popo.:o


Gruß Volker

lars 22.02.2020 22:36

AW: UCI Treiber für Millennium ChessLink
 
2 Anhang/Anhänge
Hallo Volker,

Zitieren:

Zitat von voelkx (Beitrag 88548)
Kannst du eine kurze Anleitung für z. B. Arena machen?

In dem Download-Verzeichnis befindet sich jetzt auch eine ausführlichere Anleitung, in Englisch.
Hier ein kleine Kurzanleitung:
1. ZIP-Datei auspacken
2. Millenium ChesGenius Exclusive Brett an ChessLink anschließen, ChessLink an den PC.
3. Arena starten
4. Die ausgepackte EXE-Datei als UCI-Engine installieren.
5. Engine konfigurieren:
Anhang 4204
6. Engine Turnier starten
Anhang 4205

Bei Fragen, einfach eine Mail schicken.

Gruß,
Lars

lars 23.02.2020 14:59

AW: UCI Treiber für Millennium ChessLink
 
Hallo,

siehe da und schon einen Fehler entdeckt :o
Die Konfiguration des COM-Ports hatte so seine Macke.
Eine neue Version 1.0.1 liegt bereit.

Gruß,
Lars

Chessguru 29.02.2020 10:49

AW: UCI Treiber für Millennium ChessLink
 
Hallo Lars,

erst einmal vielen Dank für den Treiber. Gestern Abend habe ich dann auch die Zeit gefunden, um ihn unter Windows 10 über USB zu testen.

Grundsätzlich, das Millennium Brett lässt sich nun sowohl unter Arena (zum Test wurde Version 3.5.1 verwendet), als auch unter Fritz (Version 17 getestet) in Verbindung mit dem ChessLink ansprechen.

Folgende Dinge sind mir auf den ersten Blick aufgefallen.

Die Inbetriebnahme unter Arena ist etwas tricky, will sagen, man muss die Anleitung genau lesen. Ist mir auch beim zweiten Lesen erst aufgefallen, da ich glaubte, dass Prinzip verstanden zu haben. Unter Fritz ist es etwas einfacher.

Teilweise erscheint mir die Abfrage der ausgeführten Züge zu langsam, d.h. führe ich einen Antwortzug zu schnell aus, akzeptiert der Treiber den Zug nicht. Erinnert mich an die Einstellung „langsam“ im King Modul, hinsichtlich Figuren schleifen. Frage, kann man die Abfrage verbessern?

Die zweite Sache betrifft die LEDs. Einige LEDs werden durch den Treiber nicht angesprochen, z.B. Feld d5. Es leuchten dann nur 3 von 4 LEDs. Zur Sicherheit habe ich es dann mit dem King Modul getestet, die LEDs sind ok.

Aber wie gesagt, grundsätzlich funktioniert die Geschichte, was einen deutlichen Zugewinn darstellt. Super!

Gruß
Micha

lars 29.02.2020 19:25

AW: UCI Treiber für Millennium ChessLink
 
Hallo Micha,

vielen Dank für den Test! :D

Zitieren:

Zitat von Chessguru (Beitrag 88737)
Teilweise erscheint mir die Abfrage der ausgeführten Züge zu langsam, d.h. führe ich einen Antwortzug zu schnell aus, akzeptiert der Treiber den Zug nicht. Erinnert mich an die Einstellung „langsam“ im King Modul, hinsichtlich Figuren schleifen. Frage, kann man die Abfrage verbessern?

Ja, da bin ich noch dran. Es lässt sich leider nicht so leicht abfragen wie z.B.
beim Certabo-Brett. D.h. es kann einem schnell mal was durch die Lappen gehen.

Zitieren:

Zitat von Chessguru (Beitrag 88737)
Die zweite Sache betrifft die LEDs. Einige LEDs werden durch den Treiber nicht angesprochen, z.B. Feld d5. Es leuchten dann nur 3 von 4 LEDs. Zur Sicherheit habe ich es dann mit dem King Modul getestet, die LEDs sind ok.

Das war mir noch nie aufgefallen! Musste ich gleich mal nachstellen und tatsächlich bleibt eine LED aus. Ein echter Bug :o
Liegt daran, dass man jede LED einzeln ansteuern kann und da sende ich bei einigen wohl den falschen Code. Aber das lässt sich leicht beheben.

Nächste Woche gibt es dann eine neue Version :)

Gruß,
Lars

lars 01.03.2020 16:04

AW: UCI Treiber für Millennium ChessLink
 
Hallo Micha,

Zitieren:

Zitat von Chessguru (Beitrag 88737)
Folgende Dinge sind mir auf den ersten Blick aufgefallen.

Die Inbetriebnahme unter Arena ist etwas tricky, will sagen, man muss die Anleitung genau lesen. Ist mir auch beim zweiten Lesen erst aufgefallen, da ich glaubte, dass Prinzip verstanden zu haben. Unter Fritz ist es etwas einfacher.

Kannst Du mir noch sagen, wo es bei Arena schwierig wird? Dann könnte ich noch die Anleitung verbessern.
Ich habe den Programmcode zur Abfrage des Bretts verfeinert, so dass ich wohl jeden Figurenwechsel mitbekomme. Muss dafür jetzt nur noch das "schleifen" berücksichtigen, damit ich den eigentlichen Zug richtig erkenne :)

Gruß,
Lars

Chessguru 01.03.2020 16:25

AW: UCI Treiber für Millennium ChessLink
 
Hallo Lars,

Zitieren:

Zitat von lars (Beitrag 88784)
Kannst Du mir noch sagen, wo es bei Arena schwierig wird? Dann könnte ich noch die Anleitung verbessern.

vielleicht ist es ja auch nur ein Problem von mir. Als ich mir die Anleitung angesehen hatte, ging ich davon aus, man installiert den Treiber als UCI-Engine, wählt diese aus und kann spielen. So zumindest hatte ich es versucht. Mit dem Resultat… es passiert erst einmal nüscht.

Etwas experimentiert und dann warf ich noch einmal einen Blick in die Anleitung. Und siehe da, dort findet sich dann der alles entscheidende Hinweis:

4. „Press „Demo“ to start the game“. Ahhhh!

Danach konnte ich eine Partie spielen. Ich hatte es zuerst mit deiner Anleitung hinsichtlich Einspielung von eigenen UCI-Engines im entsprechenden User Verzeichnis unter Windows probiert, was auch funktionierte, allerdings war der Weg zu umständlich. Zweiter Versuch war dann der Griff zur MessEMU, die ja bekanntlich ebenfalls Arena 3.5.1 beinhaltet und wählte dort einen Schachcomputer aus, um gegen diesen zu spielen. Funktionierte gut, mit den beschriebenen Problemen.


Zitieren:

Ich habe den Programmcode zur Abfrage des Bretts verfeinert, so dass ich wohl jeden Figurenwechsel mitbekomme. Muss dafür jetzt nur noch das "schleifen" berücksichtigen, damit ich den eigentlichen Zug richtig erkenne :)
Was man bei der ganzen Sache nicht vergessen darf, du bist kein Millennium Mitarbeiter, sondern programmierst in deiner Freizeit für unser Hobby. Daher finde ich es klasse, dass du dir überhaupt die Arbeit machst, um uns einen Zugang zu Arena und Fritz zu ermöglichen.

Auch wenn sich noch einige Baustellen zeigen, klasse Arbeit und ein großes Dankschön an dich!

Gruß
Micha

Schachhucky 04.03.2020 15:04

AW: UCI Treiber für Millennium ChessLink
 
Hallo,

eine Frage zum Chesslink - Usb-Anschluss:
wird ein passendes Usb-Kabel für den Anschluss an einen PC bereits mitgeliefert oder muss man sich das separat besorgen?
Und wenn ja, mit welchem Anschlusstyp?

Vielen Dank im Voraus,
Gerhard

lars 04.03.2020 15:25

AW: UCI Treiber für Millennium ChessLink
 
1 Anhang/Anhänge
Zitieren:

Zitat von Schachhucky (Beitrag 88843)
Hallo,

eine Frage zum Chesslink - Usb-Anschluss:
wird ein passendes Usb-Kabel für den Anschluss an einen PC bereits mitgeliefert oder muss man sich das separat besorgen?
Und wenn ja, mit welchem Anschlusstyp?

Vielen Dank im Voraus,
Gerhard

Ein Kabel liegt nicht dabei. Das ChessLink hat einen "USB Typ B" Anschluss.
Die findet man eigentlich heute eher an älteren Drucker/Scanner etc.

Hier eine schematische Darstellung der Anschlüsse:

Anhang 4227


Gruß,
Lars

Schachhucky 05.03.2020 08:43

AW: UCI Treiber für Millennium ChessLink
 
Zitieren:

Zitat von lars (Beitrag 88844)
Das ChessLink hat einen "USB Typ B" Anschluss.
Die findet man eigentlich heute eher an älteren Drucker/Scanner etc.

Danke, Lars, dieser Hinweis hat meine Zweifel beseitigt, jetzt weiß ich, welches Kabel ich brauche...und habe es auch schon in meiner Kabelsalatkiste gefunden!

Gruß
Gerhard

lars 16.03.2020 21:16

AW: UCI Treiber für Millennium ChessLink
 
Hallo,

dank Corona habe ich wieder etwas Zeit gefunden, mich mit dem UCI Treiber zu beschäftigen und konnte die Zugerkennung verbessern.
Und außerdem einen bösen Bug beseitigen, der den Turm nach einer langen Rochade intern auf das falsche Feld gestellt hatte.

Wäre mir aber trotzdem ohne Corona lieber gewesen.

Grüße,
Lars

lars 06.04.2020 21:30

AW: UCI Treiber für Millennium ChessLink
 
Hallo,

was tut man nicht alles aus Langeweile, z.B. seine Homepage aktualisieren :)

Unter http://www.solanosoft.com findet ihr jetzt auch den Link zur den aktuellen Versionen des Millennium ChessLink als auch des Certabo Treibers. In Zukunft auch weitere Software, die so nebenbei enstehen :)

Gruß,
Lars

P.S. Auch wenn der Domainsuffix .com und offiziell die Endung für commercial ist, bleibt es doch alles unkommerziell :)

Schachhucky 07.04.2020 16:21

AW: UCI Treiber für Millennium ChessLink
 
Hallo Lars,

die Verbindung vom Millennium Performance über Chesslink zu Fritz 16 ist mir leider trotz Beachtung Deiner Anleitung nicht gelungen, die Enginekonfiguration lässt sich teilweise nicht so bewerkstelligen wie gezeigt, vermutlich geht das erst ab Fritz 17 so.
Ist aber nicht weiter schlimm, da ich ja schon mit dem Hiarcs Chess Explorer eine funktionierende Chesslink-Verbindung habe und in Hiarcs ja auch diverse UCI-Engines eingebunden werden können. Ich frage mich nur, warum Du überhaupt Deinen Treiber auch für Hiarcs bereitstellst, wo doch die Schnittstelle schon durch das Hiarcsprogramm vorkonfiguriert ist? Oder macht es Sinn, stattdessen besser Deinen Treiber zu verwenden?
Negativ an der Standardverbindung zwischen Performance mittels Chesslink zu Hiarcs empfinde ich die zeitliche Verzögerung bei der Zugeingabe, vielleicht ist das ja bei Verwendung Deines Treibers besser - hab's noch nicht probiert.

Gruß
Gerhard

lars 07.04.2020 17:09

AW: UCI Treiber für Millennium ChessLink
 
Zitieren:

Zitat von Schachhucky (Beitrag 89676)
die Verbindung vom Millennium Performance über Chesslink zu Fritz 16 ist mir leider trotz Beachtung Deiner Anleitung nicht gelungen, die Enginekonfiguration lässt sich teilweise nicht so bewerkstelligen wie gezeigt, vermutlich geht das erst ab Fritz 17 so.

Das sollte auch mit Fritz 16 funktionieren. Kannst Du mir vielleicht die Log-Dateien zukommen lassen. In der Anleitung findest Du, wo sie abgelegt werden.

Zitieren:

Zitat von Schachhucky (Beitrag 89676)
Ist aber nicht weiter schlimm, da ich ja schon mit dem Hiarcs Chess Explorer eine funktionierende Chesslink-Verbindung habe und in Hiarcs ja auch diverse UCI-Engines eingebunden werden können. Ich frage mich nur, warum Du überhaupt Deinen Treiber auch für Hiarcs bereitstellst, wo doch die Schnittstelle schon durch das Hiarcsprogramm vorkonfiguriert ist? Oder macht es Sinn, stattdessen besser Deinen Treiber zu verwenden?
Negativ an der Standardverbindung zwischen Performance mittels Chesslink zu Hiarcs empfinde ich die zeitliche Verzögerung bei der Zugeingabe, vielleicht ist das ja bei Verwendung Deines Treibers besser - hab's noch nicht probiert.
Gruß
Gerhard

Für HIARCS ist der Treiber in der Tat nicht notwendig, aber Du kannst ja trotzdem mal die Anwortzeiten vergleichen.
Es ist auch keine spezielle Version für den HIARCS. Ich hatte bei der Entwicklung des Treiber für das Certabo-Board gemerkt, dass dort nur die .Net Core-Variante funktioniert. Es könnten also noch mehr GUIs auf dem Markt sein, die nur damit laufen. Also habe ich auch für den ChessLink eine .Net-Core-Variante geschrieben.
Gruß,
Lars

Schachhucky 08.04.2020 08:57

AW: UCI Treiber für Millennium ChessLink
 
Zitieren:

Zitat von lars (Beitrag 89677)
Das sollte auch mit Fritz 16 funktionieren.

Das Problem ist, dass beim Vorgehen nach Deiner Anleitung unter Punkt 5.3 der Engine Konfigurationsdialog so wie im Bild gezeigt nicht aufgerufen werden kann, es existiert kein Fenster mit solchen Einstellmöglichkeiten.
Habe aber inzwischen festgestellt, dass es bei mir generell beim Erstellen eines Engine-Engine Matches eine Fehlermeldung (Run Time Error) in Fritz 16 gibt, die ich erst noch untersuchen muss - melde mich dann wieder.
Danke erstmal, Lars!

Gruß
Gerhard

dsommerfeld 16.01.2021 18:43

AW: UCI Treiber für Millennium ChessLink
 
Hallo Lars,

sehe ich das Richtig das der Treiber eine zweite Engine ist und die gegeneinander spielen wobei ich eine davon als Mensch ausfülle? Man kann das Board also nicht einfach anbinden und im Analysebrett Figuren hin und herstellen?
Wäre es eigentlich nicht möglich aus dem Picohessprojekt die Anbindung an DGT zu entnehmen und ein Gateway zu machen das ein virtuelles DGT Board gefunden wird und mit einem Schlag eine unkomplizierte Komptabilität zu erreichen?
Genau so könnte man Picochess als Enginesammlung verwenden.
Vielleicht bin ich auch nur auf den Holzweg :-)

LG
Dirk

lars 16.01.2021 19:27

AW: UCI Treiber für Millennium ChessLink
 
Hallo Dirk,

Zitieren:

Zitat von dsommerfeld (Beitrag 96261)
Hallo Lars,

sehe ich das Richtig das der Treiber eine zweite Engine ist und die gegeneinander spielen wobei ich eine davon als Mensch ausfülle? Man kann das Board also nicht einfach anbinden und im Analysebrett Figuren hin und herstellen?

Das siehst du genau richtig :)

Zitieren:

Zitat von dsommerfeld (Beitrag 96261)
Wäre es eigentlich nicht möglich aus dem Picohessprojekt die Anbindung an DGT zu entnehmen und ein Gateway zu machen das ein virtuelles DGT Board gefunden wird und mit einem Schlag eine unkomplizierte Komptabilität zu erreichen?
Genau so könnte man Picochess als Enginesammlung verwenden.
Vielleicht bin ich auch nur auf den Holzweg :-)

LG
Dirk

Einen DGT-Board-Treiber, der aber mit Millennium ChessLink oder auch mit Certabo "spricht", hat Graham entwickelt:
https://goneill.co.nz/chess.php

Aber um die volle Kontrolle und Möglichkeiten der beiden Bretter auszunutzen, bin ich am Programmieren einer eigenen GUI:
http://www.solanosoft.com/index.php?page=bearchess

Einen kleinen Funktionsüberblick gibt es unter:
http://www.solanosoft.com/index.php?...hess-tutorials

Gruß
Lars

dsommerfeld 16.01.2021 21:04

AW: UCI Treiber für Millennium ChessLink
 
Hallo Lars,

vielen Dank für deine Antwort. Dein GUI Projekt ist ja Mega interessant...
Lieben Dank... ich werde das verfolgen

Top

Dirk


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:14 Uhr.

Powered by vBulletin (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
©Schachcomputer.info