code: func (r *Adaptor) PWMPin(pin string) (raspiPWMPin sysfs.PWMPinner, err error) {
  	i, err := r.translatePin(pin)
  	if err != nil {
  		return
  	}
  
  	r.mutex.Lock()
  	defer r.mutex.Unlock()
  
  	if r.pwmPins[i] == nil {
  		r.pwmPins[i] = NewPWMPin(strconv.Itoa(i))
  		r.pwmPins[i].SetPeriod(r.PiBlasterPeriod)
  	}
  
  	return r.pwmPins[i], nil
  }
docs: // PWMPin returns a raspi.PWMPin which provides the sysfs.PWMPinner interface