After losing many rounds of auton due to not having a unified auton selector system, I took it upon myself to create an auton selector that is user-friendly.
**Introducing ACCESS_OS: a GUI operating system (OS) that runs on the V5 Controller’s screen that allows users to modify the robot’s auton + preset options. **
Disclaimer: this isn’t really an OS, but it could be, if someone modifies it
HOW IT WORKS:
Program starts
While not connected to the competition switch, users can use the arrow keys to modify auton row (front or back), auton color (red or blue). It also lets drivers to pick their driving mode (Tank or RC). Pressing the A button will set the configuration.
After exiting the selection menu, users are presented with the status GUI, a page that displays useful information about the options selected and current robot status (disabled, auton mode, driver mode, etc.)
Everything else follows the normal procedures.
FOR DRIVERS:
WARNING: MAKE SURE YOU’RE NOT CONNECTED TO THE COMPETITION SWITCH WHEN YOU ARE TRYING TO CHANGE OPTIONS! IF THE SWITCH IS DISABLING YOUR ROBOT, YOU CAN’T MAKE ANY CHANGES!
Move the cursor with the up/down arrow buttons and change options with the left/right buttons.
Press A to comfirm and exit the configuation page.
Status GUI is just FYI, use it for brief checks on the robot’s status.
FOR PROGRAMMERS:
WARNING: YOU WILL NEED TO MERGE YOUR AUTONS CONTROLS INTO THE PRESET FUNCTIONS FOR ACCESS_OS TO WORK!
Create blue autons for autonFrontRow and autonBackRow. Use autonTurnTile when programming blue auton, it will automatically swap your left/right for red.
Put drive modes into tankDrive and RCDrive respectively. The driver will select the prefered mode during pre_auton.
If you want to print out some text, use GUI_printMSG() as replacement for the Controller.Screen.print() function. Currently you can only print up to 15 characters, future releases will include scrolling.
BUGS:
When the competition switch changes from driver/disabled to auton, the options page might not refresh to reflect changes until the user presses A.
There’s a delay in clearing the screen. Probably have to use built-in Screen.clearScreen() and Screen.clearLine().
??? (Please comment if you find some more bugs!)
FUTURE FEATURES:
Text scrolling to pass the 15 char limit.
Better code optimization.
Make GUI_clearScreen and GUI_clearLine run faster.
Here’s an video of an working older version. Unfortunately, I can’t upload the video as-is, so it’s compressed into a zip file. ACCESS_OS_v0.6.zip (5.42 MB)
Nice work. I like how it uses the screen on the controller/joystick for feedback to the driver. I would think that in competition that makes a difference as it puts the info on the status of the robot right at the user, so they know if everything is ok.
Agreed. Which is why I created this in the first place. It’s hard already that the robot isn’t always going to work in auton, but having no status on what the robot is doing makes it worse.
Ok, I’m going to sound like a nicen’t human being or this, but can people stop releasing their Auto selectors? Just about everyone already has either written their own solution to autonomous selection that they are already comfortable with, or doesn’t care enough to want it. There are already so many public programs with auto selectors. I don’t see a point in more people releasing more selectors. That being said, this one does stand out, since it has controller support rather than just v5 screen support.
This was posted on December 18. I have only seen three topics that had menu’s with their code since the existence of V5. To be honest, I like that people release their code because it allows other users to access and customize it for themselves.
@DrewWHOOP I agree that others had tried and made better auton selectors than me. ACCESS_OS was create due to other auton selectors not having everything controlled on the controller + with status updates (there may have been newer programs that does that I may have missed)
We did add update to the controller, this way one person would configure the robot on the brain, while the second would verify settings - it does happen that a team will pick Red when they are starting on Blue. Happens in real life when plane lands in wrong country.
When I post the VEX Code version, it should be modular enough to drop in new features while not making it spiral out of control for novice teams to use.
NEW update [v1.1.0]: Now ACCESS_OS is a class that you can put into your own code!
NOTE: Documentation is still not complete, but hopefully it is commented and clear enough for programmers to understand what it does.