
lastData = m_din
mask = 0x1
inputStatus=0
while(1)
until (inputStatus==1) // wait until input interrupt is occur
inputStatus=0
if (callbackNodeId==0) //one of the Maestro inputs
inputNum = 8
else //one of the Harmonica inputs
inputNum = 6
end if
if (callbackNodeId==0)
for i=0:inputNum-1
callbackInputData = mask&callbackData
lastInputData = mask&lastData
//check in each input interrupt is occur
if (callbackInputData!=lastInputData)
// check interrupt level
if(callbackInputData==0)
TRACE ("Node Id is %, Input #% low level",callbackNodeId, i+1)
else
TRACE ("Node Id is %, Input #% high level",callbackNodeId, i+1)
end if
end if
mask = mask<<1
end for
lastData=callbackData
mask = 0x1 //reset mask
end if
end while
end function
// Input handler calls then a input event occur.
function @input(int busId, int nodeId, int data)
global int inputStatus
global int callbackData, callbackNodeId
inputStatus=1
callbackData=data
callbackNodeId=nodeId
end function
Maestro Software Manual Appendix B: Sample Programs
MAN-MASSW (Ver. Q)
B-18
Kommentare zu diesen Handbüchern