 
 (defn open-channel-port
   "Opens a port which can be used for listening to value changes.  In addition to the
-  options map for a basic port, the following are available:
+  options map for [[open-port]], the following are available:
   * :event-buffer-size - the size of the change events buffer.  Defaults to 1
   * :timeout - sets a timeout for the OS polling wait time.  Defaults to -1, which waits indefinitely
   * :edge - sets the edge value- :rising, :falling, or :both"

      gpio-port
      (catch Exception e
        (close! gpio-port)
        (throw e)))

))

(defn- tap-and-wrap-chan [mult-ch out-ch]
  (a/tap mult-ch out-ch)

      GpioChannelProvider

      (set-edge! [_ setting]
        (do-set-edge! port setting))

      (create-edge-channel [_] (tap-and-wrap-chan mult-ch (create-channel)))

      Closeable
      (close! [_]
        (a/close! write-ch)
        (a/close! read-ch)
        (.close poller)
        (close! gpio-port)))))
