-
-derive gPrint Long, UserLED, Button, AnalogPin, DigitalPin, PinMode, Pin, BC
+instance fromByteCode MTaskDeviceSpec where
+ fromByteCode s = let c = toInt s.[0] in
+ {MTaskDeviceSpec
+ |haveLed=(c bitand 1) > 0
+ ,haveAio=(c bitand 2) > 0
+ ,haveDio=(c bitand 4) > 0
+ ,maxTask=from16bit $ s % (1,3)
+ ,maxSDS=from16bit $ s % (3,5)
+ }
+
+derive gPrint Long, UserLED, Button, AnalogPin, DigitalPin, PinMode, Pin, BC, MTaskDeviceSpec