Skip to main content

LEGO MINDSTORMS EV3 Debian C library + Python, Ruby and Perl wrappers

Project description

 ____ __     ____   ___    ____ __         (((((()
| |_  \ \  /   ) ) | |  ) | |_  \ \  /  \(@)- /
|_|__  \_\/  __)_) |_|_/  |_|__  \_\/   /(@)- \
                                           ((())))
___         __________________________________
___ VERSION __________________________________

ev3dev-c    1.0c1
            2017-09-18

kernel      4.4.87-22-ev3dev-ev3
___             ______________________________
___ WHAT IS IT? ______________________________

ev3dev-c is a C library for LEGO MINDSTORMS EV3 Debian Linux
(http://www.ev3dev.org/) which wraps access to the EV3 hardware.

The library also supports remote access to the EV3 brick over a network.
So, if you configure WLAN on the brick, you can control the EV3 hardware
from a remote computer, for example, running under Windows.

___                       ____________________
___ PYTHON, RUBY and PERL ____________________

Python (see "python/ev3dev" folder), Ruby (see "ruby" folder) and
Perl (see "perl" folder) libraries are automatically generated from
C library using SWIG tool.

Use pip to install ev3dev-c Python package:

    pip install ev3dev-c

ev3dev-c Python package contains the following binary modules:
_ev3.pyd    – for remote control from Windows (x86)
_ev3.so     – for LEGO MINDSTORMS EV3 Debian.

You have to install "python-dev", "ruby-dev" and "libperl-dev"
packages to build the corresponding libraries.

___          _________________________________
___ GET HELP _________________________________

Documentation generated by Doxygen can be found on

    http://in4lio.github.io/ev3dev-c/

___       ____________________________________
___ F A Q ____________________________________

* * *  What are unusual ".yu", ".yu-с" and ".yu-h" files for?

ev3dev-c is written using yupp lexical preprocessor – but don't
panic – the generated source files in C also included.

* * *  How can I see some examples

Comprehensive example based on coroutines:

    http://in4lio.github.io/ev3dev-c/drive_8c-example.html

An example of IR remote control using "brick" simplified library:

    http://in4lio.github.io/ev3dev-c/remote_8c-example.html
    http://in4lio.github.io/ev3dev-c/remote_8py-example.html

Further examples in C:

    https://github.com/in4lio/ev3dev-c/tree/master/eg/

light.c    – LEDs blinking example
sensor.c   – TOUCH and COLOR sensors usage
tacho.c    – TACHO motor running for 5 sec
port.c     – Use of EV3 ports
dc.c       – Use of a DC motor
rcx_led.c  – Use of a RCX LED
servo.c    – SERVO motor example

Similar examples also avaible in Python ("python/ev3dev/eg"),
Ruby ("ruby/eg"), and Perl ("perl/eg").

* * *  How to make an example

For instance, to compile "light.c" example:

    cd ev3dev-c/eg/light/
    make

    ./Debug/light

or, if you are running Windows:

    .\Debug\mingw\light.exe

* * *  How to control the EV3 hardware remotely

https://github.com/in4lio/ev3dev-c/tree/master/source/ev3/ev3_link/

* * *  How to make and install STATIC library

    cd ev3dev-c/source/ev3/
    make
    sudo make install

* * *  How to make and install SHARED library

    cd ev3dev-c/source/ev3/
    make shared
    sudo make shared-install

* * *  How to use SHARED library

    cd ev3dev-c/eg/port/
    gcc port.c -lev3dev-c -o port

    ./port

___     ______________________________________
___ GIT ______________________________________

Run the following on your command-line to clone the library
repository and its submodules:

    git clone https://github.com/in4lio/ev3dev-c.git
    cd ev3dev-c/
    git submodule update --init --recursive

Pull the latest library and its submodules:

    cd ev3dev-c/
    git pull origin master
    git submodule foreach git pull origin master

___         __________________________________
___ CONTACT __________________________________

Please feel free to contact me at in4lio+ev3@gmail.com if you have
any questions about this library.

___         __________________________________
___ LICENSE __________________________________

Please see the file called "LICENSE".

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
ev3dev_c-1.0rc2-py2.7.egg (276.9 kB) Copy SHA256 hash SHA256 Egg 2.7 Oct 13, 2017
ev3dev-c-1.0rc2.tar.gz (261.5 kB) Copy SHA256 hash SHA256 Source None Oct 13, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page