Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/in4lio/ev3dev-c
LEGO MINDSTORMS EV3 Debian C library + Python, Ruby and Perl wrappers
https://github.com/in4lio/ev3dev-c
Last synced: 2 months ago
JSON representation
LEGO MINDSTORMS EV3 Debian C library + Python, Ruby and Perl wrappers
- Host: GitHub
- URL: https://github.com/in4lio/ev3dev-c
- Owner: in4lio
- License: mit
- Created: 2014-09-02T14:04:00.000Z (over 10 years ago)
- Default Branch: stretch
- Last Pushed: 2020-10-18T11:37:13.000Z (about 4 years ago)
- Last Synced: 2024-07-14T23:02:16.930Z (6 months ago)
- Language: C
- Homepage:
- Size: 22.7 MB
- Stars: 72
- Watchers: 16
- Forks: 30
- Open Issues: 5
-
Metadata Files:
- Readme: README
- License: LICENSE
Awesome Lists containing this project
- awesome-lego-mindstorms - ev3dev-c - LEGO MINDSTORMS EV3 Debian C library + Python, Ruby and Perl wrappers. (EV3)
README
____ __ ____ ___ ____ __ (((((()
| |_ \ \ / ) ) | | ) | |_ \ \ / \(@)- /
|_|__ \_\/ __)_) |_|_/ |_|__ \_\/ /(@)- \
((())))
___ __________________________________
___ VERSION __________________________________ev3dev-c 2.0a1.dev5
2019-08-04kernel 4.14.117-ev3dev-2.3.4-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.___ __________________________
___ GETTING STARTED __________________________Before you start, make sure that you have opened an SSH connection
to your EV3 brick.You need to install the compiler and other tools:
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install gitThen, clone the library repository and its submodules to the directory
of your choice, such as "/home/robot/ev3dev-c":cd /home/robot/
git clone https://github.com/in4lio/ev3dev-c.git
cd ev3dev-c/
git submodule update --init --recursiveCompile and install static and shared libraries:
cd source/ev3/
make
sudo make install
make shared
sudo make shared-installIt's the right time to take a look at a small example. "hello.c" outputs
a greeting as well as toggles the left LED color:cd ../../eg/hello/
more ./hello.cLet's compile and run this program. Note that we link our example with
a static library:gcc hello.c -lev3dev-c -o hello
./helloSee also:
http://www.ev3dev.org/docs/tutorials/getting-started-with-c/
___ ____________________
___ 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.htmlFurther 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 exampleSimilar 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 --recursivePull 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 [email protected] if you have
any questions about this library.___ __________________________________
___ LICENSE __________________________________Please see the file called "LICENSE".