IO-Ports Dummy

This commit is contained in:
2024-04-30 18:40:11 +02:00
parent 5a6a70f598
commit b1173a2ceb
9 changed files with 767 additions and 71 deletions

View File

@ -0,0 +1,151 @@
package fabrik.simulator.pic16f84;
import com.gluonhq.charm.glisten.control.ToggleButtonGroup;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.*;
import javafx.stage.FileChooser;
import java.io.File;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.FileReader;
import javafx.scene.control.Label;
import javafx.scene.control.TableView;
import javafx.scene.control.TextArea;
import javafx.stage.Stage;
import java.util.Arrays;
public class Controller_Frontend {
private int [] prog;
@FXML
private Button stepintoButton;
@FXML
private TableView<Table.DataEntry> tableView;
@FXML
private TextArea lstContentLabel;
@FXML
private Label pclLabel;
@FXML
private Label statusLabel;
@FXML
private Label fsrLabel;
@FXML
private Label pclathLabel;
@FXML
private Label intconLabel;
@FXML
private void stepintoButton(ActionEvent event) throws IOException {
Commands.decode(prog[DataRegister.getPC()]);
DataRegister.increasePC();
Table.refresh();
Stage stage = (Stage) stepintoButton.getScene().getWindow();
CreateWindow.refreshTable(stage);
}
@FXML
protected void selectFileLST(ActionEvent event){
File selectedFile = chooseLSTFile();
if(selectedFile != null){
prog = ParseFile.parseDatei(selectedFile.getAbsolutePath());
System.out.println(Arrays.toString(Arrays.stream(prog).toArray()));
displayLSTFileContent(selectedFile);
}
}
private File chooseLSTFile() {
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Open LST File");
fileChooser.getExtensionFilters().addAll(
new FileChooser.ExtensionFilter("LST Files", "*.lst", "*.LST"),
new FileChooser.ExtensionFilter("All Files", "*.*"));
return fileChooser.showOpenDialog(null);
}
@FXML
private void displayLSTFileContent(File selectedFile) {
try (BufferedReader reader = new BufferedReader(new FileReader(selectedFile))) {
StringBuilder content = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
content.append(line).append("\n");
}
lstContentLabel.setText(content.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
@FXML
private ToggleButtonGroup bgA0;
@FXML
private ToggleButtonGroup bgA1;
@FXML
private ToggleButtonGroup bgA2;
@FXML
private ToggleButtonGroup bgA3;
@FXML
private ToggleButtonGroup bgA4;
@FXML
private ToggleButtonGroup bgA5;
@FXML
private ToggleButtonGroup bgA6;
@FXML
private ToggleButtonGroup bgA7;
@FXML
private ToggleButtonGroup bgB0;
@FXML
private ToggleButtonGroup bgB1;
@FXML
private ToggleButtonGroup bgB2;
@FXML
private ToggleButtonGroup bgB3;
@FXML
private ToggleButtonGroup bgB4;
@FXML
private ToggleButtonGroup bgB5;
@FXML
private ToggleButtonGroup bgB6;
@FXML
private ToggleButtonGroup bgB7;
public void initialize() {
ToggleButtonGroup [] allButtons = {bgA0, bgA1, bgA2, bgA3, bgA4, bgA5, bgA6, bgA7, bgB0, bgB1, bgB2, bgB3, bgB4, bgB5, bgB6, bgB7};
for (int i = 0; i<16; i++) {
// GEHT NICHT
ToggleButtonGroupExt.get().addAlwaysOneSelectedSupport(allButtons[i]);
}
}
}