Maple-Dashboard Alpha: A driver centric dashboard based on pygame and NTCore

Maple-Dash is a minimalist dashboard that only focus on helping drivers on the field. Unlike most other dashboard, Maple Dashboard can not be customized. This design choice help drivers to only focus on the things they must know.

Features

Robot Enable status (outer ring)

Outer colour ring representing status of the robot. When FMS is connected, a FMS Connected message will also be shown.

  • Grey - Disconnected
  • Red - Disabled
  • Blue - Auto
  • Green - Teleop
  • Yellow - Test
View gif

Robot_enable_status

Customizable innor colour

RGB values of the inner part of the dashboard could be set though networktables

View gif

Background_colour_change

Message (Terminal) printout

A terminal alike printout area that can be used to print message for diagnosis. Colour of the printout can be set as well.

View gif

terminal

Center text (with flash toggle)

Two line of text that can be custom set. Also when necessary, it can be set to flashing.
The colour of the text can’t be custom set as it will always be the invert colour of the background. This ensure the text is always visiable

View gif

two_text_flashing

Chime sound

Three chime sound playable by toggling three different networktables bool. Chime 1 and 2 will always be played once while chime 3 will loop until nt bool is set to false.

No gif :)

(There is no gif to this as gif don’t contain sound. use your imagination or download maple dashboard and try it. This is put here so the post looks uniformity.)

Config panel

A panel to set target networktable server address and clear message terminal.

View gif

Clear_terminal

Top text

Text on top can be custom set. Colour will always be invert colour of outer ring. No flashing feature on this top text.

View image

Let’s make our drivers’ life easier!

(This link might change in the future)

Quick Start:

  1. Clone the above repository
  2. Install Python and add it to your PATH
  3. Install robotpy
  4. Install pygame by using pip install pygame
  5. Set roboRIO IP address on ntinst.setServer("127.0.0.1") or set 127.0.0.1 if using sim.
  6. Run mapledash.py in terminal or double click on mapledash.py

Networktables usage:

The documentation of this can be found in readme.md

Known issue

  • Set IP address in config panel won’t save after script restart. Currently this script will always use the ip address in Python script.

Discord server and Maple-sim:

There will be a channel on our Maple-sim server regarding this dashboard. Please also check out Maple-sim, a simulation library by our wonderful student @catrix

13 Likes