from Generics.gCons import class gCons, generic conses, generic consName, generic consIndex, generic consNum
:: MTaskMSGRecv
- = MTTaskAck Int
+ = MTTaskAck Int Int
| MTTaskDelAck Int
| MTSDSAck Int
| MTSDSDelAck Int
:: MTaskMSGSend
= MTTask MTaskInterval String
| MTTaskDel Int
+ | MTShutdown
| MTSds Int BCValue
| MTUpd Int BCValue
| MTSpec
// | BCPush String
| BCPop
//SDS functions
- | BCSdsStore Int
- | BCSdsFetch Int
- | BCSdsPublish Int
+ | BCSdsStore BCShare
+ | BCSdsFetch BCShare
+ | BCSdsPublish BCShare
//Unary ops
| BCNot
//Binary Int ops
//Binary Bool ops
| BCAnd
| BCOr
+ //Binary ops
| BCEq
| BCNeq
| BCLes
| BCAnalogWrite Pin
| BCDigitalRead Pin
| BCDigitalWrite Pin
- | BCTest AnalogPin
+ //Return
+ | BCReturn
derive gPrint BCValue, MTaskDeviceSpec
derive consIndex BCValue
:: BCShare = {
sdsi :: Int,
- sdspub :: Bool,
sdsval :: BCValue
}
instance boolExpr ByteCode
instance analogIO ByteCode
instance digitalIO ByteCode
+instance aIO ByteCode
+instance dIO ByteCode
instance userLed ByteCode
instance If ByteCode Stmt Stmt Stmt
instance If ByteCode e Stmt Stmt
instance If ByteCode x y Stmt
instance IF ByteCode
instance noOp ByteCode
+instance retrn ByteCode
instance sds ByteCode
instance assign ByteCode