(Proceed with caution: janky code ahead)
Hey everyone! My name is William from team 663B, and I have recently graduated. As such, I wanted to share with you all my pet project for the past few years: the program that I used during Change Up. I present to you: Project Cerebellum, a semi-intuitive graphical settings editor for the VEX V5 Brain. Let’s review some of the features:
- A motor configuration menu where you can alter:
- Motor ports
- Motor types
- Motor reversals
- A sensor configuration menu where you can alter:
- Sensor ports
- Sensor types
- A controller configuration menu where you can alter:
- What button the configuration is assigned to
- What type of motors the configuration moves
- What voltage the button moves the motor at (including reversed voltages)
- A drive model configuration menu where you can select whether you want your drive model to be Tank, Arcade (Left), Arcade (Right), or Split-Arcade.
- A complex autonomous editor, that allows the user to select a pre-defined autonomous, or create their own using an on-screen representation of the field.
- 15 custom autonomous slots
- Reads text from the standard input (PROS terminal) as an alternative to using the on-screen keyboard for text areas.
Now, I’m going to be candid with all of you. This program works, but is VERY janky. Editing it was a nightmare, and when I started this project, I didn’t even know how to use a
The program saves any changed data by reading from and writing to an ini file on the MicroSD Card. Without a MicroSD Card, any changes made will not be saved the next time the program is ran.
To set the program up, all you need is to build it and insert a MicroSD card into the V5 Brain.
Once ran, create a new motor in the motor menu and open the configuration. Set the port and the motor type using the menu in the upper right (something other than Left Drive, Right Drive, or Sorter. You can also define your own motor types by editing the
motor_type_list vector in globals.cpp). Then, open the button mapping configuration, and create a new button. Set the button you want to use, and go to the next page. Set the controller type using the drop-down menu to be the same as the motor you defined earlier.
Finally, set what voltage you want to the motor to run at on the final screen (-12000 to 12000).
Pressing the button you set earlier should cause the motor to move.
- Toggle-able button configurations
- Proportional-loop motor controls
- Pathfinder support
- Tipping-Point Configurations (Change Up only)
Adding a controller button in the button mapping menu crashes the program unless a motor has already been defined.
- Workaround: Define a motor beforehand.
Having more left drive motors than right drive motors causes the program to crash the next time it is ran.
- Workaround: Define the same number of left drive and right drive motors before rebooting the program.