Skip to content

Commit 6552dc9

Browse files
authored
fix: fixes the cutting on the waveform output of the In-Built-MIC (#2441)
1 parent 7405b28 commit 6552dc9

File tree

2 files changed

+171
-88
lines changed

2 files changed

+171
-88
lines changed

app/src/main/java/io/pslab/activity/OscilloscopeActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public class OscilloscopeActivity extends GuideActivity implements View.OnClickL
115115
public boolean isCH2Selected;
116116
public boolean isCH3Selected;
117117
public boolean isMICSelected;
118-
public boolean isInBuiltMicSelected;
118+
public static boolean isInBuiltMicSelected;
119119
public boolean isAudioInputSelected;
120120
public boolean isTriggerSelected;
121121
public boolean isFourierTransformSelected;

app/src/main/java/io/pslab/fragment/TimebaseTriggerFragment.java

Lines changed: 170 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -54,99 +54,182 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
5454
textViewTimeBase.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
5555
}
5656

57-
seekBarTimebase.setMax(8);
58-
seekBarTimebase.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
59-
@Override
60-
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
61-
//samples are in the power of 2 so that sinefit can be applied
62-
switch (progress) {
63-
case 0:
64-
textViewTimeBase.setText(getString(R.string.timebase_microsec, 875f));
65-
((OscilloscopeActivity) getActivity()).xAxisScale = 875;
66-
((OscilloscopeActivity) getActivity()).setXAxisScale(875);
67-
((OscilloscopeActivity) getActivity()).timebase = 875;
68-
((OscilloscopeActivity) getActivity()).samples = 512;
69-
((OscilloscopeActivity) getActivity()).timeGap = 2;
70-
break;
71-
case 1:
72-
textViewTimeBase.setText(getString(R.string.timebase_milisec, 1f));
73-
((OscilloscopeActivity) getActivity()).xAxisScale = 1;
74-
((OscilloscopeActivity) getActivity()).setXAxisScale(1);
75-
((OscilloscopeActivity) getActivity()).timebase = 1000;
76-
((OscilloscopeActivity) getActivity()).samples = 512;
77-
((OscilloscopeActivity) getActivity()).timeGap = 2;
78-
break;
79-
case 2:
80-
textViewTimeBase.setText(getString(R.string.timebase_milisec, 2f));
81-
((OscilloscopeActivity) getActivity()).xAxisScale = 2;
82-
((OscilloscopeActivity) getActivity()).setXAxisScale(2);
83-
((OscilloscopeActivity) getActivity()).timebase = 2000;
84-
((OscilloscopeActivity) getActivity()).samples = 512;
85-
((OscilloscopeActivity) getActivity()).timeGap = 4;
86-
break;
87-
case 3:
88-
textViewTimeBase.setText(getString(R.string.timebase_milisec, 4f));
89-
((OscilloscopeActivity) getActivity()).xAxisScale = 4;
90-
((OscilloscopeActivity) getActivity()).setXAxisScale(4);
91-
((OscilloscopeActivity) getActivity()).timebase = 4000;
92-
((OscilloscopeActivity) getActivity()).samples = 512;
93-
((OscilloscopeActivity) getActivity()).timeGap = 8;
94-
break;
95-
case 4:
96-
textViewTimeBase.setText(getString(R.string.timebase_milisec, 8f));
97-
((OscilloscopeActivity) getActivity()).xAxisScale = 8;
98-
((OscilloscopeActivity) getActivity()).setXAxisScale(8);
99-
((OscilloscopeActivity) getActivity()).timebase = 8000;
100-
((OscilloscopeActivity) getActivity()).samples = 1024;
101-
((OscilloscopeActivity) getActivity()).timeGap = 8;
102-
break;
103-
case 5:
104-
textViewTimeBase.setText(getString(R.string.timebase_milisec, 25.60));
105-
((OscilloscopeActivity) getActivity()).xAxisScale = 25.60;
106-
((OscilloscopeActivity) getActivity()).setXAxisScale(25.60);
107-
((OscilloscopeActivity) getActivity()).timebase = 25600;
108-
((OscilloscopeActivity) getActivity()).samples = 1024;
109-
((OscilloscopeActivity) getActivity()).timeGap = 25;
110-
break;
111-
case 6:
112-
textViewTimeBase.setText(getString(R.string.timebase_milisec, 38.40));
113-
((OscilloscopeActivity) getActivity()).xAxisScale = 38.40;
114-
((OscilloscopeActivity) getActivity()).setXAxisScale(38.40);
115-
((OscilloscopeActivity) getActivity()).timebase = 38400;
116-
((OscilloscopeActivity) getActivity()).timebase = 1024;
117-
((OscilloscopeActivity) getActivity()).timeGap = 38;
118-
break;
119-
case 7:
120-
textViewTimeBase.setText(getString(R.string.timebase_milisec, 51.20));
121-
((OscilloscopeActivity) getActivity()).xAxisScale = 51.20;
122-
((OscilloscopeActivity) getActivity()).setXAxisScale(51.20);
123-
((OscilloscopeActivity) getActivity()).timebase = 51200;
124-
((OscilloscopeActivity) getActivity()).samples = 1024;
125-
((OscilloscopeActivity) getActivity()).timeGap = 50;
126-
break;
127-
case 8:
128-
textViewTimeBase.setText(getString(R.string.timebase_milisec, 102.40));
129-
((OscilloscopeActivity) getActivity()).xAxisScale = 102.40;
130-
((OscilloscopeActivity) getActivity()).setXAxisScale(102.40);
131-
((OscilloscopeActivity) getActivity()).timebase = 102400;
132-
((OscilloscopeActivity) getActivity()).samples = 1024;
133-
((OscilloscopeActivity) getActivity()).timeGap = 100;
134-
break;
57+
if(OscilloscopeActivity.isInBuiltMicSelected){
58+
seekBarTimebase.setMax(6);
59+
seekBarTimebase.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
60+
@Override
61+
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
62+
//samples are in the power of 2 so that sinefit can be applied
63+
switch (progress) {
64+
case 0:
65+
textViewTimeBase.setText(getString(R.string.timebase_microsec, 875f));
66+
((OscilloscopeActivity) getActivity()).xAxisScale = 875;
67+
((OscilloscopeActivity) getActivity()).setXAxisScale(875);
68+
((OscilloscopeActivity) getActivity()).timebase = 875;
69+
((OscilloscopeActivity) getActivity()).samples = 512;
70+
((OscilloscopeActivity) getActivity()).timeGap = 2;
71+
break;
72+
case 1:
73+
textViewTimeBase.setText(getString(R.string.timebase_milisec, 1f));
74+
((OscilloscopeActivity) getActivity()).xAxisScale = 1;
75+
((OscilloscopeActivity) getActivity()).setXAxisScale(1);
76+
((OscilloscopeActivity) getActivity()).timebase = 1000;
77+
((OscilloscopeActivity) getActivity()).samples = 512;
78+
((OscilloscopeActivity) getActivity()).timeGap = 2;
79+
break;
80+
case 2:
81+
textViewTimeBase.setText(getString(R.string.timebase_milisec, 2f));
82+
((OscilloscopeActivity) getActivity()).xAxisScale = 2;
83+
((OscilloscopeActivity) getActivity()).setXAxisScale(2);
84+
((OscilloscopeActivity) getActivity()).timebase = 2000;
85+
((OscilloscopeActivity) getActivity()).samples = 512;
86+
((OscilloscopeActivity) getActivity()).timeGap = 4;
87+
break;
88+
case 3:
89+
textViewTimeBase.setText(getString(R.string.timebase_milisec, 4f));
90+
((OscilloscopeActivity) getActivity()).xAxisScale = 4;
91+
((OscilloscopeActivity) getActivity()).setXAxisScale(4);
92+
((OscilloscopeActivity) getActivity()).timebase = 4000;
93+
((OscilloscopeActivity) getActivity()).samples = 512;
94+
((OscilloscopeActivity) getActivity()).timeGap = 8;
95+
break;
96+
case 4:
97+
textViewTimeBase.setText(getString(R.string.timebase_milisec, 8f));
98+
((OscilloscopeActivity) getActivity()).xAxisScale = 8;
99+
((OscilloscopeActivity) getActivity()).setXAxisScale(8);
100+
((OscilloscopeActivity) getActivity()).timebase = 8000;
101+
((OscilloscopeActivity) getActivity()).samples = 1024;
102+
((OscilloscopeActivity) getActivity()).timeGap = 8;
103+
break;
104+
case 5:
105+
textViewTimeBase.setText(getString(R.string.timebase_milisec, 25.60));
106+
((OscilloscopeActivity) getActivity()).xAxisScale = 25.60;
107+
((OscilloscopeActivity) getActivity()).setXAxisScale(25.60);
108+
((OscilloscopeActivity) getActivity()).timebase = 25600;
109+
((OscilloscopeActivity) getActivity()).samples = 1024;
110+
((OscilloscopeActivity) getActivity()).timeGap = 25;
111+
break;
112+
case 6:
113+
textViewTimeBase.setText(getString(R.string.timebase_milisec, 38.40));
114+
((OscilloscopeActivity) getActivity()).xAxisScale = 38.40;
115+
((OscilloscopeActivity) getActivity()).setXAxisScale(38.40);
116+
((OscilloscopeActivity) getActivity()).timebase = 38400;
117+
((OscilloscopeActivity) getActivity()).timebase = 1024;
118+
((OscilloscopeActivity) getActivity()).timeGap = 38;
119+
break;
120+
default:
121+
break;
122+
}
135123
}
136-
}
137124

