1
0
Fork 0
mirror of https://github.com/kidoman/embd synced 2025-07-04 12:27:45 +02:00

OneWire bus impl - changed imports to the original ones so that merge is possible

This commit is contained in:
Max Matveev 2016-02-05 22:23:18 -08:00
parent b6f5b3d2f6
commit 212ddeafe6
69 changed files with 179 additions and 178 deletions

View file

@ -1,4 +1,4 @@
# embd [![Build Status](https://travis-ci.org/kidoman/embd.svg?branch=master)](https://travis-ci.org/kidoman/embd) [![GoDoc](http://godoc.org/github.com/zlowred/embd?status.png)](http://godoc.org/github.com/zlowred/embd)
# embd [![Build Status](https://travis-ci.org/kidoman/embd.svg?branch=master)](https://travis-ci.org/kidoman/embd) [![GoDoc](http://godoc.org/github.com/kidoman/embd?status.png)](http://godoc.org/github.com/kidoman/embd)
**embd** is a hardware abstraction layer (HAL) for embedded systems.
@ -6,7 +6,7 @@ It allows you to start your hardware hack on easily available hobby boards (like
Development supported and sponsored by [**SoStronk**](https://www.sostronk.com) and [**ThoughtWorks**](http://www.thoughtworks.com/)
Also, you might be interested in: [Why Golang?](https://github.com/zlowred/embd/wiki/Why-Go)
Also, you might be interested in: [Why Golang?](https://github.com/kidoman/embd/wiki/Why-Go)
[Blog post introducing EMBD](http://kidoman.io/framework/embd.html)
@ -20,8 +20,8 @@ package main
import (
"time"
"github.com/zlowred/embd"
_ "github.com/zlowred/embd/host/rpi" // This loads the RPi driver
"github.com/kidoman/embd"
_ "github.com/kidoman/embd/host/rpi" // This loads the RPi driver
)
func main() {
@ -34,7 +34,7 @@ func main() {
Then install the EMBD package (go1.2 and greater is required):
$ go get github.com/zlowred/embd
$ go get github.com/kidoman/embd
Build the binary*:
@ -58,7 +58,7 @@ Then run the program with ```sudo```*:
* We are instructing the ```go``` compiler to create a binary which will run on the RaspberryPi processor
* Assuming your RaspberryPi has an IP address of ```192.168.2.2```. Substitute as necessary
* ```sudo``` (root) permission is required as we are controlling the hardware by writing to special files
* This sample program is optimized for brevity and does not clean up after itself. Click here to see the [full version](https://github.com/zlowred/embd/blob/master/samples/fullblinker.go)
* This sample program is optimized for brevity and does not clean up after itself. Click here to see the [full version](https://github.com/kidoman/embd/blob/master/samples/fullblinker.go)
## Getting Help
@ -76,7 +76,7 @@ Join the [mailing list](https://groups.google.com/forum/#!forum/go-embd)
## The command line tool
go get github.com/zlowred/embd/embd
go get github.com/kidoman/embd/embd
will install a command line utility ```embd``` which will allow you to quickly get started with prototyping. The binary should be available in your ```$GOPATH/bin```. However, to be able to run this on a ARM based device, you will need to build it with ```GOOS=linux``` and ```GOARCH=arm``` environment variables set.
@ -96,14 +96,14 @@ Package **embd** provides a hardware abstraction layer for doing embedded progra
on supported platforms like the Raspberry Pi and BeagleBone Black. Most of the examples below
will work without change (i.e. the same binary) on all supported platforms. How cool is that?
Although samples are all present in the [samples](https://github.com/zlowred/embd/tree/master/samples) folder,
Although samples are all present in the [samples](https://github.com/kidoman/embd/tree/master/samples) folder,
we will show a few choice examples here.
Use the **LED** driver to toggle LEDs on the BBB:
```go
import "github.com/zlowred/embd"
import _ "github.com/zlowred/embd/host/all"
import "github.com/kidoman/embd"
import _ "github.com/kidoman/embd/host/all"
...
embd.InitLED()
defer embd.CloseLED()
@ -116,8 +116,8 @@ led.Toggle()
Even shorter when quickly trying things out:
```go
import "github.com/zlowred/embd"
import _ "github.com/zlowred/embd/host/all"
import "github.com/kidoman/embd"
import _ "github.com/kidoman/embd/host/all"
...
embd.InitLED()
defer embd.CloseLED()
@ -130,8 +130,8 @@ embd.ToggleLED(3)
BBB + **PWM**:
```go
import "github.com/zlowred/embd"
import _ "github.com/zlowred/embd/host/all"
import "github.com/kidoman/embd"
import _ "github.com/kidoman/embd/host/all"
...
embd.InitGPIO()
defer embd.CloseGPIO()
@ -145,8 +145,8 @@ pwm.SetDuty(1000)
Control **GPIO** pins on the RaspberryPi / BeagleBone Black:
```go
import "github.com/zlowred/embd"
import _ "github.com/zlowred/embd/host/all"
import "github.com/kidoman/embd"
import _ "github.com/kidoman/embd/host/all"
...
embd.InitGPIO()
defer embd.CloseGPIO()
@ -158,8 +158,8 @@ embd.DigitalWrite(10, embd.High)
Could also do:
```go
import "github.com/zlowred/embd"
import _ "github.com/zlowred/embd/host/all"
import "github.com/kidoman/embd"
import _ "github.com/kidoman/embd/host/all"
...
embd.InitGPIO()
defer embd.CloseGPIO()
@ -173,9 +173,9 @@ pin.Write(embd.High)
Or read data from the **Bosch BMP085** barometric sensor:
```go
import "github.com/zlowred/embd"
import "github.com/zlowred/embd/sensor/bmp085"
import _ "github.com/zlowred/embd/host/all"
import "github.com/kidoman/embd"
import "github.com/kidoman/embd/sensor/bmp085"
import _ "github.com/kidoman/embd/host/all"
...
bus := embd.NewI2CBus(1)
...
@ -188,9 +188,9 @@ altitude, err := baro.Altitude()
Even find out the heading from the **LSM303** magnetometer:
```go
import "github.com/zlowred/embd"
import "github.com/zlowred/embd/sensor/lsm303"
import _ "github.com/zlowred/embd/host/all"
import "github.com/kidoman/embd"
import "github.com/kidoman/embd/sensor/lsm303"
import _ "github.com/kidoman/embd/host/all"
...
bus := embd.NewI2CBus(1)
...
@ -204,28 +204,28 @@ platforms.
## Protocols Supported
* **Digital GPIO** [Documentation](http://godoc.org/github.com/zlowred/embd#DigitalPin)
* **Analog GPIO** [Documentation](http://godoc.org/github.com/zlowred/embd#AnalogPin)
* **PWM** [Documentation](http://godoc.org/github.com/zlowred/embd#PWMPin)
* **I2C** [Documentation](http://godoc.org/github.com/zlowred/embd#I2CBus)
* **LED** [Documentation](http://godoc.org/github.com/zlowred/embd#LED)
* **SPI** [Documentation](http://godoc.org/github.com/zlowred/embd#SPIBus)
* **Digital GPIO** [Documentation](http://godoc.org/github.com/kidoman/embd#DigitalPin)
* **Analog GPIO** [Documentation](http://godoc.org/github.com/kidoman/embd#AnalogPin)
* **PWM** [Documentation](http://godoc.org/github.com/kidoman/embd#PWMPin)
* **I2C** [Documentation](http://godoc.org/github.com/kidoman/embd#I2CBus)
* **LED** [Documentation](http://godoc.org/github.com/kidoman/embd#LED)
* **SPI** [Documentation](http://godoc.org/github.com/kidoman/embd#SPIBus)
## Sensors Supported
* **TMP006** Thermopile sensor [Documentation](http://godoc.org/github.com/zlowred/embd/sensor/tmp006), [Datasheet](http://www.adafruit.com/datasheets/tmp006.pdf), [Userguide](http://www.adafruit.com/datasheets/tmp006ug.pdf)
* **TMP006** Thermopile sensor [Documentation](http://godoc.org/github.com/kidoman/embd/sensor/tmp006), [Datasheet](http://www.adafruit.com/datasheets/tmp006.pdf), [Userguide](http://www.adafruit.com/datasheets/tmp006ug.pdf)
* **BMP085** Barometric pressure sensor [Documentation](http://godoc.org/github.com/zlowred/embd/sensor/bmp085), [Datasheet](https://www.sparkfun.com/datasheets/Components/General/BST-BMP085-DS000-05.pdf)
* **BMP085** Barometric pressure sensor [Documentation](http://godoc.org/github.com/kidoman/embd/sensor/bmp085), [Datasheet](https://www.sparkfun.com/datasheets/Components/General/BST-BMP085-DS000-05.pdf)
* **BMP180** Barometric pressure sensor [Documentation](http://godoc.org/github.com/zlowred/embd/sensor/bmp180), [Datasheet](http://www.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf)
* **BMP180** Barometric pressure sensor [Documentation](http://godoc.org/github.com/kidoman/embd/sensor/bmp180), [Datasheet](http://www.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf)
* **LSM303** Accelerometer and magnetometer [Documentation](http://godoc.org/github.com/zlowred/embd/sensor/lsm303), [Datasheet](https://www.sparkfun.com/datasheets/Sensors/Magneto/LSM303%20Datasheet.pdf)
* **LSM303** Accelerometer and magnetometer [Documentation](http://godoc.org/github.com/kidoman/embd/sensor/lsm303), [Datasheet](https://www.sparkfun.com/datasheets/Sensors/Magneto/LSM303%20Datasheet.pdf)
* **L3GD20** Gyroscope [Documentation](http://godoc.org/github.com/zlowred/embd/sensor/l3gd20), [Datasheet](http://www.adafruit.com/datasheets/L3GD20.pdf)
* **L3GD20** Gyroscope [Documentation](http://godoc.org/github.com/kidoman/embd/sensor/l3gd20), [Datasheet](http://www.adafruit.com/datasheets/L3GD20.pdf)
* **US020** Ultrasonic proximity sensor [Documentation](http://godoc.org/github.com/zlowred/embd/sensor/us020), [Product Page](http://www.digibay.in/sensor/object-detection-and-proximity?product_id=239)
* **US020** Ultrasonic proximity sensor [Documentation](http://godoc.org/github.com/kidoman/embd/sensor/us020), [Product Page](http://www.digibay.in/sensor/object-detection-and-proximity?product_id=239)
* **BH1750FVI** Luminosity sensor [Documentation](http://godoc.org/github.com/zlowred/embd/sensor/bh1750fvi), [Datasheet](http://www.elechouse.com/elechouse/images/product/Digital%20light%20Sensor/bh1750fvi-e.pdf)
* **BH1750FVI** Luminosity sensor [Documentation](http://godoc.org/github.com/kidoman/embd/sensor/bh1750fvi), [Datasheet](http://www.elechouse.com/elechouse/images/product/Digital%20light%20Sensor/bh1750fvi-e.pdf)
## Interfaces
@ -233,11 +233,11 @@ platforms.
## Controllers
* **PCA9685** 16-channel, 12-bit PWM Controller with I2C protocol [Documentation](http://godoc.org/github.com/zlowred/embd/controller/pca9685), [Datasheet](http://www.adafruit.com/datasheets/PCA9685.pdf), [Product Page](http://www.adafruit.com/products/815)
* **PCA9685** 16-channel, 12-bit PWM Controller with I2C protocol [Documentation](http://godoc.org/github.com/kidoman/embd/controller/pca9685), [Datasheet](http://www.adafruit.com/datasheets/PCA9685.pdf), [Product Page](http://www.adafruit.com/products/815)
* **MCP4725** 12-bit DAC [Documentation](http://godoc.org/github.com/zlowred/embd/controller/mcp4725), [Datasheet](http://www.adafruit.com/datasheets/mcp4725.pdf), [Product Page](http://www.adafruit.com/products/935)
* **MCP4725** 12-bit DAC [Documentation](http://godoc.org/github.com/kidoman/embd/controller/mcp4725), [Datasheet](http://www.adafruit.com/datasheets/mcp4725.pdf), [Product Page](http://www.adafruit.com/products/935)
* **ServoBlaster** RPi PWM/PCM based PWM controller [Documentation](http://godoc.org/github.com/zlowred/embd/controller/servoblaster), [Product Page](https://github.com/richardghirst/PiBits/tree/master/ServoBlaster)
* **ServoBlaster** RPi PWM/PCM based PWM controller [Documentation](http://godoc.org/github.com/kidoman/embd/controller/servoblaster), [Product Page](https://github.com/richardghirst/PiBits/tree/master/ServoBlaster)
## Convertors
@ -245,10 +245,10 @@ platforms.
## Contributing
We look forward to your pull requests, but contributions which abide by the [guidelines](https://github.com/zlowred/embd/blob/master/CONTRIBUTING.md) will get a free beer!
We look forward to your pull requests, but contributions which abide by the [guidelines](https://github.com/kidoman/embd/blob/master/CONTRIBUTING.md) will get a free beer!
File an [issue](https://github.com/zlowred/embd/issues), open a [pull request](https://github.com/zlowred/embd/pulls). We are waiting.
File an [issue](https://github.com/kidoman/embd/issues), open a [pull request](https://github.com/kidoman/embd/pulls). We are waiting.
## About
EMBD is affectionately designed/developed by Karan Misra ([kidoman](https://github.com/kidoman)), Kunal Powar ([kunalpowar](https://github.com/kunalpowar)) and [FRIENDS](https://github.com/zlowred/embd/blob/master/AUTHORS). We also have a list of [CONTRIBUTORS](https://github.com/zlowred/embd/blob/master/CONTRIBUTORS).
EMBD is affectionately designed/developed by Karan Misra ([kidoman](https://github.com/kidoman)), Kunal Powar ([kunalpowar](https://github.com/kunalpowar)) and [FRIENDS](https://github.com/kidoman/embd/blob/master/AUTHORS). We also have a list of [CONTRIBUTORS](https://github.com/kidoman/embd/blob/master/CONTRIBUTORS).