# INA260 Linux Drivers This project provides two drivers: 1) `ina260.c` that is compatible with [hwmon](https://docs.kernel.org/hwmon/hwmon-kernel-api.html) 2) `ina260_full.c` that provides an entire support for registers and fields of the ina260 and maximize performance over compatibility ## Installation $ make $ sudo insmod ina260.ko ## Managing INA260 devices - Add device: `echo ina260 [devaddr] > /sys/bus/i2c/devices/<bus>/new_device` - Delete device: `echo [devaddr] > /sys/bus/i2c/devices/<bus>/delete_device` ## Sysfs structure for the `ina260.c` You will mostly use the [lm-sensors](https://github.com/lm-sensors/lm-sensors) utility. Although, the ina260 registers are accessible from `/sys/class/hwmon/hwmon[0-9]+/registers/`. ## Sysfs structure for the `ina260_full.c` - Overview: `tree /sys/kernel/ina260` - You can access to each device registers in `/sys/kernel/ina260/<device>/registers/` - You can access to each device register fields in `/sys/kernel/ina260/<device>/fields/` - You can access to the currently measured current, voltage and power via `/sys/kernel/ina260/<device>/<power|current|voltage>` (units are watts, amperes and volts respectively) For more informations on the registers/fields, please refer to the [ina260 datasheet](https://www.ti.com/lit/gpn/INA260). ## Notes - Tested so far on a [Beaglebone Black](https://www.beagleboard.org/boards/beaglebone-black) with a [Mikrobus Cape](https://www.mikroe.com/beaglebone-mikrobus-cape) with up to four ina260 devices attached.