What is the default value of speed? Is it in fact 0 or 1023? It seems that we should add the "do not set to zero" logic to the service callback, rather than this function -- especially since people might be using wheel mode with this library code, and this change will make them unable to stop.