CheckValid SM
(On Main XBee PIC)
Initalize Pins
Start in Pseudo Init State:Goto 0x7E State
0x7E State:
Message Received: if byte is 0x7E, NextState is Check0 else remain in 0x7E state
check0 State:
Message Received: if byte is 0, NextState is CheckDataLength else go to 0x7E
Timeout: goto 0x7E
CheckDataLength:
Message Received: if value in bytes depicts appropriate data length, goto ReceiveData, else goto 0x7E
Timeout: goto 0x7E
ReceiveData:
Message Received: store data, if reached data length and checksum matched, post event "Frame rec" to InterpretSM, reset,goto 0x7E
else if checksum not matched, reset,goto 0x7E
if data length not reached, simply store, stay in current state
Timeout: Reset and goto 0x7E
End