Some movement functions won't work until the previous ones have completed. For example, after initialization, it takes an unknown amount of time before it's possible to reset the position and turn backwards. Adding a queue and checking if the commands worked would make this easy.
Also, it would allow for multiple functions to handle the data received after one command. For example, one function could handle the status data while the other could handle the position data, which are both sent at the same time.
Some movement functions won't work until the previous ones have completed. For example, after initialization, it takes an unknown amount of time before it's possible to reset the position and turn backwards. Adding a queue and checking if the commands worked would make this easy.
Also, it would allow for multiple functions to handle the data received after one command. For example, one function could handle the status data while the other could handle the position data, which are both sent at the same time.