X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=miTask.icl;h=2b9d4e0856294ae711d28ad23be0396cfe7f3b68;hb=7ab8606c3d22a2bc2743eae7a398407c84d502f2;hp=0d7f450d6ad1017be76ed8228f0edeb582d139cf;hpb=acd239b3f29e215ade0b63d5b26b6cf8e8ae0d63;p=mTask.git diff --git a/miTask.icl b/miTask.icl index 0d7f450..2b9d4e0 100644 --- a/miTask.icl +++ b/miTask.icl @@ -24,14 +24,12 @@ import iTasks._Framework.Serialization import TTY, iTasksTTY -derive class iTask UserLED - Start :: *World -> *World Start world = startEngine (mTaskManager >>* [OnAction (Action "Shutdown") (always $ shutDown)]) world mTaskManager :: Task () -mTaskManager = anyTask +mTaskManager = startupDevices >>| anyTask [ viewmTasks @! () , whileUnchanged sdsStore manageShares , whileUnchanged deviceStore $ manageDevices process @@ -61,14 +59,14 @@ mTaskManager = anyTask where proc :: [MTaskMSGRecv] -> Task () proc [] = treturn () - proc [m:ms] = (case m of + proc [MTEmpty:ms] = proc ms + proc [m:ms] = traceValue (toString m) >>| (case m of // MTSDSAck i = traceValue (toString m) @! () // MTSDSDelAck i = traceValue (toString m) @! () - MTPub i val = getSDSRecord i >>= set (toInt val.[0]*256 + toInt val.[1]) o getSDSStore @! () + MTPub i val = updateShare i val MTTaskAck i = deviceTaskAcked device i MTTaskDelAck i = deviceTaskDeleteAcked device i @! () - MTEmpty = treturn () - _ = traceValue (toString m) @! () + _ = treturn () ) >>| proc ms mapPar :: (a -> Task a) [a] -> Task ()