X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=Tasks%2FExamples.icl;h=4ca051dc16591587190d2ec3936111a51dd8125b;hb=6d956995e169ae8fd44d62e26e35d499a9660225;hp=d82a76710020bdff0210e436697b3662917f7ca7;hpb=28f4e19f893889e6d19d8c0653a643ae1580fd6d;p=mTask.git diff --git a/Tasks/Examples.icl b/Tasks/Examples.icl index d82a767..4ca051d 100644 --- a/Tasks/Examples.icl +++ b/Tasks/Examples.icl @@ -6,6 +6,23 @@ import mTask import Devices.mTaskDevice import iTasks._Framework.Serialization +pinShare :: Main (ByteCode () Stmt) +pinShare = sds \p=True In {main = + d0 =. p :. noOp + } + +faculty :: Int -> Main (ByteCode () Stmt) +faculty i = sds \y=i In sds \x=1 In {main = + IF (y <=. lit 1) ( + pub x :. retrn + ) ( + x =. x *. y :. + y =. y -. lit 1 + )} + +count :: Main (ByteCode () Stmt) +count = sds \x=0 In {main = x =. x +. lit 1 :. pub x :. noOp} + countAndLed :: Main (ByteCode () Stmt) countAndLed = sds \x=1 In sds \pinnetje=1 In {main = IF (digitalRead D3) ( @@ -46,14 +63,24 @@ ledtOn d = {main = ledOn (lit d) :. noOp} ledtOff :: UserLED -> Main (ByteCode () Stmt) ledtOff d = {main = ledOff (lit d) :. noOp} +readDPin :: DigitalPin -> Main (ByteCode () Stmt) +readDPin d = sds \pin=False In {main=pin =. digitalRead d :. pub pin :. noOp} + ledSelection :: Task UserLED ledSelection = enterInformation "Select LED" [] +pinSelection :: Task DigitalPin +pinSelection = enterInformation "Select digital pin" [] + allmTasks :: Map String (Task (Main (ByteCode () Stmt))) allmTasks = 'DM'.fromList [("countAndLed", treturn countAndLed) ,("ledOn", ledSelection @ ledtOn) ,("ledOff", ledSelection @ ledtOff) + ,("readDPin", pinSelection @ readDPin) ,("blink", ledSelection @ blink) ,("blinkShare", treturn blinkShare) + ,("count", treturn count) + ,("faculty", enterInformation "Faculty" [] @ faculty) + ,("pinShare", treturn pinShare) ]