Skip to content

Commit

Permalink
Docs & Repo Improvements (#27)
Browse files Browse the repository at this point in the history
Documentation & Repository Improvements
  • Loading branch information
unwieldycat authored Jun 24, 2024
2 parents 76c8f16 + b1ab2a0 commit 72a8eba
Show file tree
Hide file tree
Showing 8 changed files with 137 additions and 34 deletions.
26 changes: 26 additions & 0 deletions .github/workflows/depot.yml
Original file line number Diff line number Diff line change
@@ -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
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,7 @@ compile_commands.json
temp.log
temp.errors
*.ini
.d/
.d/

docs-output/
.DS_Store
6 changes: 0 additions & 6 deletions .prettierrc

This file was deleted.

40 changes: 37 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -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

<details>
<summary>Console Tool</summary>

![The robodash image display](./docs/assets/console.png)

</details>

<details>
<summary>Image Tool</summary>

![The robodash image display](./docs/assets/image.png)

</details>

<details>
<summary>Autonomous Selector Tool</summary>

![The robodash selector](./docs/assets/selector.png)

</details>

<details>
<summary>View Selector</summary>

![The robodash view switcher](./docs/assets/view_selector.png)

</details>
1 change: 0 additions & 1 deletion build-docs.sh

This file was deleted.

8 changes: 4 additions & 4 deletions docs/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
35 changes: 35 additions & 0 deletions docs/pages/home.md
Original file line number Diff line number Diff line change
@@ -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.

<div class="section_buttons">

| Previous | Next |
|:---------|------------------------------:|
| | [Installing](@ref installing) |

</div>
50 changes: 31 additions & 19 deletions docs/pages/installing.md
Original file line number Diff line number Diff line change
@@ -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"
```

<div class="section_buttons">

| Previous | Next |
|:---------|--------------------:|
| | [Usage](@ref usage) |
| Previous | Next |
|:------------------|--------------------:|
| [Home](@ref index) | [Usage](@ref usage) |

</div>

0 comments on commit 72a8eba

Please sign in to comment.