Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/team401/copper-console
Enhanced field vision for drivers
https://github.com/team401/copper-console
Last synced: 5 days ago
JSON representation
Enhanced field vision for drivers
- Host: GitHub
- URL: https://github.com/team401/copper-console
- Owner: team401
- License: mit
- Created: 2024-01-09T00:26:06.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-31T00:54:49.000Z (12 months ago)
- Last Synced: 2024-11-10T13:08:35.215Z (2 months ago)
- Language: TypeScript
- Size: 3.3 MB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Copper Console
A program to interpret data from Network Tables and display it in a nice view.
## Requirements
- NodeJS
## Installation
Use [one of our pre-built releases](https://github.com/team401/Copper-Console/releases).
### Building from source
Alternatively, you can build from source using electron forge:
- Cloning the repository
- Opening the cloned repository
- Running `npm run make`As seen below:
```bash
git clone https://github.com/team401/Copper-Console
cd Copper-Console
npm install
npm run make
```An executable will be generated in `out/Copper Console-{your platform}/`, and a
distributable zip archive will be created in `out/make/zip/{your platform}/Copper Console-{your platform}.zip`You can also just run a development build of the project with
```bash
npm run start
```You'll need to run `npm install` first if you haven't already before building.
## Project Structure
The project reads from network tables that should be provided in the format
described in `nt-specification.md`.Typescript source code is located in `src/`.
The app is built using electron-forge and its Vite plugin. It can be run with
the npm start script. Static assets, such as`field.png` are placed outside of
the `src` directory in main directory of the repository.Data is passed between the main process (`src/main.ts`) and the renderer process
(`src/renderer.ts`) through electron using `src/preload.ts`. An interface defining the
API exposed to the renderer is defined in `src/interface.d.ts`.Variables provided by Vite specifying the location of static assets have types
defined in `src/types.d.ts`.There is also a simple program to send dummy network tables data located in
`ntspoofer/`. See `ntspoofer/README.md` for details on how to use it.## Credits
Field image taken from user [MikLast on chiefdelphi.com](https://www.chiefdelphi.com/t/2024-crescendo-top-down-field-renders/447764)
Network tables code is taken from the [AdvantageScope project](https://github.com/Mechanical-Advantage/AdvantageScope) on GitHub, which is graciously provided
under the MIT license. It can be found in this repository under `src/nt4/`,
along with its [license](https://github.com/team401/Copper-Console/blob/main/src/nt4/LICENSE).