import iTasks
import Devices.mTaskDevice
-
import iTasks._Framework.Serialization
derive class iTask MTaskTask, MTaskInterval, Main, ByteCode, Stmt, Expr, BC, BCState, RWST, Identity
makeTask name ident = get currentDateTime
@ \dt->{MTaskTask | name=name,ident=ident,dateAdded=dt}
-sendTaskToDevice :: String (Main (ByteCode () Stmt)) (MTaskDevice, MTaskInterval) -> Task ()
+sendTaskToDevice :: String (Main (ByteCode a Stmt)) (MTaskDevice, MTaskInterval) -> Task ()
sendTaskToDevice wta mTask (device, timeout) =
get bcStateStore @ toMessages timeout mTask
>>= \(msgs, st1)->set st1 bcStateStore
- >>| toSDSRecords msgs st1
+ >>| toSDSRecords msgs st1 device
>>= \sdss->upd (mergeShares sdss) sdsStore
>>| sendMessages msgs device
>>| makeTask wta -1
where
sharename i = device.deviceChannels +++ "-" +++ toString i
- toSDSRecords :: [MTaskMSGSend] BCState -> Task [MTaskShare]
- toSDSRecords s st = sequence ""
- [makeShare wta sdsi sdsval
+ toSDSRecords :: [MTaskMSGSend] BCState MTaskDevice -> Task [MTaskShare]
+ toSDSRecords s st device = treturn
+ [makeShare wta device.deviceName sdsi sdsval
\\{sdsi,sdspub,sdsval}<-st.sdss
, (MTSds sdsi` _)<-s
| sdsi == sdsi`]