This project is intended to allow users to build highly customizable performant gauge clusters for use in embedded applications where webkit is available
I test this project on a Raspberry Pi running the wpe-buildroot environment. Data is supplied the the react gauge cluster from a backend server process over a websocket connection.
The backend process mentioned here is compatible with megasquirt; however any backend that offers a map of string keys and number values over a websocket can be used instead.
- Declarative configuration in src/config.ts (no react coding experience required)
- Multiple pages of gauges is supported (click or tap to go to next page)
- Layout fully configurable to suit cropped screen installations or other tricky layout issues
- "LED strip" AFR gauge
- "LED strip" Shift Light
- 7 segment display digits
A websocket connection being a TCP communication mechanism is bound to run into head of line blocking issues at some point. In this scenario messages from the backend data provider become more and more delayed as a queue of messages builds up until the front end display is essentially useless. Running the server and client on the same device means this is less likely to be an issue, however if it becomes problematic WebRTC could potentially be used instead. File an issue or better yet a PR if you want this fixed :)
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.