Skip to content
Snippets Groups Projects
Commit 0dc071f9 authored by jkerdreu's avatar jkerdreu
Browse files

Migration in progress



git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Go/trunk/xaal-lib/apps@3246 b32b6428-25c9-4566-ad07-03861ab6144f
parent 9e099a0d
No related branches found
No related tags found
No related merge requests found
......@@ -7,7 +7,7 @@ import (
"time"
"xAAL/xaal"
"github.com/jkerdreux-imt/uuid"
"gitlab.imt-atlantique.fr/xaal/code/go/uuid"
)
type Lamp struct {
......@@ -16,25 +16,25 @@ type Lamp struct {
func newLamp(addr uuid.UUID, group uuid.UUID) *Lamp {
dev := xaal.NewDevice("lamp.dimmer")
l := &Lamp{dev: dev}
lamp := &Lamp{dev: dev}
dev.Address = addr
dev.VendorID = "IMT Atlantique"
dev.ProductID = "Golang Chandelier Lamp"
dev.GroupID = group
dev.AddAttribute("light", false)
dev.AddAttribute("brightness", 50)
dev.AddMethod("turn_on", l.turnOn)
dev.AddMethod("turn_off", l.turnOff)
dev.AddMethod("toggle", l.toggle)
dev.AddMethod("set_brightness", l.setBrightness)
dev.AddMethod("turn_on", lamp.turnOn)
dev.AddMethod("turn_off", lamp.turnOff)
dev.AddMethod("toggle", lamp.toggle)
dev.AddMethod("set_brightness", lamp.setBrightness)
dev.Dump()
return l
return lamp
}
// turnOn set the brightness to 50 to test attributes grouped msg
func (l *Lamp) turnOn(xaal.MessageBody) *xaal.MessageBody {
light := l.dev.GetAttribute("light")
brightness := l.dev.GetAttribute("brightness")
func (lamp *Lamp) turnOn(xaal.MessageBody) *xaal.MessageBody {
light := lamp.dev.GetAttribute("light")
brightness := lamp.dev.GetAttribute("brightness")
if light.Value == true {
return nil
......@@ -47,9 +47,9 @@ func (l *Lamp) turnOn(xaal.MessageBody) *xaal.MessageBody {
}
// turnOff set the brightness to 0 to test attributes grouped msg
func (l *Lamp) turnOff(xaal.MessageBody) *xaal.MessageBody {
light := l.dev.GetAttribute("light")
brightness := l.dev.GetAttribute("brightness")
func (lamp *Lamp) turnOff(xaal.MessageBody) *xaal.MessageBody {
light := lamp.dev.GetAttribute("light")
brightness := lamp.dev.GetAttribute("brightness")
if light.Value == false {
return nil
......@@ -60,30 +60,30 @@ func (l *Lamp) turnOff(xaal.MessageBody) *xaal.MessageBody {
}
// toggle the light, to blink it
func (l *Lamp) toggle(xaal.MessageBody) *xaal.MessageBody {
light := l.dev.GetAttribute("light")
func (lamp *Lamp) toggle(xaal.MessageBody) *xaal.MessageBody {
light := lamp.dev.GetAttribute("light")
if light.Value == true {
l.turnOff(nil)
lamp.turnOff(nil)
} else {
l.turnOn(nil)
lamp.turnOn(nil)
}
return nil
}
func (l *Lamp) setBrightness(args xaal.MessageBody) *xaal.MessageBody {
func (lamp *Lamp) setBrightness(args xaal.MessageBody) *xaal.MessageBody {
if value, ok := args["brightness"].(uint64); ok {
if value > 100 {
value = 100
}
l.dev.GetAttribute("brightness").SetValue(int(value))
lamp.dev.GetAttribute("brightness").SetValue(int(value))
}
return nil
}
// used to make it blink w/ a goroutine
func (l *Lamp) blink(args xaal.MessageBody) *xaal.MessageBody {
func (lamp *Lamp) blink(args xaal.MessageBody) *xaal.MessageBody {
for {
l.toggle(nil)
lamp.toggle(nil)
time.Sleep(time.Second * 3)
}
}
......@@ -98,9 +98,9 @@ func main() {
addr, _ := baseAddr.Add(i)
l := newLamp(addr, group)
eng.AddDevice(l.dev)
// if i == 0 {
// go l.blink(nil)
// }
if i == 0 {
go l.blink(nil)
}
}
eng.Run()
......
......@@ -3,7 +3,7 @@ package main
import (
"xAAL/xaal"
"github.com/jkerdreux-imt/uuid"
"gitlab.imt-atlantique.fr/xaal/code/go/uuid"
)
func main() {
......
package main
import (
"xAAL/xaal"
schemas "xAAL/xaalschemas"
"github.com/jkerdreux-imt/uuid"
"gitlab.imt-atlantique.fr/xaal/code/go/uuid"
"gitlab.imt-atlantique.fr/xaal/code/go/xaal"
)
func main() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment