Skip to content

Commit

Permalink
deploy: c19c93c
Browse files Browse the repository at this point in the history
  • Loading branch information
JaciBrunning committed Aug 19, 2024
0 parents commit 2c41fce
Show file tree
Hide file tree
Showing 93 changed files with 6,951 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: f8e4a6fe71d89b848c10235f397ad6b1
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file added .doctrees/environment.pickle
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/full-walkthrough/index.doctree
Binary file not shown.
Binary file added .doctrees/index.doctree
Binary file not shown.
Binary file added .doctrees/povs/index.doctree
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/povs/scorekeeper/index.doctree
Binary file not shown.
Binary file added .doctrees/prolog.doctree
Binary file not shown.
Empty file added .nojekyll
Empty file.
Binary file added _images/add-user.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/awards.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/e-stop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/edit-scores.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/estop-confirm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/event-details.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/event-details1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/fta-screen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/manage-schedule.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/match-flow-ribbon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/peripherals.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/quals-gen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/schedule-counter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/team-status-info.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/team-status.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/top-bar-armed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/top-bar-auto.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/top-bar-estop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/top-bar-prestart-ready.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/user-management-roles.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/user-management.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 35 additions & 0 deletions _sources/full-walkthrough/00-navigation/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
JMS Navigation
==============

