#
Joos + FTC Dashboard (=🔥)
The biggest change from just FTC Dashboard to Joos is changing all @Config
to @JoosConfig
. What's the difference?
- First-class Kotlin support. No more
@JvmStatic
and support for top-level properties. - Works on individual variables, so not all static variables are editable.
- Works on immutable variables.
- Supports immutable Kotlin data classes via
@Immutable
. - Supports custom config providers with
@MutableConfigProvider
and@ImmutableConfigProvider
.
Here's an example of some of the differences:
@Config
class MyOpMode : OpMode {
companion object {
@JvmStatic //You need JvmStatic
var myVariable = 1.0
//Needs to be mutable
var myPIDCoefficients = PIDCoefficients()
//id isn't editable here
var myData = MyDataClass(1)
}
data class MyDataClass(
val id: Int
)
}
@JoosConfig
class MyOpMode : OpMode {
companion object {
//No JvmStatic required!
var myVariable = 1.0
//Can be immutable!
val myPIDCoefficients = PIDCoefficients()
//id can be edited!
@Immutable
var myData = MyDataClass(1)
}
data class MyDataClass(
val id: Int
)
}
#
SuperTelemetry
Ever had issues trying to use FTC Dashboard's MultipleTelemetry
and the field overlay at the same time? SuperTelemetry
solves all
of them! It has all the functionality of MultipleTelemetry
while giving you access to its field overlay and not requiring any setup! To use it, just replace telemetry
with SuperTelemetry
in your OpModes, or just telem
if using CommandOpModes.