-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Moved about OpenRC content to main OpenRC page (also improved said content) * Added a custom 404 page (the one GitHub uses by default doesn't have a link to our homepage) * Added a page that goes into detail about the legality of both OpenRC and it's stock mode. * Added a page to document the secure Vuforia storage feature
- Loading branch information
NoahAndrews
committed
Mar 7, 2018
1 parent
1d36f23
commit 56440fa
Showing
6 changed files
with
114 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
--- | ||
permalink: /404.html | ||
--- | ||
|
||
## Unable to find the requested page | ||
|
||
This isn't a very big website, so it shouldn't be hard to find the content you're looking for. | ||
|
||
[Take me to the OpenFTC homepage](http://openftc.org) | ||
|
||
|
||
--- | ||
|
||
**404 Error** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,28 @@ | ||
# OpenRC | ||
|
||
[About OpenRC](about) | ||
[OpenRC](https://github.com/OpenFTC/OpenRC) is a modified version of the ftc_app Software Development Kit | ||
(SDK), maintained by members of the OpenFTC community. The goal of OpenRC is to improve the development | ||
experience for teams, while providing a quick-and-easy path to install a competition-legal version of the | ||
app. See our page on [competition legality](legality). | ||
|
||
In addition to the [normal version of OpenRC](https://github.com/OpenFTC/OpenRC), we also have a | ||
[Turbo version](https://github.com/OpenFTC/OpenRC-turbo). **Both** versions are significantly faster to build | ||
than the official app (as of version 3.6), but the Turbo version takes the speed improvement much further, | ||
and completely strips out the Blocks and OnBotJava features, that most Android Studio users don't use. | ||
|
||
When a new release of the official SDK comes out, both OpenRC and OpenRC-turbo will be updated to it within | ||
a week. | ||
|
||
*********************** | ||
|
||
[OpenRC legality for official competitions](legality) | ||
|
||
[Switching to OpenRC](switching) | ||
|
||
[Updating to a new version of OpenRC](updating) | ||
|
||
[Using the stock build variant](buildvariants) | ||
[Using the competition-legal stock build variant](buildvariants) | ||
|
||
[Using the secure Vuforia key storage feature](vuforia-key) | ||
|
||
[Benchmarks](benchmarks) |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Is OpenRC legal to use in competition? | ||
|
||
In a word, no. However, there is more to the story. OpenRC's build speed improvements and | ||
added features are mostly useful when you're developing your OpModes at team meetings. | ||
It's not actually even that useful when you're at a competition. | ||
|
||
### Our solution | ||
|
||
While OpenRC was originally legal for competition use, we recognized that the GDC has the | ||
power to change that, and developed a feature called [stock mode](buildvariants) that lets | ||
you build a competition-legal version of the app from within your OpenRC Android Studio | ||
project. [You can read its documentation here](buildvariants). | ||
|
||
### Why stock mode is legal | ||
|
||
Stock mode is possible because of the exact wording of | ||
[the ruling](https://ftcforum.usfirst.org/forum/i-first-i-tech-challenge-game-q-and-a-forum-this-is-a-moderated-forum/first-relic-recovery-presented-by-qualcomm-game-q-a-forum/robot-inspection-rules/answers-electrical-materials/50465-control-system-answers?p=63242#post63242), | ||
specifically, this sentence: | ||
|
||
> "An unauthorized version of the FTC SDK includes any version of the | ||
SDK that modifies or omits any of the libraries included within the Robot Controller app." | ||
|
||
In software development, the term "library" is used for software that your program uses, | ||
but that is not developed as a part of your program. Libraries are maintained separately, | ||
often by a third party. | ||
|
||
What this means for the FTC Robot Controller app is that you're free to modify any code | ||
that's provided only in the form of its source code. This would include the `TeamCode` | ||
module (obviously), the `FtcRobotController` module, and all of the Gradle files that tell | ||
Android Studio how everything goes together. | ||
|
||
What's not legal to modify is everything in the `libs` folder. This includes all of the `.aar` | ||
and `.jar` files that we used to make many of the modules in OpenRC. This is what makes the regular | ||
OpenRC mode illegal. | ||
|
||
The stock mode builds the app from the unmodified `.aar` files in the `libs` folder directly, ignoring the | ||
project modules that are based on them. Even though it's not technically required, we also disable all of | ||
our modifications to the `FtcRobotController` module when stock mode is enabled. The result is an app that's | ||
fully legal for competition use. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Securely storing your Vuforia key | ||
|
||
If you publish your source code publicly on GitHub with your | ||
Vuforia key, you're actually violating the Vuforia Developer | ||
Agreement. The solution to avoid this is to load the Vuforia | ||
key from a non-public file when the app is built. | ||
|
||
OpenRC has set up this up for you, so that you just need | ||
to set up the external file and change your Vuforia code to | ||
access the key dynamically. | ||
|
||
Note that this **WILL work on the stock build variant** as | ||
well, because we didn't need to modify any of the official | ||
libraries to make this work. | ||
|
||
1. In the TeamCode module, you'll find a file called | ||
`vuforia.template.properties`. You need to make a copy | ||
of this file in the same folder, called | ||
`vuforia.properties`. | ||
|
||
2. Open up this new copy, and paste your Vuforia key in | ||
between the quotation marks on the bottom line. It | ||
should look like `VUFORIA_KEY="VUFORIAKEYTHATLOOKSLIKEGIBBERISH"`. | ||
|
||
3. Change the line where you tell vuforia what your key is | ||
to `parameters.vuforiaLicenseKey = BuildConfig.VUFORIA_KEY`. | ||
|
||
a. If you get an error when you try to build the project, | ||
try changing the line to | ||
`parameters.vuforiaLicenseKey = org.firstinspires.teamcode.BuildConfig.VUFORIA_KEY`. | ||
You may have accidentally imported a different `BuildConfig` class. | ||
|
||
4. Copy `vuforia.properties` to the TeamCode module on any | ||
other computers that you'll be using for programming. | ||
Remember, the vuforia key won't automatically be synced | ||
between computers any more. | ||
|
||
And you're done! `vuforia.properties` is included in the | ||
`.gitignore` file, which means that Git won't try to add it | ||
to your public GitHub repository. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
## Our Projects | ||
### Our Projects | ||
|
||
[OpenRC](OpenRC) | ||
### [OpenRC](OpenRC) |