From c214cb182b1d48f4ec301c02923a1994a92c0e3d Mon Sep 17 00:00:00 2001 From: cs-powell <142438185+cs-powell@users.noreply.github.com> Date: Tue, 26 Nov 2024 12:01:27 -0500 Subject: [PATCH] reorganized visualizer and test processes (added abstract class for test process) --- .../CognitiveModel/ModelFiles/Action.java | 1 - .../CognitiveModel/ModelFiles/Model.java | 16 +- .../CognitiveModel/ModelFiles/MotorType.java | 6 +- Java/ProjectModels/Main.java | 48 ------ .../Visualizer/assets/Rudder Pedals.png | Bin 0 -> 117964 bytes .../Visualizer/assets/Yoke Symbol.png | Bin 0 -> 8656 bytes Java/ProjectModels/Visualizer/axis.java | 58 +++++++ .../Visualizer/rudderPosition.java | 75 ++++++++ Java/ProjectModels/Visualizer/visualizer.java | 162 ++++++++++++++++++ .../Visualizer/yokePosition.java | 96 +++++++++++ Java/ProjectModels/testprocess.java | 19 ++ Java/ProjectModels/testprocess1.java | 45 ++--- Java/ProjectModels/testprocess2.java | 15 ++ 13 files changed, 451 insertions(+), 90 deletions(-) create mode 100644 Java/ProjectModels/Visualizer/assets/Rudder Pedals.png create mode 100644 Java/ProjectModels/Visualizer/assets/Yoke Symbol.png create mode 100644 Java/ProjectModels/Visualizer/axis.java create mode 100644 Java/ProjectModels/Visualizer/rudderPosition.java create mode 100644 Java/ProjectModels/Visualizer/visualizer.java create mode 100644 Java/ProjectModels/Visualizer/yokePosition.java create mode 100644 Java/ProjectModels/testprocess.java create mode 100644 Java/ProjectModels/testprocess2.java diff --git a/Java/ProjectModels/CognitiveModel/ModelFiles/Action.java b/Java/ProjectModels/CognitiveModel/ModelFiles/Action.java index b96df3b..94ecb79 100644 --- a/Java/ProjectModels/CognitiveModel/ModelFiles/Action.java +++ b/Java/ProjectModels/CognitiveModel/ModelFiles/Action.java @@ -32,5 +32,4 @@ public abstract class Action { public String getTarget() { return targetDREF; } - } diff --git a/Java/ProjectModels/CognitiveModel/ModelFiles/Model.java b/Java/ProjectModels/CognitiveModel/ModelFiles/Model.java index 58b5513..2fc67a0 100644 --- a/Java/ProjectModels/CognitiveModel/ModelFiles/Model.java +++ b/Java/ProjectModels/CognitiveModel/ModelFiles/Model.java @@ -78,7 +78,6 @@ public class Model { newAction = new Motor(motorType, delay, target); this.push(newAction); break; - case DELAY: newAction = new Delay(delay); this.push(newAction); @@ -108,7 +107,6 @@ public class Model { } // q.push(temp); return returnArray; - } /* Next Helpers */ @@ -137,7 +135,6 @@ public class Model { } try { - switch (motorType) { case PITCHUP: float[] pitchUp = { currentControls[0] + 0.01f }; @@ -147,7 +144,6 @@ public class Model { xpc.sendCTRL(pitchUp); } } - break; case PITCHDOWN: float[] pitchDown = { currentControls[0] - 0.01f }; @@ -161,7 +157,6 @@ public class Model { break; } - } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -182,4 +177,15 @@ public class Model { } } + + public float[] getCurrentControls(){ + float [] returnArray = null; + try { + returnArray = xpc.getCTRL(0); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return returnArray; + } } diff --git a/Java/ProjectModels/CognitiveModel/ModelFiles/MotorType.java b/Java/ProjectModels/CognitiveModel/ModelFiles/MotorType.java index ff46913..7d90a2c 100644 --- a/Java/ProjectModels/CognitiveModel/ModelFiles/MotorType.java +++ b/Java/ProjectModels/CognitiveModel/ModelFiles/MotorType.java @@ -2,5 +2,7 @@ package ModelFiles; public enum MotorType { PITCHUP, - PITCHDOWN -} + PITCHDOWN, + THROTTLEUP, + THROTTLEDOWN +} \ No newline at end of file diff --git a/Java/ProjectModels/Main.java b/Java/ProjectModels/Main.java index 5a44558..43df077 100644 --- a/Java/ProjectModels/Main.java +++ b/Java/ProjectModels/Main.java @@ -23,58 +23,10 @@ import ModelFiles.Vision; import ModelFiles.XPlaneConnect; public class Main { - public static void main(String[] args) { // Encapsulation (or lack thereof) Test Model m = new Model(); testprocess1 tp1 = new testprocess1(m, null); tp1.runProcess(); - - // 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"); } } diff --git a/Java/ProjectModels/Visualizer/assets/Rudder Pedals.png b/Java/ProjectModels/Visualizer/assets/Rudder Pedals.png new file mode 100644 index 0000000000000000000000000000000000000000..0db4762abad64a9f580051a772968c77f7700842 GIT binary patch literal 117964 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 literal 0 HcmV?d00001 diff --git a/Java/ProjectModels/Visualizer/assets/Yoke Symbol.png b/Java/ProjectModels/Visualizer/assets/Yoke Symbol.png new file mode 100644 index 0000000000000000000000000000000000000000..cc7e4c9bab27f3114d25cd98b77cd99c4178b343 GIT binary patch literal 8656 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 YOtLz{B!KlO@`(n(>k)KI&O6=x9}UGq_y7O^ literal 0 HcmV?d00001 diff --git a/Java/ProjectModels/Visualizer/axis.java b/Java/ProjectModels/Visualizer/axis.java new file mode 100644 index 0000000..4130e54 --- /dev/null +++ b/Java/ProjectModels/Visualizer/axis.java @@ -0,0 +1,58 @@ +package Visualizer; + + +import java.io.File; +import java.io.IOException; + +import javax.imageio.ImageIO; +import javax.swing.JComponent; + + +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 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.*; +import javax.swing.border.Border; +import javax.imageio.ImageIO; +import java.awt.Graphics; +import java.awt.image.BufferedImage; +import java.awt.*; + +import ModelFiles.*; + + +public class axis extends JComponent { + + int xBound = 0; + int yBound = 0; + + axis(int currentX, int currentY) { + xBound = currentX; + yBound = currentY; + } + + public void paint(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + g2.setColor(Color.green); + g2.drawLine(xBound/2, 0, xBound/2, yBound); + g2.drawLine(0, yBound/2, xBound, yBound/2); + } + + public void setXBound(int newX){ + this.xBound = newX; + } + + public void setYBound(int newY){ + this.yBound = newY; + } +} diff --git a/Java/ProjectModels/Visualizer/rudderPosition.java b/Java/ProjectModels/Visualizer/rudderPosition.java new file mode 100644 index 0000000..83e3bf5 --- /dev/null +++ b/Java/ProjectModels/Visualizer/rudderPosition.java @@ -0,0 +1,75 @@ +package Visualizer; + +import javax.imageio.ImageIO; +import javax.swing.JComponent; + + +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 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.*; +import javax.swing.border.Border; +import javax.imageio.ImageIO; +import java.awt.Graphics; +import java.awt.image.BufferedImage; +import java.awt.*; + +import ModelFiles.*; + +public class rudderPosition extends JComponent { + + int xBound = 0; + int yBound = 0; + + float rudderTravel = 0; + + rudderPosition(int currentXBound, int currentYBound) { + xBound = currentXBound; + yBound = currentYBound; + } + + public void paint(Graphics g) { + Graphics2D g2 = (Graphics2D) g; + int spacer = 10; + g.setColor(Color.gray); + g2.fillRect(0, spacer, xBound, yBound - spacer); + + g2.setColor(Color.red); + int width = (int) (xBound/2 * rudderTravel); + //g2.drawRect(xBound/2, 0 +spacer, width, yBound); + g2.fillRect(xBound/2, 0 + spacer, width, yBound); + + g.drawString("Yaw Left",0, yBound/2); + int textWidth = g.getFontMetrics().stringWidth("Roll Right"); + g.drawString("Yaw Right", xBound - textWidth, yBound/2); + // try { + // final BufferedImage image = ImageIO.read(new File("/Users/flyingtopher/Desktop/Code Citadel/School/2. Research/Fork Clone/XPlaneConnectCSP/Java/ProjectModels/Visualizer/assets/Rudder Pedals.png")); + // Image scaledImage = image.getScaledInstance(xBound, yBound, Image.SCALE_DEFAULT); + // g.drawImage(scaledImage, 0, 0, getFocusCycleRootAncestor()); + // } catch (IOException e) { + // System.out.print("Rudder Image Failed"); + // } + } + + public void setX(float newX) { + this.rudderTravel = newX; + } + + public void setXBound(int newX) { + this.xBound = newX; + } + + public void setYBound(int newY) { + this.yBound = newY; + } + +} \ No newline at end of file diff --git a/Java/ProjectModels/Visualizer/visualizer.java b/Java/ProjectModels/Visualizer/visualizer.java new file mode 100644 index 0000000..22c32b3 --- /dev/null +++ b/Java/ProjectModels/Visualizer/visualizer.java @@ -0,0 +1,162 @@ +package Visualizer; + +import javax.swing.border.Border; +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.*; +import javax.swing.border.Border; +import javax.imageio.ImageIO; + +import java.awt.image.BufferedImage; +import java.awt.*; + +import ModelFiles.*; + +public class visualizer { + + JFrame frame = new JFrame(); + JPanel display = new JPanel(); + JPanel visualizer = new JPanel(); + JPanel yokeGrid = new JPanel(); + axis axis = new axis(0,0); + rudderPosition rudderGrid = new rudderPosition(yokeGrid.getWidth(), 0); + yokePosition yoke = new yokePosition(yokeGrid.getWidth(), yokeGrid.getHeight()); + + + + public visualizer(Model m){ + + } + + + public void initializeDisplay() { + frame.setPreferredSize(new Dimension(1700,270)); + frame.setLayout(new GridLayout(1,2)); + frame.setVisible(true); + + + display.setPreferredSize(new Dimension(100,100)); + display.setLayout(new GridLayout(2,4)); + + Font fontTitles = new Font("Impact", 1,40); + Font fontData = new Font("Monospaced", 1,30); + JLabel titleOne = new JLabel("Elevator"); + titleOne.setFont(fontTitles); + titleOne.setHorizontalAlignment(SwingConstants.CENTER); + titleOne.setVerticalAlignment(SwingConstants.BOTTOM); + JLabel titleTwo = new JLabel("Roll"); + titleTwo.setFont(fontTitles); + titleTwo.setHorizontalAlignment(SwingConstants.CENTER); + titleTwo.setVerticalAlignment(SwingConstants.BOTTOM); + JLabel titleThree = new JLabel("Yaw"); + titleThree.setFont(fontTitles); + titleThree.setHorizontalAlignment(SwingConstants.CENTER); + titleThree.setVerticalAlignment(SwingConstants.BOTTOM); + JLabel titleFour = new JLabel("Throttle"); + titleFour.setFont(fontTitles); + titleFour.setHorizontalAlignment(SwingConstants.CENTER); + titleFour.setVerticalAlignment(SwingConstants.BOTTOM); + JLabel one = new JLabel(); + one.setFont(fontData); + one.setHorizontalAlignment(SwingConstants.CENTER); + one.setVerticalAlignment(SwingConstants.TOP); + JLabel two = new JLabel(); + two.setFont(fontData); + two.setHorizontalAlignment(SwingConstants.CENTER); + two.setVerticalAlignment(SwingConstants.TOP); + JLabel three = new JLabel(); + three.setFont(fontData); + three.setHorizontalAlignment(SwingConstants.CENTER); + three.setVerticalAlignment(SwingConstants.TOP); + JLabel four = new JLabel(); + four.setFont(fontData); + four.setHorizontalAlignment(SwingConstants.CENTER); + four.setVerticalAlignment(SwingConstants.TOP); + + one.setText("Test"); + two.setText("Test"); + three.setText("Test"); + four.setText("Test"); + display.add(titleOne); + display.add(titleTwo); + display.add(titleThree); + display.add(titleFour); + display.add(one); + display.add(two); + display.add(three); + display.add(four); + + + visualizer.setLayout(new GridLayout(2,1)); + + + //Col 1 of Visualizer + + yokeGrid.setMinimumSize(new Dimension(100,100)); + //grid.setOpaque(true); + // grid.setLayout(null); + yokeGrid.setBackground(Color.black); + yokeGrid.setVisible(true); + Integer layer1 = 0; + Integer layer2 = 1; + // grid.setLayout(new GridLayout(1,1)); + yokeGrid.setLayout(new OverlayLayout(yokeGrid)); + + yoke = new yokePosition(yokeGrid.getWidth(), yokeGrid.getHeight()); + // yaw yaw = new yaw(grid.getWidth(), grid.getHeight()); + axis = new axis(yokeGrid.getWidth(), yokeGrid.getHeight()); + + // grid.setLayer(axis, layer1); + yokeGrid.add(axis); + yokeGrid.add(yoke); + // grid.add(yaw); + // grid.setLayer(yoke, layer2); + + Border greenLine = BorderFactory.createLineBorder(Color.green); + yokeGrid.setBorder(greenLine); + visualizer.add(yokeGrid); + //Row 2 of Visualizer + //Rudder Vizualizer + rudderGrid = new rudderPosition(yokeGrid.getWidth(), 0); + visualizer.add(rudderGrid); + + frame.add(display); // Left Side + frame.add(visualizer); // Right Side + frame.pack(); + } + + + public void updateVisualizer(float[] ctrl1){ + yoke.setXBound(yokeGrid.getWidth()); + yoke.setYBound(yokeGrid.getHeight()); + yoke.setX(ctrl1[1]); + yoke.setY(ctrl1[0]); + yoke.repaint(); + + rudderGrid.setXBound(yokeGrid.getWidth()); + rudderGrid.setYBound(yokeGrid.getHeight()); + rudderGrid.setX(ctrl1[2]); + rudderGrid.repaint(); + + + + // yaw.setYBound(grid.getHeight()); + // yaw.setYBound(grid.getHeight()); + // yaw.setX(ctrl1[2]); + // yaw.repaint(); + + axis.setXBound(yokeGrid.getWidth()); + axis.setYBound(yokeGrid.getHeight()); + axis.repaint(); + } + +} + + + + + diff --git a/Java/ProjectModels/Visualizer/yokePosition.java b/Java/ProjectModels/Visualizer/yokePosition.java new file mode 100644 index 0000000..29baf3c --- /dev/null +++ b/Java/ProjectModels/Visualizer/yokePosition.java @@ -0,0 +1,96 @@ +package Visualizer; + +import java.io.File; +import java.io.IOException; + +import javax.imageio.ImageIO; +import javax.swing.JComponent; + + +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 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.*; +import javax.swing.border.Border; +import javax.imageio.ImageIO; +import java.awt.Graphics; +import java.awt.image.BufferedImage; +import java.awt.*; + +import ModelFiles.*; + +class yokePosition extends JComponent { + float x = 0; + int xBound = 0; + float y = 0; + int yBound = 0; + + int width = 50; + int height = 50; + + yokePosition(int currentX, int currentY) { + xBound = currentX; + yBound = currentY; + } + + yokePosition() { + + } + + public void paint(Graphics g) + { + Graphics2D g2 = (Graphics2D) g; + + // try { + // final BufferedImage image = ImageIO.read(new File("/Users/flyingtopher/Desktop/Code Citadel/School/2. Research/Fork Clone/XPlaneConnectCSP/Java/ProjectModels/Visualizer/assets/Yoke Symbol.png")); + // Image scaledImage = image.getScaledInstance(xBound, yBound, Image.SCALE_DEFAULT); + + // g.drawImage(scaledImage, 0, 0, getFocusCycleRootAncestor()); + // } catch (IOException e){ + // System.out.print("Rudder Image Failed"); + // } + + g2.setColor(Color.red); + int currX = (int)(x*xBound) + xBound/2 - width/2; + int currY = (int)(y*yBound) + yBound/2 - height/2; + System.out.println("CurrX, CurrY: " + currX +", " + currY); + // g2.drawOval(currX, currY, width, height); + + g2.fillOval(currX, currY, width, height); + g.setColor(Color.green); + int height = g.getFontMetrics().getHeight(); + g.drawString("Nose Down", (xBound/2) + 5, height); + g.drawString("Nose Up", (xBound/2) + 5, yBound - height/2); + g.drawString("Roll Left",0, yBound/2); + int width = g.getFontMetrics().stringWidth("Roll Right"); + g.drawString("Roll Right", xBound - width, yBound/2); + + + + + } + + public void setX(float newX){ + this.x = newX; + } + + public void setXBound(int newX){ + this.xBound = newX; + } + + public void setY(float newY){ + this.y = newY; + } + public void setYBound(int newY){ + this.yBound = newY; + } +} \ No newline at end of file diff --git a/Java/ProjectModels/testprocess.java b/Java/ProjectModels/testprocess.java new file mode 100644 index 0000000..c46ab97 --- /dev/null +++ b/Java/ProjectModels/testprocess.java @@ -0,0 +1,19 @@ +import ModelFiles.Model; +import ModelFiles.XPlaneConnect; + +public abstract class testprocess { + + + Model m = new Model(); + + public testprocess(Model inputM, XPlaneConnect xpc) { + m = inputM; + m.establishConnection(xpc); + } + + + public void runProcess() { + + } + +} diff --git a/Java/ProjectModels/testprocess1.java b/Java/ProjectModels/testprocess1.java index ef11730..204cc23 100644 --- a/Java/ProjectModels/testprocess1.java +++ b/Java/ProjectModels/testprocess1.java @@ -1,58 +1,36 @@ import java.io.IOException; import java.net.SocketException; -import ModelFiles.Model; -import ModelFiles.XPlaneConnect; - import ModelFiles.*; -import ModelFiles.Action; -import ModelFiles.ActionType; -import ModelFiles.Delay; -import ModelFiles.MindQueue; -import ModelFiles.Model; -import ModelFiles.Vision; -import ModelFiles.XPlaneConnect; +import Visualizer.visualizer; -public class testprocess1 { - - Model m = new Model(); +public class testprocess1 extends testprocess { public testprocess1(Model inputM, XPlaneConnect xpc) { - m = inputM; - m.establishConnection(xpc); + super(inputM, xpc); + } + @Override public void runProcess() { 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(); + visualizer vis1 = new visualizer(m); + vis1.initializeDisplay(); 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.createAction(ActionType.MOTOR, MotorType.PITCHUP, 0, null); + // m.createAction(ActionType.MOTOR, MotorType.PITCHDOWN, 0, null); } - // m.printModelQueue(); + vis1.updateVisualizer(m.getCurrentControls()); } } catch (SocketException ex) { System.out.println("Unable to set up the connection. (Error message was '" + ex.getMessage() + "'.)"); @@ -62,5 +40,4 @@ public class testprocess1 { } System.out.println("Exiting"); } - -} +} \ No newline at end of file diff --git a/Java/ProjectModels/testprocess2.java b/Java/ProjectModels/testprocess2.java new file mode 100644 index 0000000..aa6e063 --- /dev/null +++ b/Java/ProjectModels/testprocess2.java @@ -0,0 +1,15 @@ +import ModelFiles.XPlaneConnect; +import ModelFiles.*; + +public class testprocess2 extends testprocess { + + public testprocess2(Model m, XPlaneConnect xpc){ + super(m, xpc); + } + + @Override + public void runProcess() { + + } + +}