Documentation ¶
Overview ¶
Package sphero provides the Gobot adaptor and driver for the Sphero.
Installing:
go get github.com/hybridgroup/gobot/platforms/sphero
Example:
package main import ( "fmt" "time" "github.com/hybridgroup/gobot" "github.com/hybridgroup/gobot/platforms/sphero" ) func main() { gbot := gobot.NewGobot() adaptor := sphero.NewSpheroAdaptor("sphero", "/dev/rfcomm0") driver := sphero.NewSpheroDriver(adaptor, "sphero") work := func() { gobot.Every(3*time.Second, func() { driver.Roll(30, uint16(gobot.Rand(360))) }) } robot := gobot.NewRobot("sphero", []gobot.Connection{adaptor}, []gobot.Device{driver}, work, ) gbot.AddRobot(robot) gbot.Start() }
For futher information refer to sphero readme: https://github.com/hybridgroup/gobot/blob/master/platforms/sphero/README.md
Index ¶
- type Collision
- type SpheroAdaptor
- type SpheroDriver
- func (s *SpheroDriver) GetRGB() []uint8
- func (s *SpheroDriver) Halt() bool
- func (s *SpheroDriver) Roll(speed uint8, heading uint16)
- func (s *SpheroDriver) SetBackLED(level uint8)
- func (s *SpheroDriver) SetHeading(heading uint16)
- func (s *SpheroDriver) SetRGB(r uint8, g uint8, b uint8)
- func (s *SpheroDriver) SetStabilization(on bool)
- func (s *SpheroDriver) Start() bool
- func (s *SpheroDriver) Stop()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Collision ¶
type Collision struct {
// Normalized impact components (direction of the collision event):
X, Y, Z int16
// Thresholds exceeded by X (1h) and/or Y (2h) axis (bitmask):
Axis byte
// Power that cross threshold Xt + Xs:
XMagnitude, YMagnitude int16
// Sphero's speed when impact detected:
Speed uint8
// Millisecond timer
Timestamp uint32
}
type SpheroAdaptor ¶
Represents a Connection to a Sphero
func NewSpheroAdaptor ¶
func NewSpheroAdaptor(name string, port string) *SpheroAdaptor
NewSpheroAdaptor returns a new SpheroAdaptor given a name and port
func (*SpheroAdaptor) Connect ¶
func (a *SpheroAdaptor) Connect() bool
Connect initiates a connection to the Sphero. Returns true on successful connection.
func (*SpheroAdaptor) Disconnect ¶
func (a *SpheroAdaptor) Disconnect() bool
Disconnect terminates the connection to the Sphero. Returns true on successful disconnect.
func (*SpheroAdaptor) Finalize ¶
func (a *SpheroAdaptor) Finalize() bool
Finalize finalizes the SpheroAdaptor
func (*SpheroAdaptor) Reconnect ¶
func (a *SpheroAdaptor) Reconnect() bool
Reconnect attempts to reconnect to the Sphero. If the Sphero has an active connection it will first close that connection and then establish a new connection. Returns true on Successful reconnection
type SpheroDriver ¶
Represents a Sphero
func NewSpheroDriver ¶
func NewSpheroDriver(a *SpheroAdaptor, name string) *SpheroDriver
NewSpheroDriver returns a new SpheroDriver given a SpheroAdaptor and name.
Adds the following API Commands:
"Roll" - See SpheroDriver.Roll "Stop" - See SpheroDriver.Stop "GetRGB" - See SpheroDriver.GetRGB "SetBackLED" - See SpheroDriver.SetBackLED "SetHeading" - See SpheroDriver.SetHeading "SetStabilization" - See SpheroDriver.SetStabilization
func (*SpheroDriver) GetRGB ¶
func (s *SpheroDriver) GetRGB() []uint8
GetRGB returns the current r, g, b value of the Sphero
func (*SpheroDriver) Halt ¶
func (s *SpheroDriver) Halt() bool
Halt halts the SpheroDriver and sends a SpheroDriver.Stop command to the Sphero. Returns true on successful halt.
func (*SpheroDriver) Roll ¶
func (s *SpheroDriver) Roll(speed uint8, heading uint16)
Roll sends a roll command to the Sphero gives a speed and heading
func (*SpheroDriver) SetBackLED ¶
func (s *SpheroDriver) SetBackLED(level uint8)
SetBackLED sets the Sphero Back LED to the specified brightness
func (*SpheroDriver) SetHeading ¶
func (s *SpheroDriver) SetHeading(heading uint16)
SetHeading sets the heading of the Sphero
func (*SpheroDriver) SetRGB ¶
func (s *SpheroDriver) SetRGB(r uint8, g uint8, b uint8)
SetRGB sets the Sphero to the given r, g, and b values
func (*SpheroDriver) SetStabilization ¶
func (s *SpheroDriver) SetStabilization(on bool)
SetStabilization enables or disables the built-in auto stabilizing features of the Sphero
func (*SpheroDriver) Start ¶
func (s *SpheroDriver) Start() bool
Start starts the SpheroDriver and enables Collision Detection. Returns true on successful start.
Emits the Events:
"collision" SpheroDriver.Collision - On Collision Detected