code: def scale_rc(self, servo, min, max, param):
          '''scale a PWM value'''
          # default to servo range of 1000 to 2000
          min_pwm  = self.get_mav_param('%s_MIN'  % param, 0)
          max_pwm  = self.get_mav_param('%s_MAX'  % param, 0)
          if min_pwm == 0 or max_pwm == 0:
              return 0
          if max_pwm == min_pwm:
              p = 0.0
          else:
              p = (servo-min_pwm) / float(max_pwm-min_pwm)
          v = min + p*(max-min)
          if v < min:
              v = min
          if v > max:
              v = max
          return f scale_rc(self, servo, min, max, param):
          '''scale a PWM value'''
          # default to servo range of 1000 to 2000
          min_pwm  = self.get_mav_param('%s_MIN'  % param, 0)
          max_pwm  = self.get_mav_param('%s_MAX'  % param, 0)
          if min_pwm == 0 or max_pwm == 0:
              return 0
          if max_pwm == min_pwm:
              p = 0.0
          else:
              p = (servo-min_pwm) / float(max_pwm-min_pwm)
          v = min + p*(max-min)
          if v < min:
              v = min
          if v > max:
              v = max
          return v
docs: scale a PWM value