OxConfig- A new streamlined tuning/mode switching system: Entering Beta Testing!

OxConfig

If you’ve never heard of OxConfig, here’s a helpful slideshow to explain the what, why, and hows of it.

Here’s the gist: OxConfig allows for parameters and classes to be saved to a YAML file and edited super easily using our fork of AdvantageScope. It allows for values to be changed and saved immediately, without rebooting or even disabling the robot. If you’re curious, I highly recommend skimming through the slideshow.

Here are some screenshots of the GUI for tuning and editing the config:


Before I continue, I’d like to extend a huge thanks to Jonah from team 6328 Mechanical advantage for helping me develop my fork of AdvantageScope.

Alright, now to the fun part. Beta testing!
But first, the mandatory disclaimer: OxConfig is NOT competition ready! It has not been profiled or extensively tested and could lead to crashes or performance issues in it’s current state. Use at your own risk. The goal of beta testing is to find bugs and issues, and squash them, so that it can become competition ready.
Still interested in trying it out? Here’s how it works:

OxConfig itself is a maven/gradle package hosted on github packages. There is installation instructions on the github page as well as a full wiki.

AdvantageScope-3044 is a drop-in replacement for AdvantageScope, adding our two new tabs for tuning with OxConfig. More info about these tabs is in the slideshow.

Have any suggestions, questions, feature requests, or bug reports, or just want to talk? Come join us on our Discord! Feel free to send me a message on chiefdelphi if you would rather.

4 Likes

First minor update - adding a few new features.

Update the OxConfig package by changing your build.gradle:
implementation 'me.nabdev.oxconfig:oxconfig-wpi:0.0.9'
replaced with
implementation 'me.nabdev.oxconfig:oxconfig-wpi:0.0.10'

Download the new AdvantageScope-3044 at the release page

OxConfig Changelog - v0.0.10

  • Added support for floats (in addition to doubles which were already supported)
  • Added OxConfig.setModeList(modes...) for specifying custom modes in case you want different ones than the ones shipped with OxConfig

AdvantageScope-3044 Changelog - v2.3.1-oxconfig

  • Added support for floats (in addition to doubles which were already supported)
  • Allow user resizing columns in the Config Editor for smaller screens and/or longer mode names

Quick change to the OxConfig Package:

Update the OxConfig package by changing your build.gradle:
implementation 'me.nabdev.oxconfig:oxconfig-wpi:0.0.10'
replaced with
implementation 'me.nabdev.oxconfig:oxconfig-wpi:0.0.11'

OxConfig Changelog - v0.0.11

  • Require no commas in mode names

OxConfig v1.0.0 Progress Update

Just a little progress update here, I’m almost done with OxConfig’s performance upgrade. I finally got my hands on a Rio to do some real world testing, and while I’m not claiming it’s fully stable yet it is in a much more usable state now than it was at release. Here’s some new features/enhancements coming soon:

  • Multithreading, so that your robot code always comes before OxConfig
  • New logging and profiling features to help troubleshoot
  • No longer have to call the networktable interface manually
  • Ability to “Lock” editing, allowing you to disable the networktable interface and/or editing via file. This allows people who aren’t using the NT interface to edit to have less overhead from OxConfig and allows OxConfig to stay out of the way during competition
  • Various performance enhancements
  • Bug fixes

A detailed changelog will be released when it actually comes out, so stay tuned! (no pun intended)

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.