multibackend example'
[mTask.git] / Tasks / mTaskTask.icl
index 41741d2..c36d0d2 100644 (file)
@@ -12,26 +12,19 @@ makeTask :: String Int -> Task MTaskTask
 makeTask name ident = get currentDateTime 
        @ \dt->{MTaskTask | name=name,ident=ident,dateAdded=dt}
 
-sendTaskToDevice :: String (Main (ByteCode a Stmt)) (MTaskDevice, MTaskInterval) -> Task ()
+import StdDebug
+import StdMisc
+sendTaskToDevice :: String (Main (ByteCode a Stmt)) (MTaskDevice, MTaskInterval) -> Task [MTaskDevice]
 sendTaskToDevice wta mTask (device, timeout)
+| not (trace_tn "compiling task") = undef
 # (msgs, newState) = toMessages timeout mTask device.deviceState
-=      toSDSRecords msgs newState device
-       >>= \sdss->updateShares device ((++) sdss)
+| not (trace_tn "Done compiling task") = undef
+# shares = [makeShare wta sdsi sdsval\\{sdsi,sdsval}<-newState.sdss, (MTSds sdsi` _)<-msgs | sdsi == sdsi`] 
+= updateShares device ((++) shares)
        >>| sendMessages msgs device
        >>| makeTask wta -1
        >>= withDevices device o addTaskUpState newState
-       @! ()
        where
-               sharename i = device.deviceChannels +++ "-" +++ toString i
-
-               toSDSRecords :: [MTaskMSGSend] BCState MTaskDevice -> Task [MTaskShare]
-               toSDSRecords s st device = treturn 
-                       [makeShare wta sdsi sdsval
-                       \\{sdsi,sdsval}<-st.sdss, (MTSds sdsi` _)<-s | sdsi == sdsi`]
-
                addTaskUpState :: BCState MTaskTask MTaskDevice -> MTaskDevice
-               addTaskUpState st task device = 
-                       { MTaskDevice
-                       | device
-                       & deviceState=st
-                       , deviceTasks=[task:device.deviceTasks]}
+               addTaskUpState st task device = { MTaskDevice | device &
+                       deviceState=st, deviceTasks=[task:device.deviceTasks]}