diff --git a/.github/workflows/depot.yml b/.github/workflows/depot.yml new file mode 100644 index 0000000..2e0a795 --- /dev/null +++ b/.github/workflows/depot.yml @@ -0,0 +1,26 @@ +name: Populate Depot json + +on: + # runs when this repository's releases are modified + release: + # allows for manual dispatching of the workflow + workflow_dispatch: + +jobs: + populate: + runs-on: ubuntu-latest + permissions: + # permits reading of releases and writing to the depot branch + contents: write + steps: + # where to find gh action and what version to use + - uses: LemLib/pros-depot@v0.1.0-beta.1 + with: + # gives the github action the permissions specified above + token: ${{ github.token }} + # target repo for depots + repo: unwieldycat/robodash + # where to read releases from (can be omitted if repo is also the repo from which to read releases from, but it doesn't sem to be working at the moment) + source-repo: unwieldycat/robodash + # makes the json output human readable + readable-json: true diff --git a/.gitignore b/.gitignore index 837ce65..ba1d54c 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,7 @@ compile_commands.json temp.log temp.errors *.ini -.d/ \ No newline at end of file +.d/ + +docs-output/ +.DS_Store \ No newline at end of file diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index cb427c4..0000000 --- a/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "endOfLine": "lf", - "printWidth": 80, - "useTabs": true, - "proseWrap": "always" -} \ No newline at end of file diff --git a/README.md b/README.md index 33904d5..75a648d 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,43 @@ # robodash -Robodash is a GUI toolkit for the VEX V5 brain intended to provide tools that -take full advantage of the V5 brain's LCD display, as well as provide a -foundation to improve compatibility with templates that provide LVGL-powered +![Latest Release](https://img.shields.io/github/v/release/unwieldycat/robodash) +![License](https://img.shields.io/github/license/unwieldycat/robodash) +![Stars](https://img.shields.io/github/stars/unwieldycat/robodash) + +Robodash is a GUI toolkit for the VEX V5 brain that provides GUI tools that +take better advantage of the brain's LCD display and a +system to improve compatibility with templates that provide LVGL-powered GUIs. Get started with robodash by reading [the docs](https://unwieldycat.github.io/robodash/). + +### Screenshots + +
+Console Tool + +![The robodash image display](./docs/assets/console.png) + +
+ +
+Image Tool + +![The robodash image display](./docs/assets/image.png) + +
+ +
+Autonomous Selector Tool + +![The robodash selector](./docs/assets/selector.png) + +
+ +
+View Selector + +![The robodash view switcher](./docs/assets/view_selector.png) + +
diff --git a/build-docs.sh b/build-docs.sh deleted file mode 100755 index 04de80a..0000000 --- a/build-docs.sh +++ /dev/null @@ -1 +0,0 @@ -doxygen ./docs/Doxyfile \ No newline at end of file diff --git a/docs/Doxyfile b/docs/Doxyfile index b072028..2363ab9 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = Robodash # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2.2.0 +PROJECT_NUMBER = 2.1.1 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -944,11 +944,11 @@ WARN_LOGFILE = # Note: If this tag is empty the current directory is searched. INPUT = include/robodash/ \ + docs/pages/home.md \ docs/pages/installing.md \ docs/pages/usage.md \ docs/pages/ui.md \ - docs/pages/ \ - README.md + docs/pages/ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses @@ -1163,7 +1163,7 @@ FILTER_SOURCE_PATTERNS = # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. -USE_MDFILE_AS_MAINPAGE = README.md +USE_MDFILE_AS_MAINPAGE = docs/pages/installing.md # The Fortran standard specifies that for fixed formatted Fortran code all # characters from position 72 are to be considered as comment. A common diff --git a/docs/pages/home.md b/docs/pages/home.md new file mode 100644 index 0000000..8ba3646 --- /dev/null +++ b/docs/pages/home.md @@ -0,0 +1,35 @@ +@mainpage + +### Welcome to the Robodash docs! + +Robodash is a GUI toolkit for PROS 4 that provides a suite of easy to use GUI +utilities and an API for interoperable LVGL-based user interfaces. + +To get started, visit the @ref installing page. + +### Why? + +Robodash was created to solve a problem with the V5 LCD -- it is incredibly +underutilized. There are two parts to this issue: ease of use and sharing. + +For one, most people opt to use the legacy LCD emulator since it is the easiest +and fastest way to utilize the V5 screen. While an alright solution, the V5 LCD +isnt completely taken advantage of in this scenario and additional code is +required to display other information like a graph or images. + +Secondly, the V5 screen cannot be easily shared by multiple pieces of code. If a +template wants to provide a GUI widget, this may interfere with a user's +autonomous selector or another template's GUI with no way to switch between +them. + +Robodash aims to solve these two issues by providing a set of easy to use GUI +utilities for users, and an API for template developers to create LVGL GUIS that +work in harmony with each other. + +
+ +| Previous | Next | +|:---------|------------------------------:| +| | [Installing](@ref installing) | + +
diff --git a/docs/pages/installing.md b/docs/pages/installing.md index 598fd6e..da6ead3 100644 --- a/docs/pages/installing.md +++ b/docs/pages/installing.md @@ -1,36 +1,48 @@ @page installing Installation +@note If you only have the PROS VSCode extension installed, you must run +commands in the PROS "Integrated Terminal", not your system terminal. + ## Prerequisites -- An installation of the PROS CLI or VSCode extension. +Before you install robodash you must have the following: + +- An installation of the PROS CLI or VSCode extension + +- A PROS 4 project + +- [liblvgl 8](https://github.com/purduesigbots/liblvgl) added to your project + +## Add the depot + +Before adding robodash to your project, you'll need to register the depot with the PROS CLI. A depot is a remote file that informs the PROS CLI of templates that exist and where they can be installed from. You can run the command below to add the depot. -- A PROS 4 project. Robodash does not support PROS 3 due to the bundled LVGL - version. +``` +pros c add-depot robodash https://raw.githubusercontent.com/unwieldycat/robodash/depot/stable.json +``` -- [liblvgl 8](https://github.com/purduesigbots/liblvgl). LVGL 5.3 is not - supported. +### Or don't -## Installing the template +Alternatively, you can download and register an individual version of robodash by downloading it from the releases tab on the GitHub page and registering it with `pros c fetch robodash@x.x.x.zip`. This is not recommended since you will have to manually repeat this step as robodash updates. -@note If you only have the PROS VSCode extension installed, you must run the -commands below in the Integrated Terminal. +## Apply to project -1. Download the latest template from the - [releases tab](https://github.com/unwieldycat/robodash/releases) on GitHub +Now let's add robodash to a project. Open the project you wish to use the robodash in and run the command below to apply it to your project. -2. Open the download location and fetch the template with - `pros c fetch robodash@x.x.x.zip`. This registers the template with PROS - Conductor, the PROS project management tools. +``` +pros c apply robodash +``` -3. Open the project you wish to use the library in and install the template with - `pros c apply robodash@x.x.x`. +You can now add the following to your project's `main.h` file to use robodash. -4. `#include "robodash/api.hpp"` in your project's `main.h` file +```cpp +#include "robodash/api.hpp" +```
-| Previous | Next | -|:---------|--------------------:| -| | [Usage](@ref usage) | +| Previous | Next | +|:------------------|--------------------:| +| [Home](@ref index) | [Usage](@ref usage) |