             (str "The value " val " is not an acceptable value for pins of type " (current-pin-mode board pin-n)))
     (swap! pin-state pin-n val)))
 
+;; Now we'll flesh out some of the various reading/writing functions
 
 (defmethod read-pin* :input
   [board pin-n]

                   (< (Math/pow 2 (get-bits board pin-n)))))
    false))

(defn sim-board
  [config]
  (SimBoard.

             [protocols :as pcp]
             [implementation :as impl]]
            [clojure.core.async :as async :refer [chan >!! <!! go <! >! go-loop]]))


;; This stuff really needs to be part of the core library

(def full-available-modes
  #{:input :output :input-rising :input-falling :input-both :ain :aout :pwm})
