1 implementation module Tasks.Examples
3 import qualified Data.Map as DM
6 import iTasks._Framework.Serialization
8 derive class iTask UserLED, Main, ByteCode, Stmt, BC, BCState
10 countAndLed :: Main (ByteCode () Stmt)
11 countAndLed = sds \x=1 In sds \pinnetje=1 In {main =
18 IF (pinnetje ==. lit 1) (
21 IF (pinnetje ==. lit 2) (
28 blink :: UserLED -> Main (ByteCode () Stmt)
29 blink led = sds \x=1 In {main =
33 x =. lit 1 -. x :. noOp
36 ledtOn :: UserLED -> Main (ByteCode () Stmt)
37 ledtOn d = {main = ledOn d}
39 ledtOff :: UserLED -> Main (ByteCode () Stmt)
40 ledtOff d = {main = ledOff d}
42 ledSelection :: Task UserLED
43 ledSelection = enterInformation "Select LED" []
45 allmTasks :: Map String (Task (Main (ByteCode () Stmt)))
46 allmTasks = 'DM'.fromList [
47 ("countAndLed", treturn countAndLed),
48 ("ledOn", ledSelection @ ledtOn),
49 ("ledOff", ledSelection @ ledtOff),
50 ("blink", ledSelection @ blink)]