ev3dev is an idiomatic Go interface to an ev3dev device
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.
For device-specific functions see EV3 and BrickPi.
- Automatic identification of attached devices
- Buttons
/dev/input/by-path/platform-gpio_keys-event
- Power supply
/sys/class/power_supply
- LED
/sys/class/leds
- LCD
/dev/fb0
- Lego Port
/sys/class/lego-port
- Sensor
/sys/class/lego-sensor
- DC motor
/sys/class/dc-motor
- Linear actuator
/sys/class/tacho-motor
- Servo motor
/sys/class/servo-motor
- Tacho motor
/sys/class/tacho-motor
- Steering helper similar to EV-G steering block
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 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.