11package edu .wpi .rbe .rbe2001 .fieldsimulator .gui ;
22
3- import java .io .File ;
4- import java .io .PrintWriter ;
5- import java .text .DateFormat ;
6- import java .text .SimpleDateFormat ;
73import java .util .ArrayList ;
8- import java .util .Date ;
94import java .util .HashMap ;
105
116import javafx .scene .chart .LineChart ;
127import javafx .scene .chart .XYChart ;
138import javafx .scene .chart .XYChart .Series ;
9+ @ SuppressWarnings ("restriction" )
1410public class GraphManager {
1511 private ArrayList <XYChart .Series > pidGraphSeries =new ArrayList <>();
1612 private LineChart <Double , Double > pidGraph ;
1713 private double start = ((double ) System .currentTimeMillis ()) / 1000.0 ;
1814 private long lastPos ;
1915 private long lastSet ;
2016 private long lastHw ;
21- private HashMap <Integer ,ArrayList <Double >> posExp = new HashMap <>();
22- private HashMap <Integer ,ArrayList <Double >> setExp = new HashMap <>();
23- private HashMap <Integer ,ArrayList <Double >> hwExp = new HashMap <>();
24- private HashMap <Integer ,ArrayList <Double >> timeExp = new HashMap <>();
17+ // private HashMap<Integer,ArrayList<Double>> posExp = new HashMap<>();
18+ // private HashMap<Integer,ArrayList<Double>> setExp = new HashMap<>();
19+ // private HashMap<Integer,ArrayList<Double>> hwExp = new HashMap<>();
20+ // private HashMap<Integer,ArrayList<Double>> timeExp = new HashMap<>();
2521 private int currentIndex =0 ;
2622 private int numPid =0 ;
2723 public GraphManager (LineChart <Double , Double > g , int num ) {
@@ -32,10 +28,10 @@ public GraphManager(LineChart<Double, Double> g, int num ) {
3228
3329 pidGraphSeries .add (i , e );
3430 pidGraph .getData ().add (e );
35- posExp .put (i ,new ArrayList <>());
36- setExp .put (i ,new ArrayList <>());
37- hwExp .put (i ,new ArrayList <>());
38- timeExp .put (i ,new ArrayList <>());
31+ // posExp.put(i,new ArrayList<>());
32+ // setExp.put(i,new ArrayList<>());
33+ // hwExp.put(i,new ArrayList<>());
34+ // timeExp.put(i,new ArrayList<>());
3935 }
4036 pidGraph .getXAxis ().autoRangingProperty ().set (true );
4137
@@ -59,16 +55,16 @@ public void updateGraph(double pos, double set, double hw) {
5955 pidGraphSeries .get (0 ).getData ().add (new XYChart .Data (now , pos ));
6056 pidGraphSeries .get (1 ).getData ().add (new XYChart .Data (now , set ));
6157 pidGraphSeries .get (2 ).getData ().add (new XYChart .Data (now , hw ));
62- posExp .get (currentIndex ).add (pos );
63- setExp .get (currentIndex ).add (set );
64- hwExp .get (currentIndex ).add (hw );
65- timeExp .get (currentIndex ).add (now );
66- if (posExp .get (currentIndex ).size ()>5000 ) {
67- posExp .get (currentIndex ).remove (0 );
68- setExp .get (currentIndex ).remove (0 );
69- hwExp .get (currentIndex ).remove (0 );
70- timeExp .get (currentIndex ).remove (0 );
71- }
58+ // posExp.get(currentIndex).add(pos);
59+ // setExp.get(currentIndex).add(set);
60+ // hwExp.get(currentIndex).add(hw);
61+ // timeExp.get(currentIndex).add(now);
62+ // if(posExp.get(currentIndex).size()>5000) {
63+ // posExp.get(currentIndex).remove(0);
64+ // setExp.get(currentIndex).remove(0);
65+ // hwExp.get(currentIndex).remove(0);
66+ // timeExp.get(currentIndex).remove(0);
67+ // }
7268 }
7369 for (Series s : pidGraphSeries ) {
7470 while (s .getData ().size () > 2000 ) {
@@ -84,35 +80,5 @@ public void clearGraph(int currentIndex) {
8480 this .currentIndex =currentIndex ;
8581 }
8682
87- public void export (String type ) throws Exception {
88- File desktop = new File (System .getProperty ("user.home" )+"/Desktop/" );
89- DateFormat dateFormat = new SimpleDateFormat ("yyyy-MM-dd_HH-mm-ss" );
90- String timestamp =dateFormat .format (new Date ());
91- System .out .println (timestamp );
92- for (int i = 0 ; i < numPid ; i ++) {
93- String filename = desktop .getAbsolutePath ()+"/Motor-" +i +"-" +type +"_" +timestamp +".csv" ;
94- System .out .println (filename );
95- File exportFile = new File (filename );
96- if (!exportFile .exists ())
97- exportFile .createNewFile ();
98- String content = "Timestamp,Current Value,Target Value,Hardware Value\n " ;
99- ArrayList <Double > data = timeExp .get (i );
100- for (int j =0 ;j <data .size ();j ++) {
101- content +=timeExp .get (i ).get (j )+"," +
102- posExp .get (i ).get (j )+"," +
103- setExp .get (i ).get (j )+"," +
104- hwExp .get (i ).get (j )+"\n " ;
105-
106- }
107- posExp .get (i ).clear ();
108- setExp .get (i ).clear ();
109- hwExp .get (i ).clear ();
110- timeExp .get (i ).clear ();
111- PrintWriter out = new PrintWriter (filename );
112- out .println (content );
113- out .flush ();
114- out .close ();
115- }
116-
117- }
83+
11884}
0 commit comments