Brushless motor algorithm