I’m looking to begin programming odometry for my team this year. I’ve done a fair bit of research, found the 2552A odometry guide and read through it, and generally have some grasp of what the system does. I’ve seen people largely programming odometry in Vexcode Pro, is there any disadvantage to programming it in blocks? I would assume it is done mostly in Pro because the innate difficulty of odometry requires skill that more Pro users have, though I’d like to make sure I’m taking the best path before attempting to start programming.
You can make anything you can make with text in blocks, but I wouldn’t recommend it. As blocks is made for learning programming concepts, it is good with basic stuff, but starts becoming very cumbersome and can even be harder to use then text when you get to more advanced concepts. If you want to move on to more advanced algorithms like odometry and different motion algorithms, I’d highly recommend learning a text-based programming language.
Can odometry be done in Blocks? Yes.
Should odometry be done in Blocks? No.
I’ll get some grief for this, but once a Blocks programmer understands control flows (simple loops and simple conditional statements), it’s time to put the “graphical programming language training wheels aside” and move to a text-based programming environment.
Programming does 2 things:
- Tells the computer what to do
- Tells the programmer what the intended behavior is
Blocks programming makes it much more difficult for humans to understand all but the most simple programs. I have yet to see a non-trivial blocks program that is not a hot mess of spaghetti. If you think you are ready for odometry (and threads) move away from Blocks as quickly as possible.
There is no block for exponents, so some complex equations are impossible in blocks. A text language like C++ or Python would be better after learning the basic programming concepts.