From cf26d545a765ff3a8f9db122030a74a96bf5eb90 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 10 Dec 2020 20:02:35 -0500 Subject: [PATCH] all triggers should be documented way nicer #2001 --- .../main/java/com/rusefi/TriggerImage.java | 26 ++++++++++++++----- .../java/com/rusefi/TriggerWheelInfo.java | 4 +++ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/java_console/ui/src/main/java/com/rusefi/TriggerImage.java b/java_console/ui/src/main/java/com/rusefi/TriggerImage.java index 95aeea0cd4..f44cc40ad1 100644 --- a/java_console/ui/src/main/java/com/rusefi/TriggerImage.java +++ b/java_console/ui/src/main/java/com/rusefi/TriggerImage.java @@ -158,13 +158,15 @@ public class TriggerImage { topPanel.removeAll(); - JPanel firstWheelControl = createWheelPanel(triggerWheelInfo.getFirstWheeTriggerSignals(), true); + JPanel firstWheelControl = createWheelPanel(triggerWheelInfo.getFirstWheeTriggerSignals(), true, + triggerWheelInfo); topPanel.add(firstWheelControl); topPanel.add(StartupFrame.createLogoLabel()); if (!triggerWheelInfo.waves.get(1).list.isEmpty()) { - JPanel secondWheelControl = createWheelPanel(triggerWheelInfo.getSecondWheeTriggerSignals(), false); + JPanel secondWheelControl = createWheelPanel(triggerWheelInfo.getSecondWheeTriggerSignals(), false, + triggerWheelInfo); topPanel.add(secondWheelControl); } @@ -220,7 +222,8 @@ public class TriggerImage { } @NotNull - private static JPanel createWheelPanel(List wheel, boolean showTdc) { + private static JPanel createWheelPanel(List wheel, boolean showTdc, + TriggerWheelInfo shape) { JPanel clock = new JPanel() { @Override public void paint(Graphics g) { @@ -228,8 +231,19 @@ public class TriggerImage { g.setColor(Color.black); int middle = WHEEL_BORDER + WHEEL_DIAMETER / 2; - if (showTdc) - g.fillPolygon(new int[]{middle, middle + 10, middle - 10}, new int[]{20, 10, 10}, 3); + if (showTdc) { + double tdcAngle = Math.toRadians(shape.getTdcPosition()); + + int smallX = (int) (WHEEL_DIAMETER / 2 * Math.sin(tdcAngle)); + int smallY = -(int) (WHEEL_DIAMETER / 2 * Math.cos(tdcAngle)); + + int tdcMarkRadius = 8; + g.fillOval(middle + smallX - tdcMarkRadius, middle + smallY - tdcMarkRadius, + 2 * tdcMarkRadius, + 2 * tdcMarkRadius); + + } + for (int i = 0; i < wheel.size(); i++) { TriggerSignal current = wheel.get(i); @@ -281,7 +295,7 @@ public class TriggerImage { double radianAngle = Math.toRadians(angle); int smallX = (int) (SMALL_DIAMETER / 2 * Math.sin(radianAngle)); - int smallY =- (int) (SMALL_DIAMETER / 2 * Math.cos(radianAngle)); + int smallY = -(int) (SMALL_DIAMETER / 2 * Math.cos(radianAngle)); int largeX = (int) (WHEEL_DIAMETER / 2 * Math.sin(radianAngle)); int largeY = -(int) (WHEEL_DIAMETER / 2 * Math.cos(radianAngle)); diff --git a/java_console/ui/src/main/java/com/rusefi/TriggerWheelInfo.java b/java_console/ui/src/main/java/com/rusefi/TriggerWheelInfo.java index bd8e5d346c..0af9ea5e28 100644 --- a/java_console/ui/src/main/java/com/rusefi/TriggerWheelInfo.java +++ b/java_console/ui/src/main/java/com/rusefi/TriggerWheelInfo.java @@ -53,6 +53,10 @@ class TriggerWheelInfo { } } + public double getTdcPosition() { + return tdcPosition; + } + @NotNull private List getTriggerSignals(int index) { return signals.stream().filter(signal -> signal.waveIndex == index).collect(Collectors.toList());