aboutsummaryrefslogtreecommitdiffstats
path: root/src/linux/analog.c
diff options
context:
space:
mode:
authorandryblack <blackicebox@gmail.com>2020-04-24 00:16:31 +0300
committerKevinOConnor <kevin@koconnor.net>2020-05-17 22:17:15 -0400
commit8fd330c54e702719301072357c3db591eb16d489 (patch)
treea4ce01b16b2f1d5df8609fa3c82557d52f365a12 /src/linux/analog.c
parentf0c394de8111ff7d498efd2e947d1d36788a9ad3 (diff)
downloadkutter-8fd330c54e702719301072357c3db591eb16d489.tar.gz
kutter-8fd330c54e702719301072357c3db591eb16d489.tar.xz
kutter-8fd330c54e702719301072357c3db591eb16d489.zip
linux: userspace GPIO control
Allow use host GPIO pins for non-realtime purposes. Signed-off-by: Andrey Kunitsyn <blackicebox@gmail.com>
Diffstat (limited to 'src/linux/analog.c')
-rw-r--r--src/linux/analog.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/linux/analog.c b/src/linux/analog.c
index 2ce085a8..aa8fb701 100644
--- a/src/linux/analog.c
+++ b/src/linux/analog.c
@@ -15,15 +15,17 @@
DECL_CONSTANT("ADC_MAX", 4095); // Assume 12bit adc
-DECL_ENUMERATION_RANGE("pin", "analog0", 0, 8);
+#define ANALOG_START (1<<8)
+
+DECL_ENUMERATION_RANGE("pin", "analog0", ANALOG_START, 8);
#define IIO_PATH "/sys/bus/iio/devices/iio:device0/in_voltage%d_raw"
struct gpio_adc
-gpio_adc_setup(uint8_t pin)
+gpio_adc_setup(uint32_t pin)
{
char fname[256];
- snprintf(fname, sizeof(fname), IIO_PATH, pin);
+ snprintf(fname, sizeof(fname), IIO_PATH, pin-ANALOG_START);
int fd = open(fname, O_RDONLY|O_CLOEXEC);
if (fd < 0) {