update spec to support normal io pins
[mTask.git] / mTaskInterpret.dcl
index 99a3533..7e8d4b4 100644 (file)
@@ -34,13 +34,18 @@ from Generics.gCons import class gCons, generic conses, generic consName, generi
        | OnInterrupt Int
 
 :: MTaskDeviceSpec =
-               {haveLed :: Bool
-               ,haveAio :: Bool
-               ,haveDio :: Bool
+               {haveLed     :: Bool
+               ,haveAio     :: Bool
+               ,haveDio     :: Bool
+               ,aPins       :: Int
+               ,dPins       :: Int
+               ,stackSize   :: Int
                ,bytesMemory :: Int
        }
 
-:: BCValue = E.e: BCValue e & mTaskType e
+:: BCValue = E.e: BCValue e & mTaskType, TC e
+
+instance == BCValue
 
 instance toString MTaskInterval
 instance toString MTaskMSGRecv
@@ -119,8 +124,8 @@ derive gEq BCValue
        }
 
 :: BCState = {
-               freshl :: [Int],
-               freshs :: [Int],
+               freshl :: Int,
+               freshs :: Int,
                sdss :: [BCShare]
        }
 instance zero BCState
@@ -150,6 +155,7 @@ instance noOp ByteCode
 instance retrn ByteCode
 
 instance sds ByteCode
+instance sdspub ByteCode
 instance assign ByteCode
 instance seq ByteCode
 instance serial ByteCode