-
Notifications
You must be signed in to change notification settings - Fork 808
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: initialized Oscilloscope Screen #2612
base: flutter
Are you sure you want to change the base?
Conversation
Reviewer's Guide by SourceryThis PR initializes the Oscilloscope screen UI, including layouts for channel parameters, timebase/trigger settings, data analysis, and XY plotting. It also refactors the navigation drawer and application list items. Class diagram for the Oscilloscope screen componentsclassDiagram
class OscilloscopeScreen {
+initState()
+build()
-_setLandscapeOrientation()
}
class OscilloscopeStateProvider {
-int _selectedIndex
+int selectedIndex
+updateSelectedIndex(int)
}
class ChannelParametersWidget {
+build()
}
class TimebaseTriggerWidget {
+build()
}
class DataAnalysisWidget {
+build()
}
class XYPlotWidget {
+build()
}
class OscilloscopeScreenTabs {
+String channelParametersImage
+String dataAnalysisImage
+String timebaseTriggerImage
+String xyPlotImage
+build()
}
OscilloscopeScreen --> OscilloscopeStateProvider
OscilloscopeScreen --> ChannelParametersWidget
OscilloscopeScreen --> TimebaseTriggerWidget
OscilloscopeScreen --> DataAnalysisWidget
OscilloscopeScreen --> XYPlotWidget
OscilloscopeScreen --> OscilloscopeScreenTabs
State diagram for Oscilloscope screen tabsstateDiagram-v2
[*] --> Channels
Channels --> Timebase: Tab switch
Timebase --> DataAnalysis: Tab switch
DataAnalysis --> XYPlot: Tab switch
XYPlot --> Channels: Tab switch
state Channels {
[*] --> ChannelParameters
ChannelParameters: CH1/CH2/CH3/MIC settings
}
state Timebase {
[*] --> TimebaseTrigger
TimebaseTrigger: Trigger and timebase settings
}
state DataAnalysis {
[*] --> Analysis
Analysis: Fourier transforms
Analysis: Signal analysis
}
state XYPlot {
[*] --> XYPlotting
XYPlotting: XY plot configuration
}
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
eab7d3a
to
7917e13
Compare
Build successful. APKs to test: https://github.com/fossasia/pslab-android/actions/runs/12976768240/artifacts/2487354860 |
9c12e80
to
900b663
Compare
@marcnause This PR now sets up communication with the PSLab device, and basic initialisation of the board. You should be able to see the version string when you connect to the board 🥳. |
7b72171
to
2a37948
Compare
2a37948
to
0844658
Compare
00255a1
to
86b5191
Compare
This was my fault. I still had the UART-hack FW running on my PSLab v6. |
86b5191
to
721fac7
Compare
721fac7
to
9ef1018
Compare
Just installed the legacy firmware on my v6 device. Everything works perfectly. All these observations are pointing towards a single thing: the USB Serial driver that we are using may not properly support the MCP2200 USB-UART (CDC-ACM driver) converter that the v5 uses, the same issue which we had in our native app. |
Slowly and steadily, we would get there 🥹.
This is currently a Work In Progress.
Initializes the Oscilloscope Screen in our flutter app.
Screenshots / Recordings
Here's what we have as of now:
Screen_recording_20250126_230336.mp4
The layouts are done, functionality coming soon.
Checklist:
strings.xml
,dimens.xml
andcolors.xml
without hard coding any value.strings.xml
,dimens.xml
orcolors.xml
.@marcnause Would you like to test these layouts 😉 ?