Flush the read buffer
Since the low firmware is constantly sending data add a way to empty the serial FIFO before sending a new command to avoid long waits while checking the current position. Maybe add a sync and async move functions meaning that the sync function will wait for the movement to be completed and the async function will return directly and it's up to the caller to check whether the movement is finished or not.