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 details)

Uploaded Source

Built Distribution

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

Uploaded Source

File details

Details for the file ev3dev-c-1.0rc2.tar.gz.

File metadata

  • Download URL: ev3dev-c-1.0rc2.tar.gz
  • Upload date:
  • Size: 261.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ev3dev-c-1.0rc2.tar.gz
Algorithm Hash digest
SHA256 cb53e9ab8f35758a0029bbaba9a41b005bf6e614b8fc84b2e65fb6c3feaaed4f
MD5 22fc0f5a51db150e59accb82dcd3916d
BLAKE2b-256 e7853925cf34c5c5dcc63c6b7a0ff0841e236decf00b28049c496fb5ba9a350c

See more details on using hashes here.

File details

Details for the file ev3dev_c-1.0rc2-py2.7.egg.

File metadata

File hashes

Hashes for ev3dev_c-1.0rc2-py2.7.egg
Algorithm Hash digest
SHA256 97facb0e29dfc169fedd2c80e3d81cb2647e8373df9f474a4de1c20f2dc858ff
MD5 b09424e4802c2748edc7622c14c5da04
BLAKE2b-256 d54d62145ad8112149b699b5b4c41f1d533cb2209e896a97c1cb14cf08570ecc

See more details on using hashes here.

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