# General

- [Stall Detection](/software/general/stall-detection.md): Stall detection aims to prevent VEX Motors from overheating or tripping a Resettable Fuse by detecting high-current stall conditions in software.
- [Register Programming](/software/general/register-programming.md)
- [Sensors and Odometry in Autonomous](/software/general/sensors-and-odometry-in-autonomous.md): You can't really have good software without sensors, and the quality of the readings from your sensors is often the determining factor in having competitive code.
- [Embedded Programming Tips](/software/general/embedded-programming-tips.md)
- [Debugging](/software/general/debugging.md)
- [Bit Shift](/software/general/bit-shift.md): A bit shift is an operation which moves the bits in the binary representation of a number a specified number of locations left or right.
- [Bit Mask](/software/general/bit-mask.md): A bit mask is an operation which selects certain bits to be manipulated (or not manipulated) from a binary number.
- [Autoformatting](/software/general/autoformatting.md): Autoformating C/C++ code can be done with clang-format. The appropriate files to use this are below:
- [Finite State Machine](/software/general/finite-state-machine.md): A finite state machine, typically abbreviated simply as a "state machine", is a simple system to implement more intelligent scripted control to robot programs, particularly in autonomous code.
- [Data Logging](/software/general/data-logging.md)
