import Generics.gCons
import iTasksTTY
-derive class iTask MTaskDevice, MTaskResource, MTaskMSGRecv, MTaskMSGSend
+derive class iTask MTaskDevice, MTaskDeviceSpec, MTaskResource, MTaskMSGRecv, MTaskMSGSend, BCShare
derive conses MTaskResource, TCPSettings
derive consName MTaskResource, TCPSettings
-
-channels :: MTaskDevice -> Shared Channels
:: Channels :== ([MTaskMSGRecv], [MTaskMSGSend], Bool)
:: MTaskResource
= TCPDevice TCPSettings
| SerialDevice TTYSettings
-:: MTaskDevice = {
- deviceTask :: Maybe TaskId
- ,deviceError :: Maybe String
- ,deviceChannels :: String
- ,deviceName :: String
- ,deviceTasks :: [MTaskTask]
- ,deviceData :: MTaskResource
+:: MTaskDevice =
+ { deviceTask :: Maybe TaskId
+ , deviceError :: Maybe String
+ , deviceChannels :: String
+ , deviceName :: String
+ , deviceTasks :: [MTaskTask]
+ , deviceData :: MTaskResource
+ , deviceSpec :: Maybe MTaskDeviceSpec
}
instance == MTaskDevice
connectDevice :: (MTaskDevice (Shared Channels) -> Task ()) MTaskDevice -> Task ()
manageDevices :: (MTaskDevice (Shared Channels) -> Task ()) [MTaskDevice] -> Task ()
sendToDevice :: String (Main (ByteCode () Stmt)) (MTaskDevice, MTaskInterval) -> Task ()
+sendMessages :: [MTaskMSGSend] -> (MTaskDevice -> Task Channels)
deviceTaskDelete :: MTaskDevice MTaskTask -> Task ()
deviceTaskAcked :: MTaskDevice Int -> Task ()
deviceTaskDeleteAcked :: MTaskDevice Int -> Task ()
+deviceAddSpec :: MTaskDevice MTaskDeviceSpec -> Task ()