Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/miscar/sand

The next-generation FRC dashboard
https://github.com/miscar/sand

Last synced: about 2 months ago
JSON representation

The next-generation FRC dashboard

Awesome Lists containing this project

README

        


Sand










Currently in early development


The next-generation FRC dashboard built with Tauri, React and Mantine


💡 Features
 &middot 
🚤 Getting Started
 &middot 
💻 Developing
 &middot 
🎯 Roadmap

## Features

### Design

Sand supports both light and dark mode and one of its goals is to have a good looking user-interface.


Screenshot 2022-12-24 at 23 38 33

### 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.


Screenshot 2022-12-24 at 23 40 00

### Keyboard Shortcuts


Screenshot 2022-12-24 at 23 36 04

## Getting Started

Simply get the appropriate installer for your OS from the [latest release](https://github.com/MisCar/Sand/releases). This should be a lightweight setup for the application which will automatically prompt you for updates when they are available.

For more usage instructions, see [USAGE](./USAGE.md).

### 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](https://tauri.app/v1/guides/getting-started/prerequisites)
- Run `npm install`
- Run `npm run tauri dev`

## Roadmap

- [x] Components
- [x] Boolean Box
- [x] Toggle Switch
- [x] Text View
- [x] Label
- [x] Combo-Box Chooser
- [x] Gauge
- [x] Graph
- [x] Field
- [x] Robot
- [x] Trajectories
- [x] Camera
- [x] Robot-side control
- [x] Keyboard shortcuts
- [x] Edit props in-app with a nice GUI
- [ ] Extensions
- [x] Update for NT4

## Acknowledgements

Many things have been implemented as a result of the following:

- [Orbit Dashboard](https://github.com/orbit1690/orbitdashboard)
- [Shuffleboard](https://github.com/wpilibsuite/shuffleboard)
- [FRC Web Components](https://github.com/frc-web-components)