mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
User code: - OpModeRobot used as the robot base class - LinearOpMode and PeriodicOpMode are provided opmode base classes - In Java, annotations can be used to automatically register opmode classes Additional user code functionality: - OpMode (string) is available in addition to the overall auto/teleop/test robot mode - OpMode does not indicate enable (enable/disable is still separate) - The HAL API uses integer UIDs; these are exposed at the user API level as well for faster checks - User code creates opmodes on startup (these have name, category, description, etc). DS: - DS will present opmode selection lists for auto and teleop for match/practice. During a match, the DS will automatically activate the selected opmode in the corresponding match period. - For testing, an overall mode is selected (e.g. teleop/auto/test) and a single opmode is selected Future work: - Command framework support/integration - Python annotation support - Unit tests (needs race-free DS sim updates) - Porting of examples Co-authored-by: Joseph Eng <91924258+KangarooKoala@users.noreply.github.com>
68 lines
2.0 KiB
Groovy
68 lines
2.0 KiB
Groovy
if (project.hasProperty('onlylinuxathena') || project.hasProperty('onlylinuxsystemcore')) {
|
|
return;
|
|
}
|
|
|
|
description = "WebSocket Server Extension"
|
|
|
|
ext {
|
|
includeWpiutil = true
|
|
pluginName = 'halsim_ws_server'
|
|
}
|
|
|
|
apply plugin: 'google-test-test-suite'
|
|
|
|
|
|
ext {
|
|
staticGtestConfigs = [:]
|
|
}
|
|
|
|
staticGtestConfigs["${pluginName}Test"] = []
|
|
apply from: "${rootDir}/shared/googletest.gradle"
|
|
|
|
apply from: "${rootDir}/shared/plugins/setupBuild.gradle"
|
|
|
|
model {
|
|
testSuites {
|
|
"${pluginName}Test"(GoogleTestTestSuiteSpec) {
|
|
for(NativeComponentSpec c : $.components) {
|
|
if (c.name == pluginName) {
|
|
testing c
|
|
break
|
|
}
|
|
}
|
|
sources.cpp {
|
|
source {
|
|
srcDirs 'src/test/native/cpp'
|
|
include '**/*.cpp'
|
|
}
|
|
exportedHeaders {
|
|
srcDirs 'src/test/native/include', 'src/main/native/cpp'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
binaries {
|
|
all {
|
|
if (it.targetPlatform.name == nativeUtils.wpi.platforms.systemcore) {
|
|
it.buildable = false
|
|
return
|
|
}
|
|
|
|
project(':hal').addHalDependency(it, 'shared')
|
|
project(':ntcore').addNtcoreDependency(it, 'shared')
|
|
lib project: ':wpinet', library: 'wpinet', linkage: 'shared'
|
|
lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared'
|
|
lib project: ":simulation:halsim_ws_core", library: "halsim_ws_core", linkage: "static"
|
|
}
|
|
|
|
withType(GoogleTestTestSuiteBinarySpec) {
|
|
project(':hal').addHalDependency(it, 'shared')
|
|
project(':ntcore').addNtcoreDependency(it, 'shared')
|
|
lib project: ':wpinet', library: 'wpinet', linkage: 'shared'
|
|
lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared'
|
|
lib library: pluginName, linkage: 'shared'
|
|
}
|
|
}
|
|
}
|