| 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
class mTaskType a | toByteCode, fromByteCode, iTask, TC a
instance toByteCode Int, Bool, Char, Long, String, Button, UserLED, BCValue
-instance fromByteCode Int, Bool, Char, Long, String, Button, UserLED
+instance fromByteCode Int, Bool, Char, Long, String, Button, UserLED, BCValue
instance toByteCode MTaskInterval
-instance fromByteCode MTaskInterval
+instance fromByteCode MTaskInterval, MTaskDeviceSpec
-instance toChar Pin
instance arith ByteCode
instance boolExpr ByteCode
instance analogIO ByteCode