Files
XPlaneConnectCSP/Java/ProjectModels/Main.java
2024-11-25 13:49:01 -05:00

79 lines
2.7 KiB
Java

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.net.SocketException;
import java.util.Arrays;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.OverlayLayout;
import javax.swing.SwingConstants;
import javax.swing.border.Border;
import ModelFiles.*;
import ModelFiles.Action;
import ModelFiles.ActionType;
import ModelFiles.Delay;
import ModelFiles.MindQueue;
import ModelFiles.Model;
import ModelFiles.Vision;
import ModelFiles.XPlaneConnect;
public class Main {
public static void main(String[] args) {
// Encapsulation (or lack thereof) Test
Model m = new Model();
MindQueue q = m.getQueue();
Action a = new Vision();
System.out.println(q.pop());
q.push(a);
MindQueue q2 = m.getQueue();
System.out.println(q2.pop());
// Using actions
try (XPlaneConnect xpc = new XPlaneConnect()) {
Action b = new Vision(10, "sim/cockpit2/gauges/indicators/airspeed_kts_pilot");
Action d = new Delay(20);
// Ensure connection established.
m = new Model(xpc);
m.activateModel();
m.createAction(ActionType.VISION, null, 0, "sim/cockpit2/gauges/indicators/airspeed_kts_pilot");
m.createAction(ActionType.MOTOR, MotorType.PITCHUP, 0, null);
// m.push(b);
// m.push(d);
m.printModelQueue();
// m.deactivateModel();
while (m.isActive() && !m.isEmpty()) {
float[] array = m.next();
if (array != null) {
// System.out.println(array[0]);
// if(array[0] > 80.0f) {
// m.push(d);
// }
} else {
// System.out.println("no dice");
// System.out.println(xpc.getDREF(null)");
}
if (m.getModelQueueLength() < 5) {
m.createAction(ActionType.VISION, null, 0, "sim/cockpit2/gauges/indicators/airspeed_kts_pilot");
m.createAction(ActionType.MOTOR, MotorType.PITCHUP, 0, null);
m.createAction(ActionType.MOTOR, MotorType.PITCHDOWN, 0, null);
}
// m.printModelQueue();
}
} catch (SocketException ex) {
System.out.println("Unable to set up the connection. (Error message was '" + ex.getMessage() + "'.)");
} catch (IOException ex) {
System.out.println(
"Something went wrong with one of the commands. (Error message was '" + ex.getMessage() + "'.)");
}
System.out.println("Exiting");
}
}