Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/jamiesinn/csa-usb-tool

Tool to download all files in a given FIRST season needed to support teams.
https://github.com/jamiesinn/csa-usb-tool

control-systems-advisors first-frc first-robotics-competition first-technical-advisors

Last synced: 6 days ago
JSON representation

Tool to download all files in a given FIRST season needed to support teams.

Awesome Lists containing this project

README

        

# CSA-USB-Tool

This tool downloads all the installers/packages for a given FRC season. CSA's commonly need these on hand in a USB to help
teams update to the latest version or to diagnose issues.

## Breaking changes incoming! (CSA USB Tool v2)

There is currently a very heavy rewrite being done in the background as I have time to do it.
Goals of this rewrite are as follows:

- Multi-platform support
- Specifically support for OSX/Linux via a Command Line interface
- Windows included for CLI
- Move off of WinForms
- It sucks.
- Migration to a better format/organization of the software available per season
- Unknown whether this will still be a CSV, or if it'll be a different format like JSON.
- This would also enable better support for external tools wanting to make use of the updated lists
- Provide better crash/bug reporting/logging and metrics (opt-out)
- This is done via DevCycle (my work) - with anonymous data/metrics recording of what software is downloaded and when to provide better understanding of when the tool is used.
- Provide a proper installer for Windows
- This would allow you to update the tool year to year without re-downloading it and just checking for an update (Windows only unfortunately).
- Signed Windows binaries
- Code-signed binary to prevent smartscreen warnings.
- FTA specific tooling
- TBD

These changes are expected to be a breaking change - where the old season file lists will be converted; but no new versions will be added to the "Years.txt" requiring an update to the base binary.

## Download/Usage

Download the release zip file from the GitHub releases on the right hand side ->

There is a C# GUI available as a github release (recommended), or you can use the `pyusbtool.py` python script. The Python script is not packaged with the release; but you can download it standalone from the repo.

Example usage of the python script on unix based systems:

```console
$ ./pyusbtool.py FRCSoftware.csv /path/to/drive/ --download
```

### PreRequisites
- .NET 6 Runtime