Added FUSE support #55
|
@ -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) {
|
||||||
yannickulrich marked this conversation as resolved
Outdated
|
|||||||
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
These variables should go above
BuildRootNode
because it's using them and it would be more readable that way. Also, Go doesn't require semicolons, you can remove those.Done in
673383f