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.

Source Distribution

ev3dev-c-1.0rc2.tar.gz (261.5 kB view hashes)

Uploaded Source

Built Distribution

ev3dev_c-1.0rc2-py2.7.egg (276.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page