BakeoutController-Basic  0.1
A Controller for the Omicron vacuum chamber
SequenceController.java
1 package ui.controllers;
2 
4 import javafx.beans.value.ChangeListener;
5 import javafx.beans.value.ObservableValue;
6 import javafx.fxml.FXML;
7 import javafx.scene.control.Button;
8 import javafx.scene.control.Slider;
9 import javafx.scene.control.TextField;
10 import kernel.Kernel;
12 import org.jetbrains.annotations.NotNull;
13 import org.slf4j.Logger;
14 import org.slf4j.LoggerFactory;
15 import org.springframework.beans.factory.annotation.Autowired;
16 import ui.Controller;
17 
21 @Controller
22 public class SequenceController {
23  private static final Logger log = LoggerFactory.getLogger
24  (SequenceController.class);
25 
26  @Autowired
27  private Kernel kernel;
28 
29  @FXML
30  private TextField voltageTextField;
31 
32  @FXML
33  private Slider voltageSlider;
34 
35  @FXML
36  private Button goButton;
37 
38  @FXML
39  public void initialize(){
40  voltageSlider.valueProperty().addListener(
41  new ChangeListener<Number>() {
42  @Override
43  public void changed(
44  ObservableValue<? extends Number> observableValue,
45  Number number, Number t1
46  ) {
47  handleSliderChanged();
48  }
49  }
50  );
51  }
52 
53  @FXML public void handleTextFieldChanged() {
54  voltageSlider.setValue(parseTextFieldToDouble());
55  }
56 
57  @FXML public void handleSliderChanged(){
58  Double sliderValue = voltageSlider.getValue();
59 
60  voltageTextField.setText(sliderValue.toString());
61  }
62 
63  @FXML public void handleGoButtonClicked(){
64  VoltageSetPointAlgorithm algorithm = new kernel.models
65  .VoltageSetPointAlgorithm();
66 
67  algorithm.setKernel(kernel);
68  algorithm.setDesiredVoltage(voltageSlider.getValue());
69  algorithm.setMaximumIterations(100);
70  algorithm.setPressureUpperBound(1e-9f);
71 
72  try {
73  algorithm.run();
74  disableGoButton();
76  handleException(error);
77  }
78 
79 
80  }
81 
82  @NotNull
83  private Double parseTextFieldToDouble(){
84  CharSequence seq = voltageTextField.getCharacters();
85  return Double.parseDouble(seq.toString());
86  }
87 
88  private void disableGoButton(){
89  goButton.setDisable(Boolean.TRUE);
90  }
91 
92  private void handleException(Exception error){
93  log.error("Trying to run algorithm threw error", error);
94  }
95 }
void setPressureUpperBound(Float pressureUpperBound)
void setMaximumIterations(Integer maximumIterations)
void setDesiredVoltage(Double desiredVoltage)
Git Repo