Search in sources :

Example 11 with ControllerStateEvent

use of com.willwinder.universalgcodesender.model.events.ControllerStateEvent in project Universal-G-Code-Sender by winder.

the class ProbeService method UGSEvent.

@Override
public void UGSEvent(UGSEvent evt) {
    if (this.currentOperation == ProbeOperation.NONE)
        return;
    if (evt instanceof ControllerStateEvent) {
        ControllerStateEvent controllerStateEvent = (ControllerStateEvent) evt;
        ControllerState state = controllerStateEvent.getState();
        if (state == ControllerState.DISCONNECTED) {
            resetProbe();
        } else if (state == ControllerState.IDLE) {
            // Finalize
            if (this.currentOperation.getNumProbes() <= this.probePositions.size()) {
                try {
                    continuation.execute();
                } catch (Exception e) {
                    logger.log(Level.SEVERE, "Exception finalizing " + this.currentOperation + " probe operation.", e);
                } finally {
                    params.endPosition = this.backend.getMachinePosition();
                    this.resetProbe();
                }
            }
        }
    } else if (evt instanceof ProbeEvent) {
        this.probePositions.add(((ProbeEvent) evt).getProbePosition());
        try {
            continuation.execute();
        } catch (Exception e) {
            logger.log(Level.SEVERE, "Exception during " + this.currentOperation + " probe operation.", e);
            resetProbe();
        }
    }
}
Also used : ControllerStateEvent(com.willwinder.universalgcodesender.model.events.ControllerStateEvent) ControllerState(com.willwinder.universalgcodesender.listeners.ControllerState) ProbeEvent(com.willwinder.universalgcodesender.model.events.ProbeEvent)

Example 12 with ControllerStateEvent

use of com.willwinder.universalgcodesender.model.events.ControllerStateEvent in project Universal-G-Code-Sender by winder.

the class AnalogJogActionTest method setValueShouldSetThePercentageToUse.

@Test
public void setValueShouldSetThePercentageToUse() {
    ContinuousJogWorker worker = mock(ContinuousJogWorker.class);
    AnalogJogAction action = new AnalogJogAction(worker, Axis.Y);
    // Simulate the controller in running state
    action.setValue(0.6f);
    action.UGSEvent(new ControllerStateEvent(ControllerState.JOG, ControllerState.IDLE));
    action.actionPerformed(null);
    assertTrue(action.isEnabled());
    verify(worker, times(1)).setDirection(eq(Axis.Y), eq(0.6f));
}
Also used : ControllerStateEvent(com.willwinder.universalgcodesender.model.events.ControllerStateEvent) ContinuousJogWorker(com.willwinder.universalgcodesender.utils.ContinuousJogWorker) Test(org.junit.Test)

Example 13 with ControllerStateEvent

use of com.willwinder.universalgcodesender.model.events.ControllerStateEvent in project Universal-G-Code-Sender by winder.

the class AnalogJogActionTest method actionPerformedShouldNotGenerateJogCommandsWhenStateIsRunning.

@Test
public void actionPerformedShouldNotGenerateJogCommandsWhenStateIsRunning() {
    ContinuousJogWorker worker = mock(ContinuousJogWorker.class);
    AnalogJogAction action = new AnalogJogAction(worker, Axis.Y);
    // Simulate the controller in running state
    action.UGSEvent(new ControllerStateEvent(ControllerState.RUN, ControllerState.IDLE));
    action.actionPerformed(null);
    assertFalse(action.isEnabled());
    verifyNoInteractions(worker);
}
Also used : ControllerStateEvent(com.willwinder.universalgcodesender.model.events.ControllerStateEvent) ContinuousJogWorker(com.willwinder.universalgcodesender.utils.ContinuousJogWorker) Test(org.junit.Test)

Aggregations

ControllerStateEvent (com.willwinder.universalgcodesender.model.events.ControllerStateEvent)13 Test (org.junit.Test)7 ContinuousJogWorker (com.willwinder.universalgcodesender.utils.ContinuousJogWorker)5 ProbeEvent (com.willwinder.universalgcodesender.model.events.ProbeEvent)4 ControllerState (com.willwinder.universalgcodesender.listeners.ControllerState)3 Position (com.willwinder.universalgcodesender.model.Position)3 InOrder (org.mockito.InOrder)3 ProbeParameters (com.willwinder.ugs.platform.probe.ProbeService.ProbeParameters)2 CommandEvent (com.willwinder.universalgcodesender.model.events.CommandEvent)2 FileStateEvent (com.willwinder.universalgcodesender.model.events.FileStateEvent)2 GcodeCommand (com.willwinder.universalgcodesender.types.GcodeCommand)1 ProgressBarBuilder (me.tongfei.progressbar.ProgressBarBuilder)1