1 implementation module Tasks.Examples
3 import qualified Data.Map as DM
6 import Devices.mTaskDevice
7 import iTasks._Framework.Serialization
9 derive class iTask UserLED
11 countAndLed :: Main (ByteCode () Stmt)
12 countAndLed = sds \x=1 In sds \pinnetje=1 In {main =
19 IF (pinnetje ==. lit 1) (
22 IF (pinnetje ==. lit 2) (
29 blink :: UserLED -> Main (ByteCode () Stmt)
30 blink led = sds \x=1 In {main =
34 x =. lit 1 -. x :. noOp
37 ledtOn :: UserLED -> Main (ByteCode () Stmt)
38 ledtOn d = {main = ledOn d}
40 ledtOff :: UserLED -> Main (ByteCode () Stmt)
41 ledtOff d = {main = ledOff d}
43 ledSelection :: Task UserLED
44 ledSelection = enterInformation "Select LED" []
46 allmTasks :: Map String (Task (Main (ByteCode () Stmt)))
47 allmTasks = 'DM'.fromList [
48 ("countAndLed", treturn countAndLed),
49 ("ledOn", ledSelection @ ledtOn),
50 ("ledOff", ledSelection @ ledtOff),
51 ("blink", ledSelection @ blink)]