| MTTaskDelAck Int
| MTSDSAck Int
| MTSDSDelAck Int
- | MTPub Int String
+ | MTPub Int BCValue
| MTMessage String
+ | MTDevSpec MTaskDeviceSpec
| MTEmpty
:: MTaskMSGSend
| OnInterval Int
| OnInterrupt Int
+:: MTaskDeviceSpec =
+ {haveLed :: Bool
+ ,haveAio :: Bool
+ ,haveDio :: Bool
+ ,maxTask :: Int //Should be number of bytes reserved in total for shares, tasks and functions
+ ,maxSDS :: Int
+ }
+
:: BCValue = E.e: BCValue e & mTaskType e
instance toString MTaskInterval
| BCDigitalWrite Pin
| BCTest AnalogPin
-derive gPrint BCValue
+derive gPrint BCValue, MTaskDeviceSpec
derive consIndex BCValue
derive consName BCValue
derive conses BCValue
instance toByteCode Int, Bool, Char, Long, String, Button, UserLED, BCValue
instance fromByteCode Int, Bool, Char, Long, String, Button, UserLED, BCValue
instance toByteCode MTaskInterval
-instance fromByteCode MTaskInterval
+instance fromByteCode MTaskInterval, MTaskDeviceSpec
instance arith ByteCode
instance boolExpr ByteCode