Code Monkey home page Code Monkey logo

robotic-chess's Introduction

Robotic Chess

An chess playing robot, powered by Stockfish and Octoprint. For documentation, see our wiki.


Requirements

Essentials

  • 3-core CPU and at least 3GB of RAM (theoretically this can run with only 2 cores and 2GB of RAM, but at the risk of crashing / hanging your computer)
  • A Linux-based operating system with sudo OR a Windows 10/11 operating system.
  • Python 3.10+ and pip
  • Octoprint server connected to a 3D printer
  • An electromagnet connected to M106/M107 extruder fan control

Recommended

  • 4-core+ CPU and at least 6GB of RAM
  • Python 3.11+ and pip
  • Knowledge of simple Linux commands

Installation

Installation from wheel (beta for Linux)

First, visit our releases page and download the .whl file from the desired version (the 'latest' version is recommended).

Then, run pip install robotic_chess-0.2.1-py3.whl (replace 0.2.1 with the version number of your downloaded wheel).

You must then edit ~/.config/octoprint-cli.ini and input the server details of your octoprint server.

Installation from source (recommended for Windows or Linux dev builds)

First, clone our repo using git clone https://github.com/Hacking3DPrinters/robotic-chess.git, and enter the new directory. Then edit config.ini with your server details of the octoprint server.

Then run python3 setup.py install to begin setup.


Running

Run python3 -m robotic_chess.


Contributing

Please feel free to fork our repo then submit a pull request: we'd love it if you would help us develop new features!

You can also submit a 'feature request' issue: give us some example code if you feel like contributing personally!


Status

This project is in ACTIVE DEVELOPMENT.

robotic-chess's People

Contributors

hippoprogrammer avatar

Stargazers

 avatar

Watchers

Kostas Georgiou avatar  avatar

Forkers

drygiththegm

robotic-chess's Issues

No config.ini

There is no config.ini file and there is no automated windows install in setup.py for it. Please include.

@DrygithTheGM

octoprint-cli is broken

When installing, octoprint-cli is not a command, despite a valid copy of the main.py file being in the src directory. Please fix.

octoprint-cli is not recognised in auto install

Describe the bug
pip install octoprint-cli then running octoprint-cli does not work.

To Reproduce
Either install from wheel or run pip install octoprint-cli. Verify that pip believes octoprint-cli is installed on the system. Then run octoprint-cli and nothing happens.

Expected behavior
octoprint-cli to work.

Desktop (please complete the following information):

  • OS: Linux
  • Machine: GitHub Codespace
  • Version 0.2.4

gcode module has no way to pass information to octoprint

Is your feature request related to a problem? Please describe.
When using robotic_chess.octoprint.Printer.run_gcode() there is no way to input gcode from robotic_chess.gcode.Parser.parse().

Describe the solution you'd like
A mode to immediately output gcode after running a command.

Describe alternatives you've considered
Rewriting the entire gcode library with functions instead of a class.

Auto install is buggy and broken

There is no clear way to install for Windows. The lack of git on Windows means that the current README is wrong, and installation instructions for Python are lacking for both OSes.

In addition, the binaries for stockfish must be installed via a .zip file with a POPCNT precompiled binary instead of a source install. Using a self-compiled binary would allow supported computers to use the faster AVX2 binaries if compatible. If no self-compilation is possible due to the requirements for MSYS32 on Windows, then a check to determine AVX2 compatibility would be helpful, or even a selector with a reference list for manual installation would be helpful.

Also, the .whl files are broken on all OSes, as they do not come with packaged stockfish or a setup.pyfile: attempt to fix this.

No way to select computer-specific info

Describe the bug
You cannot specify stockfish_path or CPU threads for stockfish in the .whl install.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the releases page.
  2. Click on the latest version.
  3. Download the latest wheel.
  4. Install using instructions.
  5. Try running: stockfish_path will be blank.

Expected behavior
An automated selector during installation or a automatic CPU thread counter.

An input() to specify stockfish_path.

Desktop (please complete the following information):

  • OS: Linux
  • Browser Safari
  • Version Github CodeSpace

No version compatibility

Please update dev and testing with the latest releases to main and add precompiled binaries to the release page for v1.0.1.

Add documentation for installation

Is your feature request related to a problem? Please describe.
There are no clear instructions for installation.

Describe the solution you'd like
A wiki page detailing installation instructions and a requirements.txt file for pip.

Describe alternatives you've considered
A .md file detailing installation instructions.

Additional context
N/A

Windows auto install broken

The Windows auto install does not work without a manual install of MSYS32. Please either integrate steps into the README for compiler installation or add steps to download a precompiled binary off the Stockfish website.

Setup.py should have the current Windows setup lines removed: it may be wise to try and find a way to display a selector menu in pip, such as that used for PiHole and PiVPN.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.