curie: WIP on adding support for Intel Curie IMU

Signed-off-by: deadprogram <ron@hybridgroup.com>
This commit is contained in:
deadprogram 2017-06-14 00:14:52 +02:00
parent 6a36f28fc8
commit 2aea7685d2
4 changed files with 90 additions and 0 deletions

View File

@ -0,0 +1,19 @@
# Curie
The Intel Curie is a microcontroller for the Internet of Things. It is the platform used by the Intel Arduino/Genuino 101 and the Intel TinyTILE.
For more info about the Curie platform go to: [http://www.intel.com/content/www/us/en/do-it-yourself/edison.html](http://www.intel.com/content/www/us/en/do-it-yourself/edison.html).
## How to Install
You would normally install Go and Gobot on your workstation. When you execute the program code, it will communicate with the connected microcontroller using the Firmata protocol.
```
go get -d -u gobot.io/x/gobot/...
```
## How To Use
```go
// code here...
```

View File

@ -0,0 +1,7 @@
/*
Package curie contains the Gobot driver for the Intel Curie IMU.
For further information refer to intel-iot README:
https://github.com/hybridgroup/gobot/blob/master/platforms/intel-iot/curie/README.md
*/
package curie // import "gobot.io/x/gobot/platforms/intel-iot/curie"

View File

@ -0,0 +1,43 @@
package curie
import (
"gobot.io/x/gobot"
"gobot.io/x/gobot/platforms/firmata"
)
// IMUDriver represents the IMU that is built-in to the Curie
type IMUDriver struct {
name string
connection *firmata.Adaptor
gobot.Eventer
}
// NewIMUDriver returns a new IMUDriver
func NewIMUDriver(a *firmata.Adaptor) *IMUDriver {
imu := &IMUDriver{
name: gobot.DefaultName("CurieIMU"),
connection: a,
Eventer: gobot.NewEventer(),
}
return imu
}
// Start starts up the IMUDriver
func (imu *IMUDriver) Start() (err error) {
return
}
// Halt stops the IMUDriver
func (imu *IMUDriver) Halt() (err error) {
return
}
// Name returns the IMUDriver's name
func (imu *IMUDriver) Name() string { return imu.name }
// SetName sets the IMUDriver'ss name
func (imu *IMUDriver) SetName(n string) { imu.name = n }
// Connection returns the IMUDriver's Connection
func (imu *IMUDriver) Connection() gobot.Connection { return imu.connection }

View File

@ -0,0 +1,21 @@
package curie
import (
"testing"
"gobot.io/x/gobot"
"gobot.io/x/gobot/gobottest"
"gobot.io/x/gobot/platforms/firmata"
)
var _ gobot.Driver = (*IMUDriver)(nil)
func initTestIMUDriver() *IMUDriver {
return NewIMUDriver(firmata.NewAdaptor("/dev/null"))
}
func TestIMUDriverHalt(t *testing.T) {
d := initTestIMUDriver()
gobottest.Assert(t, d.Halt(), nil)
}