Welcome to Certabo forum
Both posts in italian and in english are accepted on the forum to help everybody to provide contribution irrespective to geographical location. Object of the forum is to provide technical information on various items and help developer and users to personalise software for Certabo chessboards. User explicitly accepts the conditions of use of this forum here reported.
A brief introduction of user is always appreciated in section Welcome to….
Benvenuti nel forum di Certabo
Sul forum possono essere postati articoli sia in lingua italiana che inglese per permettere a tutti di dare il proprio contributo da diversi luoghi geografici. Il forum ha come scopo fornire informazioni tecniche in generale e aiutare gli sviluppatori ed utenti a personalizzare software per le scacchiere Certabo. L’utente accetta esplicitamente le condizioni del presente forum consultabili qui.
Un breve saluto del nuovo utente è sempre gradito nella sezione Benvenuti a….
python based UCI engine
Quote from hari on December 19, 2019, 11:27 pmI've started to work on a python based UCI engine. It uses the python code provided by Certabo wrapped into an UCI interface (inspired by the sunfish engine). The latest code can be found here: https://github.com/haklein/certabo-playground/tree/master/certabo-uci
It works fine so far on my Linux system together with pychess and also the official python lichess-bot. It's pretty new and probably still has rough edges. Promotion is still untested. I didn't play a lot of full games on the arduino board simulator. But my real board has arrived today, so more testing will happen in the next weeks.
br Hari
I've started to work on a python based UCI engine. It uses the python code provided by Certabo wrapped into an UCI interface (inspired by the sunfish engine). The latest code can be found here: https://github.com/haklein/certabo-playground/tree/master/certabo-uci
It works fine so far on my Linux system together with pychess and also the official python lichess-bot. It's pretty new and probably still has rough edges. Promotion is still untested. I didn't play a lot of full games on the arduino board simulator. But my real board has arrived today, so more testing will happen in the next weeks.
br Hari
Quote from hari on January 1, 2020, 10:16 amI've committed a number of enhancements on github. The latest code now uses an internal thread for the serial communication. The port can be specified on the commandline and also via an UCI option. It defaults to 'auto', which uses serial port auto-detection. It skips all devices with different vendor id & pid. So false detection chance is minimized. The latest version also fixes a bug in concert with lichess-bot.py, as that one sends two "isready" commands. This caused behavior where two serial threads were spawned, interfering with each other. Also the port is now locked exclusively. The new thread based serial communication does also handle reconnects to a different serial device (e.g. on linux the USB serial adapter might get assigned a different device on reconnect). In 'auto' port config it will just do an additional scan before attempting to reconnect. Board rotation has been added as option, but that's untested. Calibration is also an option, and apparently works fine. The current master branch did play nicely with pychess and lichess-bot.py
What next: I've added a full board comparison routine, irregardless of valid moves. That will be used to light all fields that differ between the real board and the internal board representation. Currently only two fields are lit (e.g. if king and queen are swapped). This helps to point out mistakes on initial position to the user.
I've committed a number of enhancements on github. The latest code now uses an internal thread for the serial communication. The port can be specified on the commandline and also via an UCI option. It defaults to 'auto', which uses serial port auto-detection. It skips all devices with different vendor id & pid. So false detection chance is minimized. The latest version also fixes a bug in concert with lichess-bot.py, as that one sends two "isready" commands. This caused behavior where two serial threads were spawned, interfering with each other. Also the port is now locked exclusively. The new thread based serial communication does also handle reconnects to a different serial device (e.g. on linux the USB serial adapter might get assigned a different device on reconnect). In 'auto' port config it will just do an additional scan before attempting to reconnect. Board rotation has been added as option, but that's untested. Calibration is also an option, and apparently works fine. The current master branch did play nicely with pychess and lichess-bot.py
What next: I've added a full board comparison routine, irregardless of valid moves. That will be used to light all fields that differ between the real board and the internal board representation. Currently only two fields are lit (e.g. if king and queen are swapped). This helps to point out mistakes on initial position to the user.
Quote from hari on January 1, 2020, 6:55 pmThe full board comparison triggering LED is now implemented. The feature can be seen in this short video: https://youtu.be/qETHjeTY-SY
The full board comparison triggering LED is now implemented. The feature can be seen in this short video: https://youtu.be/qETHjeTY-SY
Quote from hari on January 1, 2020, 9:57 pmcertabo-uci.py also works fine on Mac (tested with latest python3, installed via pyenv)
certabo-uci.py also works fine on Mac (tested with latest python3, installed via pyenv)
Uploaded files:- You need to login to have access to uploads.
Quote from Pietro on January 1, 2020, 10:23 pmQuote from hari on January 1, 2020, 9:57 pmcertabo-uci.py also works fine on Mac (tested with latest python3, installed via pyenv)
Hello Hari
Thank you very much for update! Great video and very professional too. Will check on Mac.
Have you tried to run the Python3 version of standard code on Mac installing via pip? We used Miniconda at least for pyhton2 as there were some issues with pygame module on Mojave installed via pip.
All the best and have a great new 2020!
Pietro
Quote from hari on January 1, 2020, 9:57 pmcertabo-uci.py also works fine on Mac (tested with latest python3, installed via pyenv)
Hello Hari
Thank you very much for update! Great video and very professional too. Will check on Mac.
Have you tried to run the Python3 version of standard code on Mac installing via pip? We used Miniconda at least for pyhton2 as there were some issues with pygame module on Mojave installed via pip.
All the best and have a great new 2020!
Pietro
Quote from hari on January 1, 2020, 10:29 pmHi Pietro,
currently it doesn't work with python2, as I'm using e.g. a lot of f-string formatting.
Wish you a happy 2020, health and plenty of board sales 🙂
br Hari
Hi Pietro,
currently it doesn't work with python2, as I'm using e.g. a lot of f-string formatting.
Wish you a happy 2020, health and plenty of board sales 🙂
br Hari
Quote from hari on January 2, 2020, 8:57 pm@pietro-mandurino I've created a pyinstaller binary based on python 3.7 (installed via brew): http://vt100.at/files/certabo/
@pietro-mandurino I've created a pyinstaller binary based on python 3.7 (installed via brew): http://vt100.at/files/certabo/
Quote from hari on January 10, 2020, 10:09 pmI've commited plenty of enhancements/fixes over the last days. certabo-uci.py did also receive a lot of testing. Not only with lichess-bot and pychess. I've also done plenty of testing with SCID vs PC, jcchess and Arena for Linux (3.9 beta). This was helpful to identify flaws in my UCI handling (e.g. neither lichess-bot nor pychess do send a 'position fen <fen>' but just startpos). Also wanted to try Shredder 5 Classic demo, but that apparently doesn't have an engine tournament mode.
I've commited plenty of enhancements/fixes over the last days. certabo-uci.py did also receive a lot of testing. Not only with lichess-bot and pychess. I've also done plenty of testing with SCID vs PC, jcchess and Arena for Linux (3.9 beta). This was helpful to identify flaws in my UCI handling (e.g. neither lichess-bot nor pychess do send a 'position fen <fen>' but just startpos). Also wanted to try Shredder 5 Classic demo, but that apparently doesn't have an engine tournament mode.
Quote from hari on February 12, 2020, 9:54 pmI finally managed to test (and fix) the board rotation feature ('rotate' option in the UCI engine settings). Currently I don't have any new features on the list, as I'm very happy with the current implementation. The latest code is on github (as always). I'll give it a few more days of testing and will then call it a release.
I finally managed to test (and fix) the board rotation feature ('rotate' option in the UCI engine settings). Currently I don't have any new features on the list, as I'm very happy with the current implementation. The latest code is on github (as always). I'll give it a few more days of testing and will then call it a release.
Quote from Pietro on February 13, 2020, 9:23 pmHello again Harald
That's great news! Will you make some binary for Mac? We can eventually make for Windows and arrange for user who want to use straight forward.
We have recently modified our sw to which is now compatible with Catalina too. This has required some small modifiications will release that too.
All the best
Pietro
Hello again Harald
That's great news! Will you make some binary for Mac? We can eventually make for Windows and arrange for user who want to use straight forward.
We have recently modified our sw to which is now compatible with Catalina too. This has required some small modifiications will release that too.
All the best
Pietro