The next-generation FRC dashboard built with Tauri, React and Mantine
Sand
The next-generation FRC dashboard built with Tauri, React and Mantine
Features
Design
Sand supports both light and dark mode and one of its goals is to have a good looking user-interface.
Ease of Use
Sand resembles Shuffleboard so you don’t have to get used to different things. Some familiar aspects include the NetworkTables tree view, the drag and drop & grid layout,
Keyboard Shortcuts
Getting Started
Simply get the appropriate installer for your OS from the latest release. This should be a lightweight setup for the application which will automatically prompt you for updates when they are available.
Connecting to the Robot
In the app settings panel of the Edit tab (with the paste brush icon), enter your robot address. This should be something like 10.TE.AM.2
. Hit save and restart the app, and then you should be connected. Note that Sand uses NT4 so it can only connect to WPILib 2023+ robots.
Caveats
- While performance seems to be good in our limited testing, and we do try to keep performance as good as possible, it is not a main goal of the project (and indeed React, Mantine, and the code structure reflect quite a bit of room for improvement). Contributions are welcome to address this.
- Web security is quite a complicated topic, and in order to view camera streams Sand must enable unsecure HTTP traffic. This means you should avoid putting non-camera URLs in the Camera widget.
Developing
- Clone the repository
- Follow the instructions for tauri and rust
- Run
npm install
- Run
npm run tauri dev
Roadmap
- Components
- Boolean Box
- Toggle Switch
- Text View
- Label
- Combo-Box Chooser
- Gauge
- Graph
- Field
- Robot
- Trajectories
- Camera
- Robot-side control
- Keyboard shortcuts
- Edit props in-app with a nice GUI
- Extensions
- Update for NT4
Acknowledgements
Many things have been implemented as a result of the following: