43
43
import io .pslab .models .SensorDataBlock ;
44
44
import io .pslab .models .ServoData ;
45
45
import io .pslab .models .ThermometerData ;
46
+ import io .pslab .models .WaveGeneratorData ;
46
47
import io .pslab .others .CSVLogger ;
47
48
import io .pslab .others .LocalDataLog ;
48
49
import io .realm .Realm ;
@@ -67,6 +68,7 @@ public class DataLoggerActivity extends AppCompatActivity {
67
68
private RealmResults <SensorDataBlock > categoryData ;
68
69
private String selectedDevice = null ;
69
70
private Realm realm ;
71
+ private String caller ;
70
72
71
73
@ Override
72
74
protected void onCreate (Bundle savedInstanceState ) {
@@ -77,7 +79,7 @@ protected void onCreate(Bundle savedInstanceState) {
77
79
deleteAllProgressBar = findViewById (R .id .delete_all_progbar );
78
80
deleteAllProgressBar .setVisibility (View .GONE );
79
81
realm = LocalDataLog .with ().getRealm ();
80
- String caller = getIntent ().getStringExtra (CALLER_ACTIVITY );
82
+ caller = getIntent ().getStringExtra (CALLER_ACTIVITY );
81
83
if (getSupportActionBar () != null ) {
82
84
getSupportActionBar ().setDisplayHomeAsUpEnabled (true );
83
85
getSupportActionBar ().setDisplayShowHomeEnabled (true );
@@ -109,6 +111,13 @@ protected void onCreate(Bundle savedInstanceState) {
109
111
break ;
110
112
case "Robotic Arm" :
111
113
categoryData = LocalDataLog .with ().getTypeOfSensorBlocks (getString (R .string .robotic_arm ));
114
+ break ;
115
+ case "Wave Generator" :
116
+ categoryData = LocalDataLog .with ().getTypeOfSensorBlocks (getResources ().getString (R .string .wave_generator ));
117
+ break ;
118
+ case "Oscilloscope" :
119
+ categoryData = LocalDataLog .with ().getTypeOfSensorBlocks (getResources ().getString (R .string .oscilloscope ));
120
+ break ;
112
121
default :
113
122
categoryData = LocalDataLog .with ().getAllSensorBlocks ();
114
123
getSupportActionBar ().setTitle (getString (R .string .logged_data ));
@@ -134,7 +143,41 @@ private void fillData() {
134
143
135
144
@ Override
136
145
public void onBackPressed () {
137
- finish ();
146
+ getSupportActionBar ().setTitle (caller );
147
+ switch (caller ) {
148
+ case "Lux Meter" :
149
+ startActivity (new Intent (this ,LuxMeterActivity .class ));
150
+ break ;
151
+ case "Barometer" :
152
+ startActivity (new Intent (this ,BarometerActivity .class ));
153
+ break ;
154
+ case "Accelerometer" :
155
+ startActivity (new Intent (this ,AccelerometerActivity .class ));
156
+ break ;
157
+ case "Multimeter" :
158
+ startActivity (new Intent (this ,MultimeterActivity .class ));
159
+ break ;
160
+ case "Gyroscope" :
161
+ startActivity (new Intent (this ,GyroscopeActivity .class ));
162
+ break ;
163
+ case "Compass" :
164
+ startActivity (new Intent (this ,CompassActivity .class ));
165
+ break ;
166
+ case "Thermometer" :
167
+ startActivity (new Intent (this ,ThermometerActivity .class ));
168
+ break ;
169
+ case "Robotic Arm" :
170
+ startActivity (new Intent (this ,RoboticArmActivity .class ));
171
+ break ;
172
+ case "Wave Generator" :
173
+ startActivity (new Intent (this , WaveGeneratorActivity .class ));
174
+ break ;
175
+ case "Oscilloscope" :
176
+ startActivity (new Intent (this , OscilloscopeActivity .class ));
177
+ break ;
178
+ default :
179
+ startActivity (new Intent (this ,MainActivity .class ));
180
+ }
138
181
}
139
182
140
183
@ Override
@@ -489,6 +532,41 @@ private void getFileData(File file) {
489
532
} catch (IOException e ) {
490
533
e .printStackTrace ();
491
534
}
535
+ } else if (selectedDevice != null && selectedDevice .equals (getResources ().getString (R .string .wave_generator ))) {
536
+ try {
537
+ FileInputStream is = new FileInputStream (file );
538
+ BufferedReader reader = new BufferedReader (new InputStreamReader (is ));
539
+ String line = reader .readLine ();
540
+ int i = 0 ;
541
+ long block = 0 , time = 0 ;
542
+ while (line != null ) {
543
+ if (i != 0 ) {
544
+ String [] data = line .split ("," );
545
+ try {
546
+ time += 1000 ;
547
+ WaveGeneratorData waveData = new WaveGeneratorData (time , block , data [2 ], data [3 ], data [4 ], data [5 ], data [6 ],data [7 ],Float .valueOf (data [8 ]), Float .valueOf (data [9 ]));
548
+ realm .beginTransaction ();
549
+ realm .copyToRealm (waveData );
550
+ realm .commitTransaction ();
551
+ } catch (Exception e ) {
552
+ Log .d ("exception" , i + " " + e .getMessage ());
553
+ Toast .makeText (this , getResources ().getString (R .string .incorrect_import_format ), Toast .LENGTH_SHORT ).show ();
554
+ }
555
+ } else {
556
+ block = System .currentTimeMillis ();
557
+ time = block ;
558
+ realm .beginTransaction ();
559
+ realm .copyToRealm (new SensorDataBlock (block , getResources ().getString (R .string .wave_generator )));
560
+ realm .commitTransaction ();
561
+ }
562
+ i ++;
563
+ line = reader .readLine ();
564
+ }
565
+ fillData ();
566
+ DataLoggerActivity .this .toolbar .getMenu ().findItem (R .id .delete_all ).setVisible (true );
567
+ } catch (IOException e ) {
568
+ e .printStackTrace ();
569
+ }
492
570
}
493
571
}
494
572
}
0 commit comments