code: func (p *PWMPin) Export() error {
  	_, err := p.write(p.pwmExportPath(), []byte(p.pin))
  	if err != nil {
  		// If EBUSY then the pin has already been exported
  		e, ok := err.(*os.PathError)
  		if !ok || e.Err != syscall.EBUSY {
  			return err
  		}
  	}
  
  	// Pause to avoid race condition in case there is any udev rule
  	// that changes file permissions on newly exported PWMPin. This
  	// is a common circumstance when running as a non-root user.
  	time.Sleep(100 * time.Millisecond)
  
  	return nil
  }
docs: // Export writes pin to pwm export path