sendToDevice :: String (Main (ByteCode () Stmt)) (MTaskDevice, MTaskInterval) -> Task ()
sendToDevice wta mTask (device, timeout) =
- traceValue "starting to send"
- >>| get bcStateStore @ toMessages timeout o toRealByteCode (unMain mTask)
- >>= \(msgs, st1)->traceValue "messages generated"
- >>| set st1 bcStateStore
- >>| traceValue "bcstate store updated"
+ get bcStateStore @ toMessages timeout o toRealByteCode (unMain mTask)
+ >>= \(msgs, st1)->set st1 bcStateStore
>>| toSDSRecords st1
- >>= \sdss->traceValue "Shares created"
- >>| set sdss sdsStore//MTaskShareaddToSDSShare
- >>| traceValue "Shares store updated"
+ >>= \sdss->set sdss sdsStore//MTaskShareaddToSDSShare
>>| sendMessages msgs device
- >>| traceValue "Messages sent"
>>| makeTask wta -1
- >>= \t->traceValue "Task made"
- >>| withDevices device (addTask t)
- >>| traceValue "Tasks share updated"
+ >>= withDevices device o addTask
@! ()
where
sharename i = device.deviceChannels +++ "-" +++ toString i