Main Page

BOAT PSEUDO-CODE

 

WAIT_FOR_IBUTTON

*If Ping received, Respond to Admiral

            Turn off Team LED

            Check for iButton

                        If No iButton return to WAIT_FOR_iBUTTON

                        If Yes read, store and go to WAIT_FOR_HELM_MATCH

 

WAIT_FOR_HELM_MATCH

            Turn on Side LED

            *If Ping received, Respond to Admiral

            *If HARD_RESET received, go to WAIT_FOR_IBUTTTON

            Check iButton S/N that are received, compare to stored S/N

            If match

                        Send MATCHED to Address received

 

EXECUTE_COMMANDS

            *If Ping received, Respond to Admiral

            *If HARD_RESET received go to WAIT_FOR_IBUTTON

            *If STAND_DOWN received, forward to Helm, send ACK to Admiral

                        Turn off all systems

                        Wait for ACK from Helm

                        Return to Executing commands

            *If SOFT_RESET received, send ACK to Admiral, go to EXECUTE_COMMANDS

            *If no commands received in 3 sec, turn off all actuators

            Receive Helm commands

                        Execute the commands by writing to the actuators