From 30a2323bc0a95cda4eca818fe1d523a2e5c031f3 Mon Sep 17 00:00:00 2001 From: Pawel Dembicki Date: Mon, 2 Nov 2020 14:50:34 +0100 Subject: [PATCH] support gpio with number bigger than 255 Change 8-bit gpio value to 16-bit, which allow to use gpio >255. Signed-off-by: Pawel Dembicki --- src/data_types.h | 16 ++++++++-------- src/relay_drv_gpio.c | 10 +++++----- 2 files changed, 13 insertions(+), 13 deletions(-) --- a/src/data_types.h +++ b/src/data_types.h @@ -56,14 +56,14 @@ typedef struct /* [GPIO drv] */ uint8_t gpio_num_relays; uint8_t gpio_active_value; - uint8_t relay1_gpio_pin; - uint8_t relay2_gpio_pin; - uint8_t relay3_gpio_pin; - uint8_t relay4_gpio_pin; - uint8_t relay5_gpio_pin; - uint8_t relay6_gpio_pin; - uint8_t relay7_gpio_pin; - uint8_t relay8_gpio_pin; + uint16_t relay1_gpio_pin; + uint16_t relay2_gpio_pin; + uint16_t relay3_gpio_pin; + uint16_t relay4_gpio_pin; + uint16_t relay5_gpio_pin; + uint16_t relay6_gpio_pin; + uint16_t relay7_gpio_pin; + uint16_t relay8_gpio_pin; /* [Sainsmart drv] */ uint8_t sainsmart_num_relays; --- a/src/relay_drv_gpio.c +++ b/src/relay_drv_gpio.c @@ -53,7 +53,7 @@ #define GPIO_BASE_FILE GPIO_BASE_DIR"gpio" -static uint8_t pins[] = +static uint16_t pins[] = { 0, // dummy 0, // pin 1 @@ -85,7 +85,7 @@ int set_relay_generic_gpio(char* portnam * -1 - fail * -2 - already exported *********************************************************/ -static int do_export(uint8_t pin) +static int do_export(uint16_t pin) { int fd; char b[64]; @@ -151,7 +151,7 @@ static int do_export(uint8_t pin) * Return: 0 - success * -1 - fail *********************************************************/ -static int do_unexport(uint8_t pin) +static int do_unexport(uint16_t pin) { int fd; char b[64]; @@ -261,7 +261,7 @@ int get_relay_generic_gpio(char* portnam int fd; char b[64]; char d[1]; - uint8_t pin; + uint16_t pin; if (relay(FIRST_RELAY+g_num_relays-1)) { @@ -324,7 +324,7 @@ int set_relay_generic_gpio(char* portnam int fd; char b[64]; char d[1]; - uint8_t pin; + uint16_t pin; if (relay(FIRST_RELAY+g_num_relays-1)) {