@@ -568,7 +568,7 @@ private void initialize() {
568
568
replay .addListener ((v , ov , nv ) -> {
569
569
if (isDisabled ())
570
570
return ;
571
-
571
+
572
572
if (nv .intValue ()<0 ) {
573
573
current_x0_pt = dataService .calculateX0Index (-nv .intValue ());
574
574
if (current_x0_pt >0 )
@@ -588,11 +588,8 @@ private void initialize() {
588
588
589
589
590
590
isScrolling .addListener ((v , ov , nv ) -> {
591
- if (nv .booleanValue ())
592
- resolution_ms = resolution_ms < 50 ? 50 : resolution_ms * 2 ;
593
- //setXResolution(timeFrame.get() * 2);
594
- else
595
- setXResolution (timeFrame .get ());
591
+ setXResolution (timeFrame .get ());
592
+ updateRequest ();
596
593
});
597
594
598
595
dash .selectedProperty ().addListener ((v , ov , nv ) -> {
@@ -720,7 +717,12 @@ public LineChartWidget setup(IMAVController control, int id) {
720
717
});
721
718
722
719
state .getReplayingProperty ().addListener ((o ,ov ,nv ) -> {
723
- updateGraph (true ,1 );
720
+ setXResolution (timeFrame .get ());
721
+ if (nv .booleanValue ())
722
+ updateGraph (true ,1 );
723
+ else
724
+ updateGraph (true ,0 );
725
+
724
726
});
725
727
726
728
KeyFigureMetaData k1 = meta .getKeyFigureMap ().get (prefs .getInt (MAVPreferences .LINECHART_FIG_1 +id ,0 ));
@@ -798,7 +800,7 @@ public BooleanProperty getIsScrollingProperty() {
798
800
public void refreshChart () {
799
801
// current_x0_pt = dataService.calculateX0IndexByFactor(1);
800
802
setXResolution (timeFrame .get ());
801
- updateRequest ();
803
+ updateRequest ();
802
804
}
803
805
804
806
public void saveAsPng (String path ) {
@@ -826,37 +828,37 @@ private void addToRecent(KeyFigureMetaData nv) {
826
828
827
829
private void setXResolution (float frame ) {
828
830
829
- int interval = dataService .getCollectorInterval_ms ();
831
+ final int interval = dataService .getCollectorInterval_ms ();
832
+ final boolean increaseResolution = dataService .isCollecting () || state .getReplayingProperty ().get () || isScrolling .get ();
830
833
831
834
if (frame >= 200 ) {
832
- resolution_ms = dataService . isCollecting () || state . getReplayingProperty (). get () ? 500 : 10 * interval ;
835
+ resolution_ms = increaseResolution ? 500 : 10 * interval ;
833
836
if (resolution_ms < 200 )
834
837
resolution_ms = 200 ;
835
838
}
836
839
else if (frame >= 100 ) {
837
- resolution_ms = dataService . isCollecting () || state . getReplayingProperty (). get () ? 200 : 4 * interval ;
840
+ resolution_ms = increaseResolution ? 200 : 4 * interval ;
838
841
if (resolution_ms < 100 )
839
842
resolution_ms = 100 ;
840
843
}
841
844
else if (frame >= 60 ) {
842
- resolution_ms = dataService . isCollecting () || state . getReplayingProperty (). get () ? 50 : 2 * interval ;
845
+ resolution_ms = increaseResolution ? 50 : 2 * interval ;
843
846
if (resolution_ms < 50 )
844
847
resolution_ms = 50 ;
845
848
}
846
849
else if (frame >= 30 ) {
847
- resolution_ms = dataService . isCollecting () || state . getReplayingProperty (). get () ? 50 : interval ;
850
+ resolution_ms = increaseResolution ? 50 : interval ;
848
851
if (resolution_ms < 20 )
849
852
resolution_ms = 20 ;
850
853
}
851
854
else
852
- resolution_ms = dataService . isCollecting () || state . getReplayingProperty (). get () ? 50 : interval ;
855
+ resolution_ms = increaseResolution ? 50 : interval ;
853
856
854
857
timeframe = frame ;
855
858
856
859
refresh_step = REFRESH_RATE / dataService .getCollectorInterval_ms ();
857
860
858
861
if (!isDisabled ()) {
859
- // updateRequest();
860
862
Platform .runLater (() -> {
861
863
xAxis .setLabel ("Seconds (" +resolution_ms +"ms)" );
862
864
});
@@ -869,7 +871,7 @@ private void updateRequest() {
869
871
870
872
if (state ==null || id == -1 || isDisabled () || refreshRequest )
871
873
return ;
872
-
874
+
873
875
refreshRequest = true ;
874
876
if (!state .getReplayingProperty ().get ())
875
877
updateGraph (refreshRequest ,0 );
0 commit comments