138-
@Override
139-
public void onStartTrackingTouch(SeekBar seekBar) {
125+
@Override
126+
public void onStartTrackingTouch(SeekBar seekBar) {
140127

141-
}
128+
}
142129

143-
@Override
144-
public void onStopTrackingTouch(SeekBar seekBar) {
130+
@Override
131+
public void onStopTrackingTouch(SeekBar seekBar) {
145132

146-
}
147-
});
148-
seekBarTimebase.setProgress(0);
133+
}
134+
});
135+
seekBarTimebase.setProgress(0);
136+
}
137+
else {
138+
seekBarTimebase.setMax(8);
139+
seekBarTimebase.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
140+
@Override
141+
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
142+
//samples are in the power of 2 so that sinefit can be applied
143+
switch (progress) {
144+
case 0:
145+
textViewTimeBase.setText(getString(R.string.timebase_microsec, 875f));
146+
((OscilloscopeActivity) getActivity()).xAxisScale = 875;
147+
((OscilloscopeActivity) getActivity()).setXAxisScale(875);
148+
((OscilloscopeActivity) getActivity()).timebase = 875;
149+
((OscilloscopeActivity) getActivity()).samples = 512;
150+
((OscilloscopeActivity) getActivity()).timeGap = 2;
151+
break;
152+
case 1:
153+
textViewTimeBase.setText(getString(R.string.timebase_milisec, 1f));
154+
((OscilloscopeActivity) getActivity()).xAxisScale = 1;
155+
((OscilloscopeActivity) getActivity()).setXAxisScale(1);
156+
((OscilloscopeActivity) getActivity()).timebase = 1000;
157+
((OscilloscopeActivity) getActivity()).samples = 512;
158+
((OscilloscopeActivity) getActivity()).timeGap = 2;
159+
break;
160+
case 2:
161+
textViewTimeBase.setText(getString(R.string.timebase_milisec, 2f));
162+
((OscilloscopeActivity) getActivity()).xAxisScale = 2;
163+
((OscilloscopeActivity) getActivity()).setXAxisScale(2);
164+
((OscilloscopeActivity) getActivity()).timebase = 2000;
165+
((OscilloscopeActivity) getActivity()).samples = 512;
166+
((OscilloscopeActivity) getActivity()).timeGap = 4;
167+
break;
168+
case 3:
169+
textViewTimeBase.setText(getString(R.string.timebase_milisec, 4f));
170+
((OscilloscopeActivity) getActivity()).xAxisScale = 4;
171+
((OscilloscopeActivity) getActivity()).setXAxisScale(4);
172+
((OscilloscopeActivity) getActivity()).timebase = 4000;
173+
((OscilloscopeActivity) getActivity()).samples = 512;
174+
((OscilloscopeActivity) getActivity()).timeGap = 8;
175+
break;
176+
case 4:
177+
textViewTimeBase.setText(getString(R.string.timebase_milisec, 8f));
178+
((OscilloscopeActivity) getActivity()).xAxisScale = 8;
179+
((OscilloscopeActivity) getActivity()).setXAxisScale(8);
180+
((OscilloscopeActivity) getActivity()).timebase = 8000;
181+
((OscilloscopeActivity) getActivity()).samples = 1024;
182+
((OscilloscopeActivity) getActivity()).timeGap = 8;
183+
break;
184+
case 5:
185+
textViewTimeBase.setText(getString(R.string.timebase_milisec, 25.60));
186+
((OscilloscopeActivity) getActivity()).xAxisScale = 25.60;
187+
((OscilloscopeActivity) getActivity()).setXAxisScale(25.60);
188+
((OscilloscopeActivity) getActivity()).timebase = 25600;
189+
((OscilloscopeActivity) getActivity()).samples = 1024;
190+
((OscilloscopeActivity) getActivity()).timeGap = 25;
191+
break;
192+
case 6:
193+
textViewTimeBase.setText(getString(R.string.timebase_milisec, 38.40));
194+
((OscilloscopeActivity) getActivity()).xAxisScale = 38.40;
195+
((OscilloscopeActivity) getActivity()).setXAxisScale(38.40);
196+
((OscilloscopeActivity) getActivity()).timebase = 38400;
197+
((OscilloscopeActivity) getActivity()).timebase = 1024;
198+
((OscilloscopeActivity) getActivity()).timeGap = 38;
199+
break;
200+
case 7:
201+
textViewTimeBase.setText(getString(R.string.timebase_milisec, 51.20));
202+
((OscilloscopeActivity) getActivity()).xAxisScale = 51.20;
203+
((OscilloscopeActivity) getActivity()).setXAxisScale(51.20);
204+
((OscilloscopeActivity) getActivity()).timebase = 51200;
205+
((OscilloscopeActivity) getActivity()).samples = 1024;
206+
((OscilloscopeActivity) getActivity()).timeGap = 50;
207+
break;
208+
case 8:
209+
textViewTimeBase.setText(getString(R.string.timebase_milisec, 102.40));
210+
((OscilloscopeActivity) getActivity()).xAxisScale = 102.40;
211+
((OscilloscopeActivity) getActivity()).setXAxisScale(102.40);
212+
((OscilloscopeActivity) getActivity()).timebase = 102400;
213+
((OscilloscopeActivity) getActivity()).samples = 1024;
214+
((OscilloscopeActivity) getActivity()).timeGap = 100;
215+
break;
216+
default:
217+
break;
218+
}
219+
}
220+
221+
@Override
222+
public void onStartTrackingTouch(SeekBar seekBar) {
149223

224+
}
225+
226+
@Override
227+
public void onStopTrackingTouch(SeekBar seekBar) {
228+
229+
}
230+
});
231+
seekBarTimebase.setProgress(0);
232+
}
150233
seekBarTrigger.setters(-16.5, 16.5);
151234
seekBarTrigger.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
152235
@Override

0 commit comments

Comments
 (0)