diff --git a/src/main/java/fabrik/simulator/pic16f84/Controller_Frontend.java b/src/main/java/fabrik/simulator/pic16f84/Controller_Frontend.java
index 7d4d35e..47c6dcc 100644
--- a/src/main/java/fabrik/simulator/pic16f84/Controller_Frontend.java
+++ b/src/main/java/fabrik/simulator/pic16f84/Controller_Frontend.java
@@ -45,11 +45,9 @@ public class Controller_Frontend {
@FXML
private TableView
tableView;
-
@FXML
private ListView lstContentListView;
-
@FXML
private Label pclLabel;
@@ -77,20 +75,20 @@ public class Controller_Frontend {
@FXML
private Label totalExecutionTimeLabel;
-
-
-
- private volatile boolean isAutoRunActive = true;
-
-
-
@FXML
- private void stopAutoRun(ActionEvent event) {
+ private CheckBox wdtCheck;
+ private static volatile boolean isAutoRunActive = true;
+
+
+ public static void stopRunFromBackend(){
isAutoRunActive = false;
}
-
+ @FXML
+ private void stopAutoRun(ActionEvent event) {
+ isAutoRunActive = false;
+ }
@FXML
@@ -123,8 +121,6 @@ public class Controller_Frontend {
}
-
-
@FXML
private void stepintoButton(ActionEvent event) throws IOException {
if (lstContentListView.getItems().isEmpty()) {
@@ -204,37 +200,11 @@ public class Controller_Frontend {
}
@FXML
- private void stepThroughFile(ActionEvent event) {
- if (lstContentListView.getItems().isEmpty()) {
- // Datei ist nicht geladen oder leer
- return;
- }
-
- // Aktuelle Zeile abrufen
- int currentIndex = lstContentListView.getSelectionModel().getSelectedIndex();
-
-
- // if (currentIndex == )
-
- // Wenn keine Zeile ausgewählt ist, starte von der ersten Zeile
- if (currentIndex == -1) {
- currentIndex = 1;
- } else {
- // Gehe zur nächsten Zeile
- currentIndex++;
- }
-
- // Überprüfen, ob currentIndex innerhalb der Grenzen liegt
- if (currentIndex >= lstContentListView.getItems().size()) {
- // Wenn das Ende der Datei erreicht ist, zeige eine Meldung an
- System.out.println("End of file reached.");
- return;
- }
-
- // Zeile auswählen und anzeigen
- lstContentListView.scrollTo(currentIndex);
- lstContentListView.getSelectionModel().select(currentIndex + 1);
- lstContentListView.scrollTo(currentIndex + 1);
+ public void toggleWatchdog(ActionEvent actionEvent) {
+ if (wdtCheck.isSelected())
+ WatchdogTimer.enable();
+ else
+ WatchdogTimer.disable();
}
@FXML
@@ -248,12 +218,6 @@ public class Controller_Frontend {
@FXML
private ToggleButtonGroup bgTRISA4;
@FXML
- private ToggleButtonGroup bgTRISA5;
- @FXML
- private ToggleButtonGroup bgTRISA6;
- @FXML
- private ToggleButtonGroup bgTRISA7;
- @FXML
private ToggleButtonGroup bgTRISB0;
@FXML
private ToggleButtonGroup bgTRISB1;
@@ -280,12 +244,6 @@ public class Controller_Frontend {
@FXML
private ToggleButtonGroup bgPORTA4;
@FXML
- private ToggleButtonGroup bgPORTA5;
- @FXML
- private ToggleButtonGroup bgPORTA6;
- @FXML
- private ToggleButtonGroup bgPORTA7;
- @FXML
private ToggleButtonGroup bgPORTB0;
@FXML
private ToggleButtonGroup bgPORTB1;
@@ -306,9 +264,9 @@ public class Controller_Frontend {
private static ToggleButtonGroup[] allPORTbuttons;
public void initialize() {
- ToggleButtonGroup [] allTRISButtons = {bgTRISA0, bgTRISA1, bgTRISA2, bgTRISA3, bgTRISA4, bgTRISA5, bgTRISA6, bgTRISA7, bgTRISB0, bgTRISB1, bgTRISB2, bgTRISB3, bgTRISB4, bgTRISB5, bgTRISB6, bgTRISB7};
- ToggleButtonGroup [] allPORTButtons = {bgPORTA0, bgPORTA1, bgPORTA2, bgPORTA3, bgPORTA4, bgPORTA5, bgPORTA6, bgPORTA7, bgPORTB0, bgPORTB1, bgPORTB2, bgPORTB3, bgPORTB4, bgPORTB5, bgPORTB6, bgPORTB7};
- for (int i = 0; i<16; i++) {
+ ToggleButtonGroup [] allTRISButtons = {bgTRISA0, bgTRISA1, bgTRISA2, bgTRISA3, bgTRISA4, bgTRISB0, bgTRISB1, bgTRISB2, bgTRISB3, bgTRISB4, bgTRISB5, bgTRISB6, bgTRISB7};
+ ToggleButtonGroup [] allPORTButtons = {bgPORTA0, bgPORTA1, bgPORTA2, bgPORTA3, bgPORTA4, bgPORTB0, bgPORTB1, bgPORTB2, bgPORTB3, bgPORTB4, bgPORTB5, bgPORTB6, bgPORTB7};
+ for (int i = 0; i= (watchdogTime + lastReset))){
+ if (enabled && (Commands.getTotalExecutionTime() >= (watchdogTime + lastReset - 1))){
DataRegister.resetPC();
System.err.println("Watchdog Timer triggered");
DataRegister.clearBit(3, 4);
lastReset = Commands.getTotalExecutionTime();
+ Controller_Frontend.stopRunFromBackend();
}
}
@@ -24,4 +26,12 @@ public class WatchdogTimer {
DataRegister.setBit(3, 3);
DataRegister.setBit(3, 4);
}
+
+ public static void enable() {
+ enabled = true;
+ }
+
+ public static void disable() {
+ enabled = false;
+ }
}
diff --git a/src/main/java/fabrik/simulator/pic16f84/styles.css b/src/main/java/fabrik/simulator/pic16f84/styles.css
deleted file mode 100644
index e4d1fcd..0000000
--- a/src/main/java/fabrik/simulator/pic16f84/styles.css
+++ /dev/null
@@ -1,5 +0,0 @@
-
-.list-cell:selected {
- -fx-background-color: yellow;
-}
-
diff --git a/src/main/resources/fabrik/simulator/pic16f84/frontend.fxml b/src/main/resources/fabrik/simulator/pic16f84/frontend.fxml
index 8c0dab1..ae6abd3 100644
--- a/src/main/resources/fabrik/simulator/pic16f84/frontend.fxml
+++ b/src/main/resources/fabrik/simulator/pic16f84/frontend.fxml
@@ -3,11 +3,13 @@
+
+
+
-
@@ -19,21 +21,42 @@
-
-
-
+
-
-
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
@@ -69,50 +92,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -176,40 +156,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -530,23 +478,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -632,40 +564,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -806,7 +706,7 @@
-
+
+
+
+