X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=Devices%2FmTaskDevice.icl;h=9a936349b09e7f18b2cc66fd2f9134e0d9bea1a2;hb=1e4c58b59800c21747181bb0c437c6cc47c47dec;hp=972aa7bebef259e416cb1a4242f26bbc494cb067;hpb=526e9fec79086ef2a701420736cf89a6191cc13c;p=mTask.git diff --git a/Devices/mTaskDevice.icl b/Devices/mTaskDevice.icl index 972aa7b..9a93634 100644 --- a/Devices/mTaskDevice.icl +++ b/Devices/mTaskDevice.icl @@ -71,22 +71,22 @@ viewDevice d = anyTask where dropEmpty (r,s,ss) = (filter ((=!=)MTEmpty) r,s,ss) -sendToDevice :: (Map String (Main (ByteCode () Stmt))) String (MTaskDevice, Int) -> Task () -sendToDevice tmap mTask (device, timeout) = - get bcStateStore @ createBytecode +sendToDevice :: String (Main (ByteCode () Stmt)) (MTaskDevice, Int) -> Task () +sendToDevice wta mTask (device, timeout) = + get bcStateStore + >>= \st->treturn (toMessages timeout (toRealByteCode (unMain mTask) st)) >>= \(msgs, st1)->set st1 bcStateStore @ toSDSRecords >>= \sdss->upd ((++)sdss) sdsStore//MTaskShareaddToSDSShare >>| makeShares sdss >>| sendMessage device msgs - >>| makeTask mTask -1 + >>| makeTask wta -1 >>= \task->withDevices device (addTask timeout task) @! () where - createBytecode st = toMessages timeout $ toRealByteCode (unMain $ fromJust ('DM'.get mTask tmap)) st sharename i = device.deviceChannels +++ "-" +++ toString i toSDSRecords st = [{MTaskShare | initValue=toInt d1*265 + toInt d2, - withTask=mTask, + withTask=wta, identifier=i, realShare="mTaskSDS-" +++ toString i} \\(i,[d1,d2])<-st.sdss]