X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;ds=sidebyside;f=go%2Fr3-eventbroker_zmq%2Fmetamovement.go;h=d9087585c88cb9267c8573feb5a83671cdce7764;hb=417e9a91ef92b248513da9f2be83519d37c599e7;hp=71aa209c67980e7094a65c6c1772ba0f7be4a2f1;hpb=837698930d5eea7c100a1233ee1d92e71896bb5d;p=svn42.git diff --git a/go/r3-eventbroker_zmq/metamovement.go b/go/r3-eventbroker_zmq/metamovement.go index 71aa209..d908758 100644 --- a/go/r3-eventbroker_zmq/metamovement.go +++ b/go/r3-eventbroker_zmq/metamovement.go @@ -7,13 +7,9 @@ import ( //~ "./brain" pubsub "github.com/tuxychandru/pubsub" "container/ring" + "./r3events" ) -type SomethingReallyIsMoving struct { - Movement bool - Ts int64 -} - func MetaEventRoutine_Movement(ps *pubsub.PubSub, granularity, gran_duration int , threshold uint32) { var last_movement int64 @@ -24,7 +20,7 @@ func MetaEventRoutine_Movement(ps *pubsub.PubSub, granularity, gran_duration int for { select { case event := <- events_chan: switch event.(type) { - case MovementSensorUpdate: + case r3events.MovementSensorUpdate: movement_window.Value = (uint32) (movement_window.Value.(uint32) + 1) } case <- myticker.C: @@ -34,13 +30,13 @@ func MetaEventRoutine_Movement(ps *pubsub.PubSub, granularity, gran_duration int movement_window.Do(func(v interface{}){if v != nil {movsum += v.(uint32)}}) ts := time.Now().Unix() if movsum > threshold { - ps.Pub( SomethingReallyIsMoving{true,ts}, "movement") + ps.Pub( r3events.SomethingReallyIsMoving{true,ts}, "movement") last_movement = ts } if last_movement > 0 && ts - last_movement < 3600*6 && ts - last_movement > 3600*3 { last_movement = 0 - ps.Pub( SomethingReallyIsMoving{false, ts}, "movement") + ps.Pub( r3events.SomethingReallyIsMoving{false, ts}, "movement") } } } } \ No newline at end of file