Added oneshot property to ITProperty
This commit is contained in:
parent
84c7a33c40
commit
c5a6e0d298
@ -15,6 +15,7 @@ import (
|
|||||||
type ITProperty struct {
|
type ITProperty struct {
|
||||||
name string
|
name string
|
||||||
Ino uint64
|
Ino uint64
|
||||||
|
oneshot bool
|
||||||
gen func(context.Context) (<-chan []byte, error)
|
gen func(context.Context) (<-chan []byte, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,32 +55,37 @@ func BuildRootNode(dev *infinitime.Device) (*ITNode, error) {
|
|||||||
var properties = make([]ITProperty, 6)
|
var properties = make([]ITProperty, 6)
|
||||||
|
|
||||||
func BuildProperties(dev *infinitime.Device) {
|
func BuildProperties(dev *infinitime.Device) {
|
||||||
properties[0] = ITProperty{"heartrate", 2,
|
properties[0] = ITProperty{"heartrate", 2, true,
|
||||||
func(ctx context.Context) (<-chan []byte, error) {
|
func(ctx context.Context) (<-chan []byte, error) {
|
||||||
ans, err := dev.WatchHeartRate(ctx)
|
ans, err := dev.WatchHeartRate(ctx)
|
||||||
return converterU8(ctx, ans), err
|
return converterU8(ctx, ans), err
|
||||||
}}
|
}}
|
||||||
properties[1] = ITProperty{"battery", 3,
|
properties[1] = ITProperty{"battery", 3, true,
|
||||||
func(ctx context.Context) (<-chan []byte, error) {
|
func(ctx context.Context) (<-chan []byte, error) {
|
||||||
ans, err := dev.WatchBatteryLevel(ctx)
|
ans, err := dev.WatchBatteryLevel(ctx)
|
||||||
return converterU8(ctx, ans), err
|
return converterU8(ctx, ans), err
|
||||||
}}
|
}}
|
||||||
properties[2] = ITProperty{"motion", 4,
|
properties[2] = ITProperty{"motion", 4, true,
|
||||||
func(ctx context.Context) (<-chan []byte, error) {
|
func(ctx context.Context) (<-chan []byte, error) {
|
||||||
ans, err := dev.WatchMotion(ctx)
|
ans, err := dev.WatchMotion(ctx)
|
||||||
return converterMotionValues(ctx, ans), err
|
return converterMotionValues(ctx, ans), err
|
||||||
}}
|
}}
|
||||||
properties[3] = ITProperty{"stepcount", 5,
|
properties[3] = ITProperty{"motion", 5, true,
|
||||||
|
func(ctx context.Context) (<-chan []byte, error) {
|
||||||
|
ans, err := dev.WatchMotion(ctx)
|
||||||
|
return converterMotionValues(ctx, ans), err
|
||||||
|
}}
|
||||||
|
properties[4] = ITProperty{"stepcount", 6, true,
|
||||||
func(ctx context.Context) (<-chan []byte, error) {
|
func(ctx context.Context) (<-chan []byte, error) {
|
||||||
ans, err := dev.WatchStepCount(ctx)
|
ans, err := dev.WatchStepCount(ctx)
|
||||||
return converterU32(ctx, ans), err
|
return converterU32(ctx, ans), err
|
||||||
}}
|
}}
|
||||||
properties[4] = ITProperty{"version", 6,
|
properties[5] = ITProperty{"version", 7, true,
|
||||||
func(ctx context.Context) (<-chan []byte, error) {
|
func(ctx context.Context) (<-chan []byte, error) {
|
||||||
ans, err := dev.Version()
|
ans, err := dev.Version()
|
||||||
return converter1String(ctx, ans), err
|
return converter1String(ctx, ans), err
|
||||||
}}
|
}}
|
||||||
properties[5] = ITProperty{"address", 7,
|
properties[6] = ITProperty{"address", 8, true,
|
||||||
func(ctx context.Context) (<-chan []byte, error) {
|
func(ctx context.Context) (<-chan []byte, error) {
|
||||||
ans := dev.Address()
|
ans := dev.Address()
|
||||||
return converter1String(ctx, ans), nil
|
return converter1String(ctx, ans), nil
|
||||||
|
Loading…
Reference in New Issue
Block a user