X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=miTask.icl;h=cafbffa0628e9fb05adf7d5c2e44eef37dba00fd;hb=7d9088b54956fe56c36ca8d01ec386b48f0a1c47;hp=fda80c843d7a1ed72aa83fe83f9d794255a98854;hpb=be3f747f775c05facb8a34cf0baba523401b88fb;p=mTask.git diff --git a/miTask.icl b/miTask.icl index fda80c8..cafbffa 100644 --- a/miTask.icl +++ b/miTask.icl @@ -24,45 +24,31 @@ import iTasks._Framework.Serialization import TTY, iTasksTTY -//derive class iTask ByteSize, Parity, BaudRate, TTYSettings, TCPSettings -//derive class iTask MTaskDeviceSpec, MTaskResource, MTaskTask, MTaskDevice +Start world = startEngine [ + publish "/manage" $ const $ mTaskManager + >>* [OnAction (Action "Shutdown") (always $ shutDown)], + publish "/" $ const demo + ] world -Start :: *World -> *World -Start world = startEngine (viewInformation "" [] md) world +demo = viewSharedInformation "Devices" [] deviceStore + >>* [OnValue $ ifValue pred (cont o hd)] where - md = - { deviceTask = Just $ TaskId 0 0 - , deviceError = Just "" - , deviceChannels = "abc" - , deviceName = "hoi" - , deviceTasks = [] - , deviceData = TCPDevice {TCPSettings - |host="localhost", - port=8888 - } - , deviceSpec = Just {MTaskDeviceSpec - |haveLed = True - ,haveAio = True - ,haveDio = True - ,maxTask = 42 - ,maxSDS = 5 - } - } - - + pred [] = False + pred [x:_] = not $ isEmpty x.deviceShares -//Start world = startEngine (mTaskManager -// >>* [OnAction (Action "Shutdown") (always $ shutDown)]) world + cont :: MTaskDevice -> Task () + cont dev = updateSharedInformation "Blinkyblink" [] (getRealShare dev (hd dev.deviceShares)) + >>| cont dev + mTaskManager :: Task () mTaskManager = startupDevices >>| anyTask [ viewmTasks @! () - , whileUnchanged sdsStore manageShares + , manageShares @! () , whileUnchanged deviceStore $ manageDevices process - ] <<@ ApplyLayout (sequenceLayouts - [ arrangeWithSideBar 0 LeftSide 260 True - , arrangeSplit Vertical True - ]) + ] <<@ ApplyLayout (foldl1 sequenceLayouts + [arrangeWithSideBar 0 LeftSide 260 True + ,arrangeSplit Vertical True]) where viewmTasks :: Task String viewmTasks = enterChoiceWithShared "Available mTasks" [ChooseFromList id] mTaskTaskStore @@ -74,7 +60,7 @@ mTaskManager = startupDevices >>| anyTask ds = fromJust ('DM'.get mTaskTask allmTasks) >>= \bc->(enterChoice "Choose Device" [ChooseFromDropdown \t->t.deviceName] ds -&&- enterInformation "Timeout" [] - ) >>* [OnAction (Action "Send") (withValue $ Just o sendToDevice mTaskTask bc)] + ) >>* [OnAction (Action "Send") (withValue $ Just o sendTaskToDevice mTaskTask bc)] @! () ) @@ -89,8 +75,8 @@ mTaskManager = startupDevices >>| anyTask proc [m:ms] = traceValue (toString m) >>| (case m of // MTSDSAck i = traceValue (toString m) @! () // MTSDSDelAck i = traceValue (toString m) @! () - MTPub i val = updateShare i val - MTTaskAck i = deviceTaskAcked device i + MTPub i val = updateShareFromPublish device i val @! () + MTTaskAck i mem = deviceTaskAcked device i mem MTTaskDelAck i = deviceTaskDeleteAcked device i @! () MTDevSpec s = deviceAddSpec device s @! () _ = treturn ()