trying to test if ETB is sticky or not
This commit is contained in:
parent
4ba441fd49
commit
185f4cb708
|
@ -0,0 +1,82 @@
|
|||
package com.rusefi.ui.etb;
|
||||
|
||||
import com.rusefi.core.MessagesCentral;
|
||||
import com.rusefi.core.Sensor;
|
||||
import com.rusefi.core.SensorCentral;
|
||||
import com.rusefi.io.CommandQueue;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import static com.rusefi.Timeouts.SECOND;
|
||||
import static com.rusefi.config.generated.Fields.CMD_ETB_DUTY;
|
||||
|
||||
/**
|
||||
* (c) Andrey Belomutskiy
|
||||
*/
|
||||
public class EtbReturnToNeutral {
|
||||
private static final int ZERO_POSITION = 0;
|
||||
private static final int NEUTRAL_POSITION = 3;
|
||||
private JButton button = new JButton("ETB Spring Test");
|
||||
|
||||
private final static float SHUT_CLOSED = -30;
|
||||
|
||||
public EtbReturnToNeutral() {
|
||||
button.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
try {
|
||||
testSequence();
|
||||
} catch (InterruptedException e1) {
|
||||
throw new IllegalStateException(e1);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
new Thread(runnable).start();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void testSequence() throws InterruptedException {
|
||||
|
||||
CommandQueue.getInstance().write(CMD_ETB_DUTY + " " + 0);
|
||||
// longer pause in the beginning just in case
|
||||
Thread.sleep(2 * SECOND);
|
||||
assertPosition("First neutral position expected", NEUTRAL_POSITION);
|
||||
|
||||
|
||||
for (int i = 1; i <= 10; i++) {
|
||||
CommandQueue.getInstance().write(CMD_ETB_DUTY + " " + 0);
|
||||
Thread.sleep(1 * SECOND);
|
||||
|
||||
assertPosition(i + ": Neutral position expected", NEUTRAL_POSITION);
|
||||
|
||||
|
||||
CommandQueue.getInstance().write(CMD_ETB_DUTY + " " + SHUT_CLOSED);
|
||||
Thread.sleep(SECOND);
|
||||
assertPosition(i + ": Should be shot closed", 0);
|
||||
}
|
||||
|
||||
|
||||
CommandQueue.getInstance().write(DirectDrivePanel.CANCEL_DIRECT_DRIVE_COMMAND);
|
||||
|
||||
}
|
||||
|
||||
private void assertPosition(String msg, float expectedPosition) {
|
||||
double tps = SensorCentral.getInstance().getValue(Sensor.TPS);
|
||||
MessagesCentral.getInstance().postMessage(getClass(), msg + tps);
|
||||
if (Math.abs(tps - expectedPosition) > 1)
|
||||
MessagesCentral.getInstance().postMessage(getClass(), msg + " NOT GREAT " + tps + " while expected " + expectedPosition);
|
||||
}
|
||||
|
||||
public JComponent getContent() {
|
||||
return button;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue