def _init_state_map(self) -> None: self._state_map = { 'wait_inform': WaitInformState(self, when_done='wait_empty', when_boot='wait_rem'), 'wait_rem': BaicellsRemWaitState(self, when_done='wait_inform'), 'wait_empty': WaitEmptyMessageState(self, when_done='get_transient_params', when_missing='check_optional_params'), 'check_optional_params': CheckOptionalParamsState(self, when_done='get_transient_params'), 'get_transient_params': SendGetTransientParametersState(self, when_done='wait_get_transient_params'), 'wait_get_transient_params': WaitGetTransientParametersState(self, when_get='get_params', when_get_obj_params='get_obj_params', when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'), 'get_params': GetParametersState(self, when_done='wait_get_params'), 'wait_get_params': WaitGetParametersState(self, when_done='get_obj_params'), 'get_obj_params': GetObjectParametersState(self, when_done='wait_get_obj_params'), 'wait_get_obj_params': WaitGetObjectParametersState(self, when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'), 'delete_objs': DeleteObjectsState(self, when_add='add_objs', when_skip='set_params'), 'add_objs': AddObjectsState(self, when_done='set_params'), 'set_params': SetParameterValuesState(self, when_done='wait_set_params'), 'wait_set_params': WaitSetParameterValuesState(self, when_done='check_get_params', when_apply_invasive='reboot'), 'check_get_params': GetParametersState(self, when_done='check_wait_get_params', request_all_params=True), 'check_wait_get_params': WaitGetParametersState(self, when_done='end_session'), 'end_session': EndSessionState(self), 'reboot': EnbSendRebootState(self, when_done='wait_reboot'), 'wait_reboot': WaitRebootResponseState(self, when_done='wait_post_reboot_inform'), 'wait_post_reboot_inform': WaitInformMRebootState(self, when_done='wait_rem_post_reboot', when_timeout='wait_inform_post_reboot'), # After rebooting, we don't need to query optional params again. 'wait_inform_post_reboot': WaitInformState(self, when_done='wait_empty_post_reboot', when_boot='wait_rem_post_reboot'), 'wait_rem_post_reboot': BaicellsRemWaitState(self, when_done='wait_inform_post_reboot'), 'wait_empty_post_reboot': WaitEmptyMessageState(self, when_done='get_transient_params', when_missing='check_optional_params'), # The states below are entered when an unexpected message type is # received 'unexpected_fault': ErrorState(self, inform_transition_target='wait_inform'), }
def _init_state_map(self) -> None: self._state_map = { 'wait_inform': WaitInformState(self, when_done='get_rpc_methods'), 'get_rpc_methods': GetRPCMethodsState(self, when_done='wait_empty', when_skip='get_transient_params'), 'wait_empty': WaitEmptyMessageState(self, when_done='get_transient_params'), 'get_transient_params': SendGetTransientParametersState(self, when_done='wait_get_transient_params'), 'wait_get_transient_params': BaicellsQafbWaitGetTransientParametersState(self, when_get='get_params', when_get_obj_params='get_obj_params', when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'), 'get_params': GetParametersState(self, when_done='wait_get_params'), 'wait_get_params': WaitGetParametersState(self, when_done='get_obj_params'), 'get_obj_params': BaicellsQafbGetObjectParametersState(self, when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session'), 'delete_objs': DeleteObjectsState(self, when_add='add_objs', when_skip='set_params'), 'add_objs': AddObjectsState(self, when_done='set_params'), 'set_params': SetParameterValuesState(self, when_done='wait_set_params'), 'wait_set_params': WaitSetParameterValuesState(self, when_done='check_get_params', when_apply_invasive='check_get_params'), 'check_get_params': GetParametersState(self, when_done='check_wait_get_params', request_all_params=True), 'check_wait_get_params': WaitGetParametersState(self, when_done='end_session'), 'end_session': EndSessionState(self), # These states are only entered through manual user intervention 'reboot': EnbSendRebootState(self, when_done='wait_reboot'), 'wait_reboot': WaitRebootResponseState(self, when_done='wait_post_reboot_inform'), 'wait_post_reboot_inform': WaitInformMRebootState(self, when_done='wait_empty', when_timeout='wait_inform'), # The states below are entered when an unexpected message type is # received 'unexpected_fault': ErrorState(self, inform_transition_target='wait_inform'), }
def _init_state_map(self) -> None: self._state_map = { # Inform comes in -> Respond with InformResponse 'wait_inform': WaitInformState(self, when_done='get_rpc_methods'), # If first inform after boot -> GetRpc request comes in, if not # empty request comes in => Transition to get_transient_params 'get_rpc_methods': FreedomFiOneGetInitState( self, when_done='get_transient_params', ), # Read transient readonly params. 'get_transient_params': FreedomFiOneSendGetTransientParametersState( self, when_done='get_params', ), 'get_params': FreedomFiOneGetObjectParametersState( self, when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session', ), 'delete_objs': DeleteObjectsState( self, when_add='add_objs', when_skip='set_params', ), 'add_objs': AddObjectsState(self, when_done='set_params'), 'set_params': SetParameterValuesState( self, when_done='wait_set_params', ), 'wait_set_params': WaitSetParameterValuesState( self, when_done='check_get_params', when_apply_invasive='check_get_params', status_non_zero_allowed=True, ), 'check_get_params': GetParametersState( self, when_done='check_wait_get_params', request_all_params=True, ), 'check_wait_get_params': WaitGetParametersState( self, when_done='end_session', ), 'end_session': EndSessionState(self), # These states are only entered through manual user intervention 'reboot': EnbSendRebootState(self, when_done='wait_reboot'), 'wait_reboot': WaitRebootResponseState( self, when_done='wait_post_reboot_inform', ), 'wait_post_reboot_inform': WaitInformMRebootState( self, when_done='wait_empty', when_timeout='wait_inform', ), # The states below are entered when an unexpected message type is # received 'unexpected_fault': ErrorState( self, inform_transition_target='wait_inform', ), }
def _init_state_map(self) -> None: self._state_map = { # RemWait state seems not needed for QRTB 'wait_inform': WaitInformState(self, when_done='wait_empty', when_boot=None), 'wait_empty': WaitEmptyMessageState(self, when_done='check_fw_upgrade_download'), # Download flow 'check_fw_upgrade_download': CheckFirmwareUpgradeDownloadState( self, when_download='fw_upgrade_download', when_skip='get_transient_params', ), 'fw_upgrade_download': FirmwareUpgradeDownloadState( self, when_done='wait_fw_upgrade_download_response', ), 'wait_fw_upgrade_download_response': WaitForFirmwareUpgradeDownloadResponse( self, when_done='get_transient_params', when_skip='get_transient_params', ), # Download flow ends 'get_transient_params': SendGetTransientParametersState(self, when_done='wait_get_transient_params'), 'wait_get_transient_params': WaitGetTransientParametersState( self, when_get='get_params', when_get_obj_params='get_obj_params', when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session', request_all_params=True, ), 'get_params': GetParametersState(self, when_done='wait_get_params', request_all_params=True), 'wait_get_params': WaitGetParametersState(self, when_done='get_obj_params'), 'get_obj_params': GetObjectParametersState(self, when_done='wait_get_obj_params', request_all_params=True), 'wait_get_obj_params': WaitGetObjectParametersState( self, when_delete='delete_objs', when_add='add_objs', when_set='set_params', when_skip='end_session', ), 'delete_objs': DeleteObjectsState(self, when_add='add_objs', when_skip='set_params'), 'add_objs': AddObjectsState(self, when_done='set_params'), 'set_params': SetParameterValuesState(self, when_done='wait_set_params'), 'wait_set_params': WaitSetParameterValuesState( self, when_done='check_get_params', when_apply_invasive='reboot', ), 'check_get_params': GetParametersState( self, when_done='check_wait_get_params', request_all_params=True, ), 'check_wait_get_params': WaitGetParametersState(self, when_done='end_session'), 'end_session': BaicellsQRTBEndSessionState(self, when_done='notify_dp'), 'notify_dp': BaicellsQRTBNotifyDPState(self, when_inform='wait_inform'), 'reboot': EnbSendRebootState(self, when_done='wait_reboot'), 'wait_reboot': WaitRebootResponseState(self, when_done='wait_post_reboot_inform'), 'wait_post_reboot_inform': BaicellsQRTBWaitInformRebootState( self, when_done='wait_queued_events_post_reboot', when_timeout='wait_inform_post_reboot', ), "wait_queued_events_post_reboot": BaicellsQRTBQueuedEventsWaitState( self, when_done='wait_inform_post_reboot', ), 'wait_inform_post_reboot': WaitInformState(self, when_done='wait_empty_post_reboot', when_boot=None), 'wait_empty_post_reboot': WaitEmptyMessageState( self, when_done='get_transient_params', when_missing='check_optional_params', ), # The states below are entered when an unexpected message type is # received 'unexpected_fault': ErrorState(self, inform_transition_target='wait_inform'), }