When browsing to the JMS UI (http://10.0.100.10/), you will be greeted with a page resembling the following.

.. note::
On your first login, it will ask for an FTA password. Set this to something you will remember, since this is the admin user for JMS!

.. image:: imgs/peripherals.png

In the main view, you will find a tile for everything the current user is authorised to access. If you're not the admin user, you may only have access to a few of these.

On the peripherals of the screen, you will find a set of buttons and indicators that represent the current state of JMS. These elements are:

- **A**: The Emergency Stop button. The |estop| button is only present for users which have permission to E-Stop the field, usually referees and the FTA/FTAAs. Clicking this button opens a large dialog in which you can confirm or cancel your choice to Emergency Stop the field.

.. warning::
Clicking the |estop| button will log who clicked it!

.. image:: imgs/estop-confirm.png

- **B**: The current Arena State. Accompanied by a change in top bar colour, this indicator will change according to the current state of the arena: Idle, Prestart (Working), Prestart (Ready), Emergency Stop, Match ARMed, Auto, Teleop, and Match Complete. In Match Play states (Auto, Teleop), it is accompanied by a countdown timer.

.. image:: imgs/top-bar-estop.png
.. image:: imgs/top-bar-prestart-ready.png
.. image:: imgs/top-bar-armed.png
.. image:: imgs/top-bar-auto.png

- **C**: The current user (if logged in), and the login/logout button.

- **D**: Container Status. JMS is deployed as a set of Docker Containers, each of which with its own purpose and function. A green indicator implies the container is up and running, whilst red usually denotes that it has been stopped or has crashed. Usually, this is only relevant to the FTA, but if you see any of these as red, make sure to alert your FTA!

- **E**: Schedule Clock. When a schedule is loaded, this will tell you how far ahead or behind the field is running.

- **F**: Refresh button, for if the UI stops responding on a mobile device.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Event Details
=============

.. image:: imgs/event-details.png
8 changes: 8 additions & 0 deletions _sources/full-walkthrough/01-event-wizard/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
The Event Wizard
================

Much like the regular FMS, the Event Wizard is where you configure JMS for your event, scrimmage, or general use. The event wizard lays out exactly how to configure your event, and is the hub for almost all settings in JMS.

.. toctree::
user-management
event-details
29 changes: 29 additions & 0 deletions _sources/full-walkthrough/01-event-wizard/user-management.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
User Management
===============

.. image:: imgs/user-management.png

**User Management** is where admins can manage the users in JMS. As JMS is controlled primarily through a web UI and not tied to a specific scorekeeping computer, it is important to make sure users have the appropriate permissions.

At the start of your event, add a user for each user you wish to utilise JMS. For large events, you may opt to instead create a user for each role and share the PINs between volunteers.

.. note::
Whether you assign a user per real person or a user per role is up to you and your level of risk acceptance.

Roles
*****

Each user may have one or more roles which define their permissions. Certain features of JMS are gated behind these permissions and roles. Some roles, such as FTA, may imply a range of other permissions (such as Estop, ManageEvent, ManageTeams, etc).

.. image:: imgs/user-management-roles.png

Actions
*******

User Management provides a few mechanisms for management of each user:

- **Trash**: Delete this user
- **Reset PIN**: Prompt the user to assign a new PIN next time they login.
.. note::
On first login, and when the Reset PIN button is pressed, the user may attempt to login with any PIN (including a blank string) and will then be prompted for a new PIN.
- **Invalidate Tokens**: Log out the user from all their existing sessions.
8 changes: 8 additions & 0 deletions _sources/full-walkthrough/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Full Walkthrough
=========

This page is all about **using JMS**, i.e. everything you need to do on the day of the event. This walks through each section of JMS in detail.

.. toctree::
00-navigation/index
01-event-wizard/index
9 changes: 9 additions & 0 deletions _sources/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Welcome to the JMS documentation!
===================================

Contents
--------

.. toctree::
povs/index
full-walkthrough/index
13 changes: 13 additions & 0 deletions _sources/povs/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
POV: You're a .... - A Guide for Users
=======================================

So your event is using JMS. How do you use it? What do you do? Well, you're in the right place.

This set of pages is all about what you need to do to run a successful event with JMS, according to your role.

Select your role from the below list for a guided walkthrough.

.. toctree::
:maxdepth: 1

scorekeeper/index
128 changes: 128 additions & 0 deletions _sources/povs/scorekeeper/before-the-event.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
SCOREKEEPER - Event Setup
=========================

As Scorekeeper, you play a pivotal role in setting up JMS so the event runs smoothly. This guide will take you through the Event Wizard - the interface used to configure JMS for your event.

To access the Event Wizard, log into JMS (http://10.0.100.10/) and select the "Event Wizard" tile from the homepage.

.. warning::
Don't configure anything in "Advanced" or "Integrations" - this should already be done by your FTA. The settings in here are usually to do with integrations with outside services and the field hardware. If you're unsure, chat to your FTA and they will guide you through it.

.. warning::
During event setup, make sure you **check with the FTA** before performing these steps. Although most steps are reversible, it's important the two of you are on the same page!

Managing Users
**************
Step 1 is to configure the users of the JMS software. Your FTA should have granted you admin access to JMS, and your volunteer coordinator should have given you a list of volunteers.

In the "User Management" pane, add each of the users who will be using JMS and assign them permissions. A general outline of roles and permissions is given below:

- **FTA** - Admin, FTA
- **FTAA** - FTAA
- **Head Referee** - Head Referee
- **Referee and Scorers** - Scoring, Estop
- **CSA** - Ticketing
- **AV** - ManageAudience

Game Announcers and the Audience Display can access their JMS screens without authentication.

.. note::
In some games, such as CRESCENDO, Human Players may require a tablet to activate certain field elements. In this case, make a generic HPBlue and HPRed account with *only* the HumanPlayerBlue or HumanPlayerRed role!

You'll have to login to their account on their tablets, so make sure when you do that you set a memorable (but hard to guess) PIN.

.. image:: imgs/add-user.png

Give each user their username and instruct them to login as soon as they can to set their PIN. For their first-time login, they can simply login with their username and a blank PIN.

Event Details
*************

Step 2 is to configure your event. The "Event Details" pane contains everything you need to set in regards to details about the event itself.

.. image:: imgs/event-details.png

**Event Code** is the sync code used for your event. If your event is registered on TheBlueAlliance (TBA), this will be the same code in the URL of your event. If you're running a scrimmage or an event that doesn't sync to TBA, you can leave this blank or make one up in the format <year><code> (e.g. 2024auwarp). Just make sure it's not already taken!

**Event Name** is the event name that will display on all audience screens - make it short and sweet!

**Webcast URLs** are the URLs to where the event is being livestreamed, if any. These will be sync'd with TBA if configured.

**Playoff Settings** describe your playoff format. For most competitions post-2023, this should be a Double Bracket. Configure the number of alliances you wish to have, what awards you want to give out during the breaks, how long per award, and the minimum break between rounds.

.. note::
You will have to enter the awards first on the "Manage Awards" pane. You don't have to do this *immediately*, but you should do it before the playoff schedule gets generated.

**AV Settings** are at the bottom and configure the look-and-feel of the Audience Display. Set these in collaboration with your A/V team.

Team Setup
**********

Next up is setting up the teams who will compete in your tournament. In the "Manage Teams" pane, you can either enter team details one-by-one or load them from a prepopulated CSV prepared by your event coordination team.

You can edit any team details here at any point during the tournament, but you can only add and delete prior to generating the qualification schedule.

There's also an "Update from TBA" button for convenience, which will populate team name, affiliation, and location if they exist on TBA.

Manage Schedule
***************

Next up is configuring the event schedule. JMS provides a Google Calendar-esque interface for creating your schedule. You can go in as much or as little detail as you like, but the key parts are the Qualification match blocks and the Playoff match blocks.

.. image:: imgs/manage-schedule.png

Click-and-drag to enter new blocks. For Qualification matches, you will have to specify a "cycle time" - the time between the start of one match and the start of the following match. Set this value in consultation with your FTA. Most regionals set this to be 7-8 minutes, however for most smaller offseasons 11 minutes is usually recommended.

.. note::
Playoff matches will simply grow to the time alloted, so if you're finding your cycle time to be too rapid - try expanding your playoff blocks.

The top of the screen will show you the total amount of quals matches that will be played, as well as the amount of quals matches per team.

.. image:: imgs/schedule-counter.png
:scale: 50%

Qualification Schedule
**********************

The next tab is to generate the Qualification Schedule. Hit the "Generate Qualification Schedule" button and configure your parameters.

.. note::
Usually, you can leave these parameters at their default. Most schedules will generate in a matter of seconds, but you can optionally increase these values if you want to be extra sure your schedules are balanced.

After the schedule is generated, you can delete any unplayed matches. Once a match is played, however, it cannot be deleted.

.. important::
If you change your schedule blocks / time allocation for qualification matches, you can update the quals schedule in one of two ways:

**Keep what's been generated and just fill the extra space** by clicking "Generate Qualification Schedule", or

**Scrap the unplayed matches and regenerate from scratch** by clicking "Delete Unplayed" first.

.. image:: imgs/quals-gen.png

Alliance Selection and Playoffs
*******************************

At the conclusion of Qualifications, you can start the Alliance Selections process by going to the "Alliance Selections" tab.

Here, you can move add teams to and move teams between alliances. There's a handy "Promote Captains" button for when alliances pick another alliance's captain, which will the subsequent alliance captains up in rank and invite the next ranked team.

.. important::
Any changes you make here will show on the Audience Display immediately!

The Playoff Schedule should manage itself from this point forth, however you can manually force an update by going to the "Playoff Schedule" tab and selecting "Update Playoff Schedule".

Assign Awards
*************

You can create and assign awards in the "Manage Awards" pane. To create a new award, simply type its name into the "New Award Name" field and hit "Enter". From here, you can also assign awardees.

.. important::
The WINNER and FINALIST awards will be automatically generated, so there's no need to add them in here.

.. warning::
Make sure your screen is clear from prying eyes whilst on this pane!

.. image:: imgs/awards.png

Awards can then be displayed from the "Audience Display Controls" tile on the homepage.
98 changes: 98 additions & 0 deletions _sources/povs/scorekeeper/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
SCOREKEEPER
===========

As a scorekeeper, your job is to configure JMS, make sure that the matches are flowing, and to manage scoring. you're the "hands-on-keyboard" of the fta and the head referee.

To get started, familiarise yourself with The JMS UI: :doc:`/full-walkthrough/00-navigation/index`

Once you know about all the peripheral elements, let's get started by looking at how you use JMS to perform your role.

Configure JMS
*************
On setup day, your job is to work with the FTA to configure JMS. See :doc:`before-the-event` to see how this is done.

.. toctree::
:hidden:

before-the-event

Keep Matches Running
********************
As scorekeeper, your main role is to control the flow of matches. Working closely with the FTA you'll load matches, prestart the field, arm the field, run the match, and submit the scores. Crucially, you'll work together with the FTA to keep matches running on time whilst maintaining the proper order to match flow.

The FTA screen will be your main control center. As the name implies, the FTA also has access to this screen.

.. image:: imgs/fta-screen.png

In this screen, you will be able to LOAD and UNLOAD matches, including creating new test matches for purposes such as practice day. The schedule will automatically populate and update as more matches are played, but it's up to you to load in the matches as required.

Team Boxes
##########

In the top of the screen, you have the statuses of each driver station. These contain the team number, the state of their communication, and a quick diagnostic showing the most urgent error.

.. image:: imgs/team-status.png

Most of this is self-explanatory, and will be monitored closely by your FTA and FTAAs. If you notice any element of this as red, or if the diagnosis says anything except OK, notify your FTA if they aren't already aware - that team may be having issues!

The "Flagged for CSA Followup" icon will turn yellow if this team has been flagged by the FTA or FTAA for CSA followup. This usually means the team has had a communications issue in the past, and will let you know to keep a close eye on them to see if the issue is resolved.

Clicking on this box, more actions and information is shown.

.. image:: imgs/team-status-info.png

From this menu, you can change the team number if required, bypass the team if instructed by the FTA, emergency stop the team (not the whole field), or flag the team for CSA follow-up. A list of previous CSA issues for the team is also shown here, providing more information than just the yellow flag.

Match Flow Ribbon
#################

The Match Flow Ribbon contains everything you need to run matches.

.. image:: imgs/match-flow-ribbon.png

PRESTART
^^^^^^^^
The first button is the PRESTART button. Clicking this puts the field into PRESTART, where it configures the networking equipment, team signs, and all other facets of the field that need to be ready to engage teams. Once prestarted, this button changes to REVERT PRESTART, which allows you to make changes to the teams or driver stations, and also enables the unload match button.

.. note::
Your FTA may ask you to re-PRESTART in some circumstances. Usually, this is done to reset the field networking in the case a team is struggling to connect. To do this, REVERT PRESTART followed by a PRESTART.

MATCH PREVIEW
^^^^^^^^^^^^^
The next button displays the MATCH PREVIEW on the Audience Display, showing the lineup of teams competing.

ARM MATCH
^^^^^^^^^
The middle button is the ARM MATCH button. This button declares the field UNSAFE and ready to start the match. You should only ARM the match when instructed by the FTA, since everyone needs to be clear of the field by this point.

MATCH PLAY
^^^^^^^^^^
The next button is the MATCH PLAY button. Only click this when given the **THUMBS UP** from the FTA. This button will start a 3-second countdown and then automatically start the match. The 3 second window will allow you to abort the match start by hitting the |estop| button.

.. note::
The THUMBS UP is a process that is undertaken just before a match is started. All relevant FIELD STAFF will put their "thumbs up" when their element of the field is ready to go. As scorekeeper, the only thumb that matters to you is the FTA, who will in turn check on everyone else.

When the FTA's thumb goes up, the game announcer will start a countdown. When this countdown starts, hit "MATCH PLAY", but keep your eyes on the FTA. If the FTA's thumb drops for any reason during this countdown, **immediately E-Stop the match**. After the countdown is complete and the robots are moving, the FTA is free to drop their thumb without the scorekeeper triggering an E-Stop.

COMMIT SCORES
^^^^^^^^^^^^^
After the match is over, wait for the Head Referee before hitting the COMMIT SCORES button. The Head Referee will let you know when the scores are ready. This button commits the scores into the database, updates team rankings, and if configured will update TheBlueAlliance.

.. note::
The COMMIT SCORES button won't update the Audience Display, as you may want to wait for the Game Announcer.

SHOW SCORES
^^^^^^^^^^^
The SHOW SCORES button will display the most recent scores on the Audience Display.

Manage Scoring
****************
From time to time, you may be instructed by the Head Referee to amend a score from a previous match, or to edit the live scores prior to committing the scores. In collaboration with the Head Referee, you can do this by clicking on the "Edit Scores" tile on the home page.

.. image:: imgs/edit-scores.png

From this page, you can modify all elements of the scores for both the Live scores (the current, uncommitted match) or historical scores from committed matches. All changes are tracked, meaning you can also view any previous editions of the scores.

The total score and ranking points are calculated for you, but can be overridden using the overrides and adjustments at the bottom of each alliance's score window.

Any applied changes will automatically recalculate the rankings and push the changes to TheBlueAlliance if configured.
4 changes: 4 additions & 0 deletions _sources/prolog.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. |estop| image:: /imgs/e-stop.png
:height: 1.5em
:alt: E-Stop
:align: top
Loading

0 comments on commit 2c41fce

Please sign in to comment.