The setpoints have different modes that change how the PID loops interprets the data.
### Absolute position control
If `setpoint.mode.xyz` is set to `modeAbs` the controller will use values given by `setpoint.position.xyz`.
### Velocity control
If `setpoint.mode.xyz` is set to `modeVelocity` the controller will use values given by `setpoint.velocity.xyz`
In both above cases the `setpoint.mode.``roll``pitch` and `yaw` are set to `modeDisable` and attitude is calculated from the position or velocity controller.
### Attitude only control
If however only attitude should be controlled (like when manually flying the Crazyflie through the ground station) **all position modes are set to `modeDisable`**