repositories
/
mTask.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
working again, externalized some device helper functions and added share updating
[mTask.git]
/
mTaskInterpret.dcl
diff --git
a/mTaskInterpret.dcl
b/mTaskInterpret.dcl
index
319ffb3
..
17034be
100644
(file)
--- a/
mTaskInterpret.dcl
+++ b/
mTaskInterpret.dcl
@@
-15,10
+15,17
@@
import mTask
| MTEmpty
:: MTaskMSGSend
| MTEmpty
:: MTaskMSGSend
- = MTTask Int String
+ = MTTask MTaskInterval String
+ | MTTaskDel Int
| MTSds Int String
| MTUpd Int String
| MTSds Int String
| MTUpd Int String
+:: MTaskInterval
+ = OneShot
+ | OnInterval Int
+ | OnInterrupt Int
+
+instance toString MTaskInterval
instance toString MTaskMSGRecv
instance toString MTaskMSGSend
encode :: MTaskMSGSend -> String
instance toString MTaskMSGRecv
instance toString MTaskMSGSend
encode :: MTaskMSGSend -> String
@@
-73,10
+80,16
@@
decode :: String -> MTaskMSGRecv
instance Semigroup (ByteCode a p)
instance Monoid (ByteCode a p)
instance Semigroup (ByteCode a p)
instance Monoid (ByteCode a p)
+:: BCShare = {
+ sdsi :: Int,
+ sdspub :: Bool,
+ sdsval :: [Char]
+ }
+
:: BCState = {
freshl :: [Int],
freshs :: [Int],
:: BCState = {
freshl :: [Int],
freshs :: [Int],
- sdss :: [
(Int, [Char])
]
+ sdss :: [
BCShare
]
}
instance zero BCState
}
instance zero BCState
@@
-88,6
+101,7
@@
instance toByteCode String
instance toByteCode Long
instance toByteCode Button
instance toByteCode UserLED
instance toByteCode Long
instance toByteCode Button
instance toByteCode UserLED
+//instance toByteCode MTaskInterval
instance toChar Pin
instance arith ByteCode
instance toChar Pin
instance arith ByteCode
@@
-107,11
+121,9
@@
instance assign ByteCode
instance seq ByteCode
instance serial ByteCode
instance seq ByteCode
instance serial ByteCode
-//pub :: (ByteCode a b) -> ByteCode a b
-
-toMessages :: Int (String, BCState) -> ([MTaskMSGSend], BCState)
+toMessages :: MTaskInterval (String, BCState) -> ([MTaskMSGSend], BCState)
toSDSUpdate :: Int Int -> [MTaskMSGSend]
toByteVal :: BC -> [Char]
toReadableByteCode :: (ByteCode a b) -> (String, BCState)
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)