https://github.com/ev3go/ev3dev
ev3dev is a simple interface to the Lego Mindstorms ev3 robotics platform
https://github.com/ev3go/ev3dev
Last synced: 4 months ago
JSON representation
ev3dev is a simple interface to the Lego Mindstorms ev3 robotics platform
- Host: GitHub
- URL: https://github.com/ev3go/ev3dev
- Owner: ev3go
- License: other
- Created: 2016-04-17T04:53:59.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-02-18T22:31:58.000Z (over 2 years ago)
- Last Synced: 2024-11-01T02:34:30.488Z (9 months ago)
- Language: Go
- Homepage:
- Size: 2.32 MB
- Stars: 71
- Watchers: 8
- Forks: 16
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
- awesome-lego-mindstorms - ev3dev - An idiomatic Go interface to an ev3dev device. (EV3)
README

# ev3dev is an idiomatic Go interface to an [ev3dev](http://ev3dev.org) device[](https://travis-ci.org/ev3go/ev3dev) [](https://coveralls.io/github/ev3go/ev3dev?branch=master) [](https://godoc.org/github.com/ev3go/ev3dev)
The goal is to implement a simple Go style ev3dev API and helpers for common tasks.
github.com/ev3go/ev3dev depends on ev3dev stretch and has been tested on kernel 4.14.61-ev3dev-2.2.2-ev3. For jessie support see the [ev3dev-jessie branch](https://github.com/ev3go/ev3dev/tree/ev3dev-jessie).
For device-specific functions see [EV3](https://github.com/ev3go/ev3) and [BrickPi](https://github.com/ev3go/brickpi).
## Currently supported:
### Low level API
- [x] Automatic identification of attached devices
- [x] Buttons `/dev/input/by-path/platform-gpio_keys-event`
- [x] Power supply `/sys/class/power_supply`
- [x] LED `/sys/class/leds`
- [x] LCD `/dev/fb0`
- [x] Lego Port `/sys/class/lego-port`
- [x] Sensor `/sys/class/lego-sensor`
- [x] DC motor `/sys/class/dc-motor`
- [x] Linear actuator `/sys/class/tacho-motor`
- [x] Servo motor `/sys/class/servo-motor`
- [x] Tacho motor `/sys/class/tacho-motor`### Common tasks
- [x] Steering helper similar to EV-G steering block
## Quick start compiling for a brick
Compiling for a brick can be done on the platform itself if Go is installed there, but it is generally quicker on your computer. This requires that you prefix the `go build` invocation with `GOOS=linux GOARCH=arm GOARM=5`. For example, to build the [demo program](https://github.com/ev3go/ev3dev/tree/master/examples/demo) you can do this:
```
$ GOOS=linux GOARCH=arm GOARM=5 go build github.com/ev3go/ev3dev/examples/demo
```This will leave a `demo` executable (from the name of the package path) in your current directory. You can then copy the executable over to your brick using `scp`.
---
LEGO® is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this software.