Skip to content

Latest commit

 

History

History

debugger

General purpose BLE and USB browser debugger

The BLE will bundle to mobile too, we will release an APK of this app to test.

This app is a multiple concurrent BLE and USB Serial device debugger with programmable decoders and selective interaction with each device/ble service characteristic. Produces a little debugger window for each connected device with individual controls and output consoles/charts. Hover over the chart for more controls.

Live demo: https://devicedebugger.netlify.app

To run:

tinybuild or npm i -g tinybuild & tinybuild

Built-in drivers:

npm i device-decoder package for a standalone tool.

See src/devices/README.md for adding your own drivers or customizing existing ones

See test.ts for an example of it in action.

Debugger app Features:

  • Generate consoles and charts for each connected BLE and Serial device. Decode raw data using our presets or write-in your own decoders. Each serial device or notification stream gets dedicated workers for parsing and charting data.

  • See BLE services based on the primary service characteristics you provide (due to security rules in browser you need to know the UUIDs)

  • Apply digital filters and scalars to charts, toggle lines being viewed, attempt to generate lines in unknown streams

  • Parse UTF8 and arduino-like debug streams e.g. 'red: 123 \t blue:345 \r\n'

  • Set endstops bytes in serial streams, write-in custom decoders or look at src/devices/index.ts for how to integrate your own decoder, charting, and filtering preset rules into the browser.

  • For BLE: @capacitor-community/ble library so this can be dropped right into native mobile applications without changing your code.

  • For USB: Web Serial API, which is not available on mobile.

Live demo: https://devicedebugger.netlify.app

TODO:

  • csvs on a data collection thread, use indexeddb to prevent memory overflows
  • more styling, bug proofing

Why?

We need this for our own hardware to remove any performance concerns with massive amounts of data. We wanted to produce a proper web benchmark and debugger tool for Serial and BLE sensors in general as this is super useful stuff.

Features graphscript to script the site efficiently.

d

License: LGPL v3.0

Joshua Brewster