Skip to content

Instantly share code, notes, and snippets.

@timdorr
Created June 21, 2016 03:53
Show Gist options
  • Save timdorr/61834c6ada93d961e4646ea5fff6d7f7 to your computer and use it in GitHub Desktop.
Save timdorr/61834c6ada93d961e4646ea5fff6d7f7 to your computer and use it in GitHub Desktop.
Tesla Autopark State Machine
from(APState.InitialScreenOpen).to(APState.InitialScreenOpen).on(APEvent.StartedScreenOpen);
from(APState.InitialScreenOpen).to(APState.Connecting).on(APEvent.StartedConnectingToWebSocket);
from(APState.Disconnected).to(APState.Connecting).on(APEvent.StartedConnectingToWebSocket);
from(APState.Connecting).to(APState.WaitingForInitialVehicleStatus).on(APEvent.BecameConnectedToWebSocket);
from(APState.WaitingForInitialVehicleStatus).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.WaitingForNextVehicleStatus).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkReadyCriteriaNotMet).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkForwardOnlyReady).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkReverseOnlyReady).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkBidirectionalReady).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkStandby).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkUnavailable).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkDisabled).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkStartRequested).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkPreparing).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkMovingForward).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkMovingReverse).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkOperatingHomeLink).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkPaused).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkResuming).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkPanic).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkAbortRequested).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.AutoparkAborting).to(APState.Disconnecting).on(APEvent.IsDisconnectingFromWebSocket);
from(APState.Connecting).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.Disconnecting).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.Disconnected).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.WaitingForInitialVehicleStatus).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.WaitingForNextVehicleStatus).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkReadyCriteriaNotMet).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkForwardOnlyReady).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkReverseOnlyReady).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkBidirectionalReady).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkStartRequested).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkStandby).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkUnavailable).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkDisabled).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkPreparing).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkMovingForward).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkMovingReverse).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkOperatingHomeLink).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkPaused).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkResuming).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkPanic).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkAbortRequested).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.AutoparkAborting).to(APState.Disconnected).on(APEvent.BecameDisconnectedFromWebSocket);
from(APState.Connecting).to(APState.Disconnected).on(APEvent.FailedToConnectToWebSocket);
from(APState.WaitingForInitialVehicleStatus).to(APState.Disconnecting).on(APEvent.FailedToReceiveInitialVehicleStatus);
from(APState.InitialScreenOpen).to(APState.AutoparkReadyCriteriaNotMet).on(APEvent.FailedAutoparkReadyTest);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkReadyCriteriaNotMet).on(APEvent.FailedAutoparkReadyTest);
from(APState.AutoparkReadyCriteriaNotMet).to(APState.AutoparkReadyCriteriaNotMet).on(APEvent.FailedAutoparkReadyTest);
from(APState.AutoparkForwardOnlyReady).to(APState.AutoparkReadyCriteriaNotMet).on(APEvent.FailedAutoparkReadyTest);
from(APState.AutoparkReverseOnlyReady).to(APState.AutoparkReadyCriteriaNotMet).on(APEvent.FailedAutoparkReadyTest);
from(APState.AutoparkBidirectionalReady).to(APState.AutoparkReadyCriteriaNotMet).on(APEvent.FailedAutoparkReadyTest);
from(APState.AutoparkStandby).to(APState.AutoparkReadyCriteriaNotMet).on(APEvent.FailedAutoparkReadyTest);
from(APState.AutoparkDisabled).to(APState.AutoparkReadyCriteriaNotMet).on(APEvent.FailedAutoparkReadyTest);
from(APState.AutoparkUnavailable).to(APState.AutoparkReadyCriteriaNotMet).on(APEvent.FailedAutoparkReadyTest);
from(APState.WaitingForInitialVehicleStatus).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkReadyCriteriaNotMet).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkForwardOnlyReady).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkReverseOnlyReady).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkBidirectionalReady).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkPreparing).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkStartRequested).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkMovingForward).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkMovingReverse).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkOperatingHomeLink).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkPaused).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkResuming).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkStandby).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkDisabled).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkAbortRequested).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkAborting).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.AutoparkPanic).to(APState.AutoparkStandby).on(APEvent.AutoparkBecameStandby);
from(APState.WaitingForInitialVehicleStatus).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkReadyCriteriaNotMet).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkForwardOnlyReady).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkReverseOnlyReady).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkBidirectionalReady).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkPreparing).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkStartRequested).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkMovingForward).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkMovingReverse).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkOperatingHomeLink).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkPaused).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkResuming).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkStandby).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkDisabled).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkUnavailable).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkAbortRequested).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkAborting).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.AutoparkPanic).to(APState.AutoparkUnavailable).on(APEvent.AutoparkBecameUnavailable);
from(APState.WaitingForInitialVehicleStatus).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkReadyCriteriaNotMet).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkForwardOnlyReady).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkReverseOnlyReady).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkBidirectionalReady).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkPreparing).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkStartRequested).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkMovingForward).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkMovingReverse).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkOperatingHomeLink).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkPaused).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkResuming).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkStandby).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkDisabled).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkAbortRequested).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkAborting).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.AutoparkPanic).to(APState.AutoparkDisabled).on(APEvent.AutoparkBecameDisabled);
from(APState.WaitingForInitialVehicleStatus).to(APState.AutoparkForwardOnlyReady).on(APEvent.AutoparkBecameForwardOnlyReady);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkForwardOnlyReady).on(APEvent.AutoparkBecameForwardOnlyReady);
from(APState.AutoparkReadyCriteriaNotMet).to(APState.AutoparkForwardOnlyReady).on(APEvent.AutoparkBecameForwardOnlyReady);
from(APState.AutoparkForwardOnlyReady).to(APState.AutoparkForwardOnlyReady).on(APEvent.AutoparkBecameForwardOnlyReady);
from(APState.AutoparkMovingForward).to(APState.AutoparkForwardOnlyReady).on(APEvent.AutoparkBecameForwardOnlyReady);
from(APState.AutoparkMovingReverse).to(APState.AutoparkForwardOnlyReady).on(APEvent.AutoparkBecameForwardOnlyReady);
from(APState.AutoparkOperatingHomeLink).to(APState.AutoparkForwardOnlyReady).on(APEvent.AutoparkBecameForwardOnlyReady);
from(APState.AutoparkStandby).to(APState.AutoparkForwardOnlyReady).on(APEvent.AutoparkBecameForwardOnlyReady);
from(APState.AutoparkDisabled).to(APState.AutoparkForwardOnlyReady).on(APEvent.AutoparkBecameForwardOnlyReady);
from(APState.AutoparkAborting).to(APState.AutoparkForwardOnlyReady).on(APEvent.AutoparkBecameForwardOnlyReady);
from(APState.AutoparkAbortRequested).to(APState.AutoparkForwardOnlyReady).on(APEvent.AutoparkBecameForwardOnlyReady);
from(APState.AutoparkPaused).to(APState.AutoparkForwardOnlyReady).on(APEvent.AutoparkBecameForwardOnlyReady);
from(APState.AutoparkResuming).to(APState.AutoparkForwardOnlyReady).on(APEvent.AutoparkBecameForwardOnlyReady);
from(APState.AutoparkPanic).to(APState.AutoparkForwardOnlyReady).on(APEvent.AutoparkBecameForwardOnlyReady);
from(APState.WaitingForInitialVehicleStatus).to(APState.AutoparkReverseOnlyReady).on(APEvent.AutoparkBecameReverseOnlyReady);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkReverseOnlyReady).on(APEvent.AutoparkBecameReverseOnlyReady);
from(APState.AutoparkReadyCriteriaNotMet).to(APState.AutoparkReverseOnlyReady).on(APEvent.AutoparkBecameReverseOnlyReady);
from(APState.AutoparkReverseOnlyReady).to(APState.AutoparkReverseOnlyReady).on(APEvent.AutoparkBecameReverseOnlyReady);
from(APState.AutoparkMovingForward).to(APState.AutoparkReverseOnlyReady).on(APEvent.AutoparkBecameReverseOnlyReady);
from(APState.AutoparkMovingReverse).to(APState.AutoparkReverseOnlyReady).on(APEvent.AutoparkBecameReverseOnlyReady);
from(APState.AutoparkOperatingHomeLink).to(APState.AutoparkReverseOnlyReady).on(APEvent.AutoparkBecameReverseOnlyReady);
from(APState.AutoparkStandby).to(APState.AutoparkReverseOnlyReady).on(APEvent.AutoparkBecameReverseOnlyReady);
from(APState.AutoparkDisabled).to(APState.AutoparkReverseOnlyReady).on(APEvent.AutoparkBecameReverseOnlyReady);
from(APState.AutoparkAborting).to(APState.AutoparkReverseOnlyReady).on(APEvent.AutoparkBecameReverseOnlyReady);
from(APState.AutoparkAbortRequested).to(APState.AutoparkReverseOnlyReady).on(APEvent.AutoparkBecameReverseOnlyReady);
from(APState.AutoparkPaused).to(APState.AutoparkReverseOnlyReady).on(APEvent.AutoparkBecameReverseOnlyReady);
from(APState.AutoparkResuming).to(APState.AutoparkReverseOnlyReady).on(APEvent.AutoparkBecameReverseOnlyReady);
from(APState.AutoparkPanic).to(APState.AutoparkReverseOnlyReady).on(APEvent.AutoparkBecameReverseOnlyReady);
from(APState.WaitingForInitialVehicleStatus).to(APState.AutoparkBidirectionalReady).on(APEvent.AutoparkBecameBidirectionalReady);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkBidirectionalReady).on(APEvent.AutoparkBecameBidirectionalReady);
from(APState.AutoparkReadyCriteriaNotMet).to(APState.AutoparkBidirectionalReady).on(APEvent.AutoparkBecameBidirectionalReady);
from(APState.AutoparkBidirectionalReady).to(APState.AutoparkBidirectionalReady).on(APEvent.AutoparkBecameBidirectionalReady);
from(APState.AutoparkMovingForward).to(APState.AutoparkBidirectionalReady).on(APEvent.AutoparkBecameBidirectionalReady);
from(APState.AutoparkMovingReverse).to(APState.AutoparkBidirectionalReady).on(APEvent.AutoparkBecameBidirectionalReady);
from(APState.AutoparkOperatingHomeLink).to(APState.AutoparkBidirectionalReady).on(APEvent.AutoparkBecameBidirectionalReady);
from(APState.AutoparkStandby).to(APState.AutoparkBidirectionalReady).on(APEvent.AutoparkBecameBidirectionalReady);
from(APState.AutoparkDisabled).to(APState.AutoparkBidirectionalReady).on(APEvent.AutoparkBecameBidirectionalReady);
from(APState.AutoparkAborting).to(APState.AutoparkBidirectionalReady).on(APEvent.AutoparkBecameBidirectionalReady);
from(APState.AutoparkAbortRequested).to(APState.AutoparkBidirectionalReady).on(APEvent.AutoparkBecameBidirectionalReady);
from(APState.AutoparkPaused).to(APState.AutoparkBidirectionalReady).on(APEvent.AutoparkBecameBidirectionalReady);
from(APState.AutoparkResuming).to(APState.AutoparkBidirectionalReady).on(APEvent.AutoparkBecameBidirectionalReady);
from(APState.AutoparkPanic).to(APState.AutoparkBidirectionalReady).on(APEvent.AutoparkBecameBidirectionalReady);
from(APState.AutoparkForwardOnlyReady).to(APState.AutoparkStartRequested).on(APEvent.ForwardAutoparkCommandExecuted);
from(APState.AutoparkBidirectionalReady).to(APState.AutoparkStartRequested).on(APEvent.ForwardAutoparkCommandExecuted);
from(APState.AutoparkReverseOnlyReady).to(APState.AutoparkStartRequested).on(APEvent.ReverseAutoparkCommandExecuted);
from(APState.AutoparkBidirectionalReady).to(APState.AutoparkStartRequested).on(APEvent.ReverseAutoparkCommandExecuted);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkReadyCriteriaNotMet).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkForwardOnlyReady).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkReverseOnlyReady).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkBidirectionalReady).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkStandby).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkDisabled).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkUnavailable).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkStartRequested).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkAbortRequested).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkPreparing).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkMovingForward).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkMovingReverse).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkOperatingHomeLink).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkPaused).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkResuming).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkAborting).to(APState.AutoparkAbortRequested).on(APEvent.AbortAutoparkCommandExecuted);
from(APState.AutoparkStartRequested).to(APState.WaitingForNextVehicleStatus).on(APEvent.AutoparkMovingCommandFailed);
from(APState.AutoparkAbortRequested).to(APState.WaitingForNextVehicleStatus).on(APEvent.AutoparkAbortCommandFailed);
from(APState.AutoparkStartRequested).to(APState.WaitingForNextVehicleStatus).on(APEvent.AutoparkErrorReceived);
from(APState.AutoparkAbortRequested).to(APState.WaitingForNextVehicleStatus).on(APEvent.AutoparkErrorReceived);
from(APState.AutoparkPreparing).to(APState.WaitingForNextVehicleStatus).on(APEvent.AutoparkErrorReceived);
from(APState.AutoparkMovingForward).to(APState.WaitingForNextVehicleStatus).on(APEvent.AutoparkErrorReceived);
from(APState.AutoparkMovingReverse).to(APState.WaitingForNextVehicleStatus).on(APEvent.AutoparkErrorReceived);
from(APState.AutoparkOperatingHomeLink).to(APState.WaitingForNextVehicleStatus).on(APEvent.AutoparkErrorReceived);
from(APState.AutoparkPaused).to(APState.WaitingForNextVehicleStatus).on(APEvent.AutoparkErrorReceived);
from(APState.AutoparkResuming).to(APState.WaitingForNextVehicleStatus).on(APEvent.AutoparkErrorReceived);
from(APState.AutoparkAborting).to(APState.WaitingForNextVehicleStatus).on(APEvent.AutoparkErrorReceived);
from(APState.AutoparkStartRequested).to(APState.Disconnecting).on(APEvent.AutoparkCommandSendingFailed);
from(APState.AutoparkAbortRequested).to(APState.Disconnecting).on(APEvent.AutoparkCommandSendingFailed);
from(APState.AutoparkStartRequested).to(APState.AutoparkPaused).on(APEvent.AutoparkPauseTimeoutExceeded);
from(APState.AutoparkPreparing).to(APState.AutoparkPaused).on(APEvent.AutoparkPauseTimeoutExceeded);
from(APState.AutoparkMovingForward).to(APState.AutoparkPaused).on(APEvent.AutoparkPauseTimeoutExceeded);
from(APState.AutoparkMovingReverse).to(APState.AutoparkPaused).on(APEvent.AutoparkPauseTimeoutExceeded);
from(APState.AutoparkResuming).to(APState.AutoparkPaused).on(APEvent.AutoparkPauseTimeoutExceeded);
from(APState.AutoparkPaused).to(APState.Disconnecting).on(APEvent.AutoparkStopTimeoutExceeded);
from(APState.WaitingForInitialVehicleStatus).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkReadyCriteriaNotMet).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkForwardOnlyReady).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkReverseOnlyReady).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkBidirectionalReady).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkStandby).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkStartRequested).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkPreparing).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkMovingForward).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkMovingReverse).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkOperatingHomeLink).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkPaused).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkResuming).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkPanic).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkAbortRequested).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.AutoparkAborting).to(APState.AutoparkPanic).on(APEvent.AutoparkBecamePanic);
from(APState.WaitingForInitialVehicleStatus).to(APState.AutoparkPreparing).on(APEvent.AutoparkBecamePreparing);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkPreparing).on(APEvent.AutoparkBecamePreparing);
from(APState.AutoparkStartRequested).to(APState.AutoparkPreparing).on(APEvent.AutoparkBecamePreparing);
from(APState.AutoparkForwardOnlyReady).to(APState.AutoparkPreparing).on(APEvent.AutoparkBecamePreparing);
from(APState.AutoparkReverseOnlyReady).to(APState.AutoparkPreparing).on(APEvent.AutoparkBecamePreparing);
from(APState.AutoparkBidirectionalReady).to(APState.AutoparkPreparing).on(APEvent.AutoparkBecamePreparing);
from(APState.AutoparkPaused).to(APState.AutoparkPreparing).on(APEvent.AutoparkBecamePreparing);
from(APState.AutoparkResuming).to(APState.AutoparkPreparing).on(APEvent.AutoparkBecamePreparing);
from(APState.WaitingForInitialVehicleStatus).to(APState.AutoparkMovingForward).on(APEvent.AutoparkBecameMovingForward);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkMovingForward).on(APEvent.AutoparkBecameMovingForward);
from(APState.AutoparkPreparing).to(APState.AutoparkMovingForward).on(APEvent.AutoparkBecameMovingForward);
from(APState.AutoparkMovingForward).to(APState.AutoparkMovingForward).on(APEvent.AutoparkBecameMovingForward);
from(APState.AutoparkOperatingHomeLink).to(APState.AutoparkMovingForward).on(APEvent.AutoparkBecameMovingForward);
from(APState.AutoparkPaused).to(APState.AutoparkMovingForward).on(APEvent.AutoparkBecameMovingForward);
from(APState.AutoparkResuming).to(APState.AutoparkMovingForward).on(APEvent.AutoparkBecameMovingForward);
from(APState.WaitingForInitialVehicleStatus).to(APState.AutoparkMovingReverse).on(APEvent.AutoparkBecameMovingReverse);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkMovingReverse).on(APEvent.AutoparkBecameMovingReverse);
from(APState.AutoparkPreparing).to(APState.AutoparkMovingReverse).on(APEvent.AutoparkBecameMovingReverse);
from(APState.AutoparkMovingReverse).to(APState.AutoparkMovingReverse).on(APEvent.AutoparkBecameMovingReverse);
from(APState.AutoparkOperatingHomeLink).to(APState.AutoparkMovingReverse).on(APEvent.AutoparkBecameMovingReverse);
from(APState.AutoparkPaused).to(APState.AutoparkMovingReverse).on(APEvent.AutoparkBecameMovingReverse);
from(APState.AutoparkResuming).to(APState.AutoparkMovingReverse).on(APEvent.AutoparkBecameMovingReverse);
from(APState.WaitingForInitialVehicleStatus).to(APState.AutoparkOperatingHomeLink).on(APEvent.AutoparkBecameOperatingHomeLink);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkOperatingHomeLink).on(APEvent.AutoparkBecameOperatingHomeLink);
from(APState.AutoparkStartRequested).to(APState.AutoparkOperatingHomeLink).on(APEvent.AutoparkBecameOperatingHomeLink);
from(APState.AutoparkPreparing).to(APState.AutoparkOperatingHomeLink).on(APEvent.AutoparkBecameOperatingHomeLink);
from(APState.AutoparkMovingForward).to(APState.AutoparkOperatingHomeLink).on(APEvent.AutoparkBecameOperatingHomeLink);
from(APState.AutoparkMovingReverse).to(APState.AutoparkOperatingHomeLink).on(APEvent.AutoparkBecameOperatingHomeLink);
from(APState.AutoparkOperatingHomeLink).to(APState.AutoparkOperatingHomeLink).on(APEvent.AutoparkBecameOperatingHomeLink);
from(APState.AutoparkPaused).to(APState.AutoparkOperatingHomeLink).on(APEvent.AutoparkBecameOperatingHomeLink);
from(APState.AutoparkResuming).to(APState.AutoparkOperatingHomeLink).on(APEvent.AutoparkBecameOperatingHomeLink);
from(APState.WaitingForInitialVehicleStatus).to(APState.AutoparkPaused).on(APEvent.AutoparkBecamePaused);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkPaused).on(APEvent.AutoparkBecamePaused);
from(APState.AutoparkStartRequested).to(APState.AutoparkPaused).on(APEvent.AutoparkBecamePaused);
from(APState.AutoparkPreparing).to(APState.AutoparkPaused).on(APEvent.AutoparkBecamePaused);
from(APState.AutoparkMovingForward).to(APState.AutoparkPaused).on(APEvent.AutoparkBecamePaused);
from(APState.AutoparkMovingReverse).to(APState.AutoparkPaused).on(APEvent.AutoparkBecamePaused);
from(APState.AutoparkOperatingHomeLink).to(APState.AutoparkPaused).on(APEvent.AutoparkBecamePaused);
from(APState.AutoparkPaused).to(APState.AutoparkPaused).on(APEvent.AutoparkBecamePaused);
from(APState.AutoparkResuming).to(APState.AutoparkPaused).on(APEvent.AutoparkBecamePaused);
from(APState.WaitingForInitialVehicleStatus).to(APState.AutoparkResuming).on(APEvent.AutoparkBecameResuming);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkResuming).on(APEvent.AutoparkBecameResuming);
from(APState.AutoparkPreparing).to(APState.AutoparkResuming).on(APEvent.AutoparkBecameResuming);
from(APState.AutoparkMovingForward).to(APState.AutoparkResuming).on(APEvent.AutoparkBecameResuming);
from(APState.AutoparkMovingReverse).to(APState.AutoparkResuming).on(APEvent.AutoparkBecameResuming);
from(APState.AutoparkOperatingHomeLink).to(APState.AutoparkResuming).on(APEvent.AutoparkBecameResuming);
from(APState.AutoparkPaused).to(APState.AutoparkResuming).on(APEvent.AutoparkBecameResuming);
from(APState.AutoparkResuming).to(APState.AutoparkResuming).on(APEvent.AutoparkBecameResuming);
from(APState.WaitingForInitialVehicleStatus).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.WaitingForNextVehicleStatus).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkReadyCriteriaNotMet).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkForwardOnlyReady).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkReverseOnlyReady).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkBidirectionalReady).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkStandby).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkDisabled).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkUnavailable).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkPreparing).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkMovingForward).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkMovingReverse).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkOperatingHomeLink).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkPaused).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkResuming).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkPanic).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkAbortRequested).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
from(APState.AutoparkAborting).to(APState.AutoparkAborting).on(APEvent.AutoparkBecameAborting);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment