-sendToDevice :: (Map String (Main (ByteCode () Stmt))) String (MTaskDevice, Int) -> Task ()
-sendToDevice tmap mTask (device, timeout) =
- get bcStateStore @ createBytecode
+deleteDevice :: MTaskDevice -> Task ()
+deleteDevice d = upd (\(r,s,ss)->(r,s,True)) (channels d)
+ >>| maybe (treturn ()) (flip removeTask topLevelTasks) d.deviceTask
+ >>| upd (filter ((==)d)) deviceStore
+ @! ()
+
+sendToDevice :: String (Main (ByteCode () Stmt)) (MTaskDevice, Int) -> Task ()
+sendToDevice wta mTask (device, timeout) =
+ get bcStateStore @ toMessages timeout o toRealByteCode (unMain mTask)