diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2023-08-11 12:44:50 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2023-08-11 12:44:50 +0200 |
| commit | 63656e1bd899ac1f5705d041349e8e459ee645a7 (patch) | |
| tree | 8bdd5a40e4fb7f2b1e7e06ff2092a700014a117e | |
| parent | d43c92e2a1abc64e86c59529ec02d3eb394ccf4d (diff) | |
Change permissions and update README
| -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) }, |
