bouncy-button

Bouncy-Button-Benchmark-Browser

This is a web page that graphs and analyzes the button bounce data.

You can use it either online or offline.

Use Online

https://adamfk.github.io/bouncy-button/bbb-browser/gui.html


Use Offline

Download the bbb-browser directory from github and open the gui.html file in your web browser.


Load Some Data

It comes preloaded with some example data so you can try it out right away.

load-data


Pan And Zoom

There are controls in the top right of every graph that allow you to pan and zoom.

zoom


Tight Export Mode

You’ll want to use this mode when sharing a summary of your data. It’s also useful to press F11 to view the browser window in full screen first.

NOTE! Tight Export mode hides the statistics graphs and table data further down on the page.

tight


Section Types

You can choose which section types to include in the graph/analysis.

section-types

Sometimes a section will be crossed out. That’s because it was marked invalid in the test data. Usually happens with Slow sections as they often just end up being multiple presses and not bounces.


Event Types

Sometimes you only want to look at either presses or releases.

event-types


Sort And Group

Very useful to sort by duration.

sort-and-group


Time Focus

Mostly useful when loading huge data sets (like when you record a 8 MHz signal for self calibration).

time-focus


Test ID Filter

Allows you to include or exclude certain tests. Very useful when you want to exclude extreme tests or glitches. In the case of a glitch, you could also just delete that test from text file.

Examples:

You can also e, ex, or exclude to exclude tests, and i, in, or include to include tests. The default mode is include.

exclude


Stats Graphs

Only visible when Tight Export mode is not enabled.

stats


Table Data

Shows some stats for each individual test. It also allows you to copy raw signal levels to your clipboard for custom analysis or graphing in excel or Plotly.

That’s how I made these graphs comparing Arduino data to an oscilloscope’s data. Note that the Arduino just records high or low. The voltages are shifted away from 0 and 5 volts to help prevent clashing with oscilloscope traces.

table-data