diff options
| -rw-r--r-- | README.md | 17 | ||||
| -rw-r--r-- | ina260.c | 4 |
2 files changed, 16 insertions, 5 deletions
@@ -1,12 +1,23 @@ # INA260-sysfs-driver +Link to the [ina260 datasheet](https://www.ti.com/lit/gpn/INA260). + ## Installation $ make $ sudo insmod ina260.ko -## Usage +## 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 +- 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) -- Add device: `echo ina260 <devaddr> > /sys/bus/i2c/devices/<busid>/new_device` +For more informations on the registers/fields, please refer to the [ina260 datasheet](https://www.ti.com/lit/gpn/INA260). -- Next, run: `tree /sys/kernel/ina260`
\ No newline at end of file +## 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.
\ No newline at end of file @@ -371,9 +371,9 @@ static const struct attribute_group registers_group = { }; // ----- Metrics ----- static struct kobj_attribute metric_power_attribute = - __ATTR(power, 0664, attr_metric_show, NULL); + __ATTR(power, 0444, attr_metric_show, NULL); static struct kobj_attribute metric_voltage_attribute = - __ATTR(voltage, 0664, attr_metric_show, NULL); + __ATTR(voltage, 0444, attr_metric_show, NULL); static struct kobj_attribute metric_current_attribute = { .attr = {.name = "current", // current is a defined macro so need to do it manually .mode = VERIFY_OCTAL_PERMISSIONS(0444) }, |
