Starts (non-zero dutycycle) or stops (0) PWM pulses on the GPIO.
        user_gpio:= 0-31.
        dutycycle:= 0-range (range defaults to 255).
        The [*set_PWM_range*] function can change the default range of 255.
        ...
        pi.set_PWM_dutycycle(4,   0) # PWM off
        pi.set_PWM_dutycycle(4,  64) # PWM 1/4 on
        pi.set_PWM_dutycycle(4, 128) # PWM 1/2 on
        pi.set_PWM_dutycycle(4, 192) # PWM 3/4 on
        pi.set_PWM_dutycycle(4, 255) # PWM full on
        ...

def set_PWM_dutycycle(self, user_gpio, dutycycle):
        """
        Starts (non-zero dutycycle) or stops (0) PWM pulses on the GPIO.
        user_gpio:= 0-31.
        dutycycle:= 0-range (range defaults to 255).
        The [*set_PWM_range*] function can change the default range of 255.
        ...
        pi.set_PWM_dutycycle(4,   0) # PWM off
        pi.set_PWM_dutycycle(4,  64) # PWM 1/4 on
        pi.set_PWM_dutycycle(4, 128) # PWM 1/2 on
        pi.set_PWM_dutycycle(4, 192) # PWM 3/4 on
        pi.set_PWM_dutycycle(4, 255) # PWM full on
        ...
        """
        res = yield from self._pigpio_aio_command(_PI_CMD_PWM, user_gpio, int(dutycycle))
        return _u2i(res)