Skip to content

Commit

Permalink
Merge pull request #11132 from MichelRottleuthner/pr_sx127x_add_gpio_…
Browse files Browse the repository at this point in the history
…pull_config

drivers/sx127x: add gpio pull config define for DIO pins
  • Loading branch information
leandrolanzieri authored Mar 14, 2019
2 parents 0f4e51d + 389d258 commit 94a10e9
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 10 deletions.
3 changes: 3 additions & 0 deletions drivers/include/sx127x.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,9 @@ extern "C" {
#ifdef SX127X_USE_DIO_MULTI
#define SX127X_IRQ_DIO_MULTI (1<<6) /**< DIO MULTI IRQ */
#endif
#ifndef SX127X_DIO_PULL_MODE
#define SX127X_DIO_PULL_MODE (GPIO_IN_PD) /**< pull down DIOx */
#endif
/** @} */

/**
Expand Down
20 changes: 10 additions & 10 deletions drivers/sx127x/sx127x.c
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,8 @@ static int _init_gpios(sx127x_t *dev)
#ifndef SX127X_USE_DIO_MULTI
/* Check if DIO0 pin is defined */
if (dev->params.dio0_pin != GPIO_UNDEF) {
res = gpio_init_int(dev->params.dio0_pin, GPIO_IN, GPIO_RISING,
sx127x_on_dio0_isr, dev);
res = gpio_init_int(dev->params.dio0_pin, SX127X_DIO_PULL_MODE,
GPIO_RISING, sx127x_on_dio0_isr, dev);
if (res < 0) {
DEBUG("[sx127x] error: failed to initialize DIO0 pin\n");
return res;
Expand All @@ -249,8 +249,8 @@ static int _init_gpios(sx127x_t *dev)

/* Check if DIO1 pin is defined */
if (dev->params.dio1_pin != GPIO_UNDEF) {
res = gpio_init_int(dev->params.dio1_pin, GPIO_IN, GPIO_RISING,
sx127x_on_dio1_isr, dev);
res = gpio_init_int(dev->params.dio1_pin, SX127X_DIO_PULL_MODE,
GPIO_RISING, sx127x_on_dio1_isr, dev);
if (res < 0) {
DEBUG("[sx127x] error: failed to initialize DIO1 pin\n");
return res;
Expand All @@ -259,8 +259,8 @@ static int _init_gpios(sx127x_t *dev)

/* check if DIO2 pin is defined */
if (dev->params.dio2_pin != GPIO_UNDEF) {
res = gpio_init_int(dev->params.dio2_pin, GPIO_IN, GPIO_RISING,
sx127x_on_dio2_isr, dev);
res = gpio_init_int(dev->params.dio2_pin, SX127X_DIO_PULL_MODE,
GPIO_RISING, sx127x_on_dio2_isr, dev);
if (res < 0) {
DEBUG("[sx127x] error: failed to initialize DIO2 pin\n");
return res;
Expand All @@ -269,8 +269,8 @@ static int _init_gpios(sx127x_t *dev)

/* check if DIO3 pin is defined */
if (dev->params.dio3_pin != GPIO_UNDEF) {
res = gpio_init_int(dev->params.dio3_pin, GPIO_IN, GPIO_RISING,
sx127x_on_dio3_isr, dev);
res = gpio_init_int(dev->params.dio3_pin, SX127X_DIO_PULL_MODE,
GPIO_RISING, sx127x_on_dio3_isr, dev);
if (res < 0) {
DEBUG("[sx127x] error: failed to initialize DIO3 pin\n");
return res;
Expand All @@ -279,8 +279,8 @@ static int _init_gpios(sx127x_t *dev)
#else
if (dev->params.dio_multi_pin != GPIO_UNDEF) {
DEBUG("[sx127x] info: Trying to initialize DIO MULTI pin\n");
res = gpio_init_int(dev->params.dio_multi_pin, GPIO_IN, GPIO_RISING,
sx127x_on_dio_multi_isr, dev);
res = gpio_init_int(dev->params.dio_multi_pin, SX127X_DIO_PULL_MODE,
GPIO_RISING, sx127x_on_dio_multi_isr, dev);
if (res < 0) {
DEBUG("[sx127x] error: failed to initialize DIO MULTI pin\n");
return res;
Expand Down

0 comments on commit 94a10e9

Please sign in to comment.