 
 (defmethod format-raw-digital :char
   [_ raw-value]
-  raw-value)
+  (first raw-value))
 
 (defmethod format-raw-digital :default
   [_ raw-value]
-  raw-value)
+  (first raw-value))
 
 (defprotocol Closeable
   (close! [self] "Closes this object"))

        formatter (or from-raw-fn
                      (partial format-raw-digital digital-result-format))
        filename (value-file port)
        raf (random-access filename)
        gpio-port (BasicGpioPort. port filename raf formatter)]
    (try
      (when direction (set-direction! gpio-port direction))
      (when active-low? (set-active-low! gpio-port active-low?))
      (when initial-value (write-value! gpio-port initial-value))
      gpio-port
      (catch Exception e
        (close! gpio-port)
        (throw e)))))


(defn high-low-value [value]
  {:pre [(not (nil? (#{:high :low 1 0 'high 'low true false "1" "0" \1 \0} value)))]}
  (char (condp = value
          :high \1
          1     \1
          'high \1
