add task deletion and acknowledgements
[mTask.git] / mTaskInterpret.dcl
index 0cf8ef3..221c8a4 100644 (file)
@@ -6,14 +6,18 @@ from Data.Monoid import class Semigroup, class Monoid
 import mTask
 
 :: MTaskMSGRecv
-       = MTPub Int String
+       = MTTaskAck Int
+       | MTTaskDelAck Int
+       | MTSDSAck Int
+       | MTSDSDelAck Int
+       | MTPub Int String
        | MTMessage String
-       | MTTaskAdded Int
        | MTEmpty
 
 :: MTaskMSGSend
-       = MTSds Int String
-       | MTTask Int String
+       = MTTask Int String
+       | MTTaskDel Int
+       | MTSds Int String
        | MTUpd Int String
 
 instance toString MTaskMSGRecv
@@ -50,6 +54,9 @@ decode :: String -> MTaskMSGRecv
        | BCJmp Int
        | BCJmpT Int
        | BCJmpF Int
+       //UserLED
+       | BCLedOn [Char]
+       | BCLedOff [Char]
        //Serial
        | BCSerialAvail
        | BCSerialPrint
@@ -81,12 +88,14 @@ instance toByteCode Char
 instance toByteCode String
 instance toByteCode Long
 instance toByteCode Button
+instance toByteCode UserLED
 
 instance toChar Pin
 instance arith ByteCode
 instance boolExpr ByteCode
 instance analogIO ByteCode
 instance digitalIO ByteCode
+instance userLed ByteCode
 //instance If ByteCode Stmt Stmt Stmt
 //instance If ByteCode e Stmt Stmt
 //instance If ByteCode Stmt e Stmt
@@ -106,4 +115,4 @@ toSDSUpdate :: Int Int -> [MTaskMSGSend]
 
 toByteVal :: BC -> [Char]
 toReadableByteCode :: (ByteCode a b) -> (String, BCState)
-toRealByteCode :: (ByteCode a b) -> (String, BCState)
+toRealByteCode :: (ByteCode a b) BCState -> (String, BCState)