Byron finished the communications protocol for the pen and we are able to receive real data from the pen. Byron also polished the side menu for the app. Jeff fixed many bugs relating to the side menu, layout, and various crashes. The app has reached our target functionality. We have a working Volt/Div menu, Time/Div menu, an interface to connect and disconnect from the Scopen, and a run/stop button to resume and pause live data. See the attached video demonstration below.
This week, Byron began working on our expandable menu, and the basics for extracting data from the hardware. Jeff fixed some crashing issues on the plot related to threading. Jeff created a service which Byron will put hardware data extraction in, that temporarily generates random data on a thread, and broadcasts it to the plotting activity. With this, Jeff implemented the basic run/stop functionality. When stopped, the plot no longer plots new data, and instead pauses on the current data. A TextView becomes visible and selecting a point on the graph with a finger populates the TextView with the current voltage value. Below is a video demonstration.
This week we discussed the layout and functionality of the application. Shown in the image below, the app will be landscape-oriented, containing the live plot and simple menu overlaid on top of the plot. Pressing a button on the menu will expand the menu outwards to the left, if more options are accessible. The five primary buttons will have the following behavior:
Run/stop: Resumes or pauses new data from appearing on the plot.
Volts/div: Will be used to communicate to Scopen to change the magnification of data. Expands the menu for buttons to increase/decrease.
Time/div: Will be used to communicate to Scopen to change the sampling rate, and adjust the plot accordingly. Expands the menu for buttons to increase/decrease.
Trigger: This feature will be left out if we run out of time. Expands the menu for options regarding rising/falling edge trigger, buttons to increase/decrease the trigger level.
Toggle data/pan: If pan is currently active, the user can pan the plot using their finger. If data is active, touching a point will reveal the voltage/time of the selected point.
Jeff will be working on the UI and plot, Byron will be working on receiving information from the hardware.
This week we finalized the app idea and collected the APIs we want to use of the project. We are still working on figuring out how we should structure the app and how we should split the work load. For starters, we will need one of us to work on the communication between the Scopen board and the app and one of us will need to get started on the data plotting/interface. For the next two weeks, we will begin working on these tasks and getting the core functionality of the app working. Once that is done we will work to optimize it and make it look good.