Easily use I2C from your clojure program.
On linux, I2C buses are available at '/dev/i2c-N' as char devices where 'N' is the bus number. This clojure library allows the user to talk to slave device using such a bus.
Read the API.
All functions are specified using clojure.spec.
In short, without error checking :
(require '[dvlopt.i2c :as i2c]) ;; Open the needed bus. (def bus (::i2c/bus (i2c/open "/dev/i2c-1"))) ;; Select slave 0x76. (i2c/select-slave bus 0x76) ;; Write byte 0xa2 to register 0x55. (i2c/write-byte bus 0x55 0xa2) ;; Read 8 bytes into a byte array. (def ba (byte-array 8)) (i2c/read-bytes bus ba) ;; Do not forget the close the bus when done. (i2c/close bus)
Copyright © 2017-2018 Adam Helinski
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.