update spec, and shares
[mTask.git] / Devices / mTaskDevice.icl
index 5c78b48..6f6480a 100644 (file)
@@ -63,7 +63,9 @@ addDevice devices processFun
 connectDevice :: (MTaskDevice (Shared Channels) -> Task ()) MTaskDevice -> Task ()
 connectDevice pf d = let ch = channels d in appendTopLevelTask 'DM'.newMap True
        (pf d ch -||- catchAll (getSynFun d.deviceData ch) errorHandle)
-       >>= \tid->withDevices d (\d->{d&deviceTask=Just tid,deviceError=Nothing}) @! ()
+       >>= \tid->withDevices d (\d->{d&deviceTask=Just tid,deviceError=Nothing})
+       >>| upd (\(r,s,ss)->(r,s++[MTSpec],ss)) ch
+       @! ()
        where
                errorHandle e = withDevices d (\d->{d&deviceTask=Nothing,deviceError=Just e})
 
@@ -93,6 +95,7 @@ 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
+//     >>| upd (removeShares d) sdsStore
        @! ()
 
 sendToDevice :: String (Main (ByteCode () Stmt)) (MTaskDevice, MTaskInterval) -> Task ()