The Linux kernel provides a standard interface for performing I2C operations.
This library exposes this interface in a clojure idiomatic way.
Each IO operation might throw if something fails.
Essentially, IO can be performed by directly reading and writing arbitrary bytes, doing transactions (uninterrupted sequence of messages) and using standard SMBus operations.
Not everything is supported by your driver, refer to [[]]. Furthermore, slave devices are often buggy and imperfect.
The Linux kernel provides a standard interface for performing I2C operations. This library exposes this interface in a clojure idiomatic way. Each IO operation might throw if something fails. Essentially, IO can be performed by directly reading and writing arbitrary bytes, doing transactions (uninterrupted sequence of messages) and using standard SMBus operations. Not everything is supported by your driver, refer to [[]]. Furthermore, slave devices are often buggy and imperfect.
The SMBus protocol is more or less a subset of I2C. Quite often, SMBus operations can be carried out on an I2C bus. In consequence, the Linux kernel provides SMBus operation defined in the standard.
Those operations performs common interactions. Single byte can be exchanged, as well as words (2 bytes) and blocks (at most 32 bytes at a time). The term "command" refers to what is also called a "register".
Not every operation is supported by your driver and supported ones might fail with some inadapted slaves.
The SMBus protocol is more or less a subset of I2C. Quite often, SMBus operations can be carried out on an I2C bus. In consequence, the Linux kernel provides SMBus operation defined in the standard. Those operations performs common interactions. Single byte can be exchanged, as well as words (2 bytes) and blocks (at most 32 bytes at a time). The term "command" refers to what is also called a "register". Not every operation is supported by your driver and supported ones might fail with some inadapted slaves.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close