-w :: Task ()
-w = makeDevice "dev1" (...) >>= connectDevice
- >>= \dev1->makeDevice "dev2" (...) >>= connectDevice
- >>= \dev2->...
- ...
- >>* [OnAction (Action "Shutdown") $ always
- $ deleteDevice dev1 >>| deleteDevice dev2
- >>| ...
- >>| shutDown 0
+module blinkdemo
+
+import iTasks
+import mTask
+import Devices.mTaskDevice
+
+from Data.Func import $
+
+Start world = startEngine blink world
+
+blink :: Task ()
+blink = addDevice
+ >>= connectDevice
+ >>= \stm->sendTaskToDevice "blink" blinkTask (stm, OnInterval 1000)
+ >>= \(st, [_,t])->forever (
+ updateSharedInformation "Which led to blink" [] (shareShare stm t)
+ ) >>* [OnAction (Action "Shutdown") $ always
+ $ deleteDevice stm >>| shutDown 0