Skip to content

Commit 017f4cd

Browse files
committed
add empty battery frame
1 parent c674156 commit 017f4cd

File tree

5 files changed

+73
-5
lines changed

5 files changed

+73
-5
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package it.raceup.yolo.ui.window;
2+
3+
import it.raceup.yolo.error.ExceptionType;
4+
import it.raceup.yolo.error.YoloException;
5+
import it.raceup.yolo.models.kvaser.message.FromKvaserMessage;
6+
7+
import javax.swing.*;
8+
import java.util.Observable;
9+
import java.util.Observer;
10+
11+
import static it.raceup.yolo.utils.Os.setNativeLookAndFeelOrFail;
12+
13+
public class BatteryFrame extends JFrame implements Observer {
14+
private static final String TITLE = "YOLO: BMS and battery";
15+
16+
public BatteryFrame() {
17+
super(TITLE);
18+
19+
setup();
20+
}
21+
22+
public void open() {
23+
try {
24+
pack();
25+
setSize(600, 500);
26+
setLocation(625, 0); // right to motors
27+
setResizable(false);
28+
setNativeLookAndFeelOrFail();
29+
30+
// disable exit button
31+
setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
32+
setVisible(true);
33+
} catch (Exception e) {
34+
new YoloException(
35+
"cannot open BMS viewer",
36+
e,
37+
ExceptionType.VIEW
38+
).print();
39+
}
40+
}
41+
42+
private void setup() {
43+
setupLayout();
44+
}
45+
46+
private void setupLayout() {
47+
setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
48+
}
49+
50+
@Override
51+
public void update(Observable observable, Object o) {
52+
try {
53+
FromKvaserMessage message = new FromKvaserMessage(o);
54+
// todo update
55+
} catch (Exception e) {
56+
new YoloException("cannot update BMS", e, ExceptionType.KVASER)
57+
.print();
58+
}
59+
}
60+
}

app/src/it/raceup/yolo/ui/window/CanMessagesFrame.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ public class CanMessagesFrame extends JFrame implements Observer {
2323
public CanMessagesFrame() {
2424
super(TITLE);
2525

26-
canMessageSender = new CanMessageSender(); // todo connect to kvaser
27-
canMessageBrowser = new CanMessageBrowser(); // todo connect to kvaser
26+
canMessageSender = new CanMessageSender();
27+
canMessageBrowser = new CanMessageBrowser();
2828

2929
setup();
3030
}
@@ -70,7 +70,7 @@ public void update(Observable observable, Object o) {
7070
canMessageBrowser.update(messages);
7171
}
7272
} catch (Exception e) {
73-
new YoloException("cannot update car", e, ExceptionType.KVASER)
73+
new YoloException("cannot update CAN", e, ExceptionType.KVASER)
7474
.print();
7575
}
7676
}

app/src/it/raceup/yolo/ui/window/MainFrame.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,19 @@
1111
import static it.raceup.yolo.utils.Os.setNativeLookAndFeelOrFail;
1212

1313
public class MainFrame extends JFrame {
14-
private static final String TITLE = "YOLO: motors";
14+
private static final String TITLE = "YOLO: AMK and inverters";
1515
private static final String ICON_PATH = "/res/images/logo.png";
1616
private final MotorsPanel motorPanels;
1717
private final CanMessagesFrame canMessagesFrame;
18+
private final BatteryFrame batteryFrame;
1819
private Image appIcon;
1920

2021
public MainFrame() {
2122
super(TITLE);
2223

2324
motorPanels = new MotorsPanel();
2425
canMessagesFrame = new CanMessagesFrame();
26+
batteryFrame = new BatteryFrame();
2527

2628
setup();
2729
open();
@@ -40,7 +42,9 @@ private void open() {
4042
setNativeLookAndFeelOrFail();
4143
setVisible(true);
4244
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // close app
43-
canMessagesFrame.open();
45+
46+
canMessagesFrame.open(); // open rest of frames
47+
batteryFrame.open();
4448
} catch (Exception e) {
4549
new YoloException(
4650
"cannot open view",
@@ -130,6 +134,10 @@ public CanMessagesFrame getCanMessagesFrame() {
130134
return canMessagesFrame;
131135
}
132136

137+
public BatteryFrame getBatteryFrame() {
138+
return batteryFrame;
139+
}
140+
133141
private void loadIcon() {
134142
try {
135143
appIcon = Toolkit.getDefaultToolkit().getImage(

build/cmd/yolo.jar

1.35 KB
Binary file not shown.

build/gui/yolo.jar

1.35 KB
Binary file not shown.

0 commit comments

Comments
 (0)