Cypress: fix gpio mode none

pull/11765/head
yarb 2019-10-24 13:52:41 +03:00
parent 87b150a1fe
commit 50b0847003
3 changed files with 12 additions and 1 deletions

View File

@ -23,7 +23,7 @@
#include "cybsp_types.h" #include "cybsp_types.h"
// Pin Modes // Pin Modes
#define PullNone CYHAL_GPIO_DRIVE_STRONG #define PullNone CYHAL_GPIO_DRIVE_PULL_NONE
#define PullDefault CYHAL_GPIO_DRIVE_NONE #define PullDefault CYHAL_GPIO_DRIVE_NONE
#define PullDown CYHAL_GPIO_DRIVE_PULLDOWN #define PullDown CYHAL_GPIO_DRIVE_PULLDOWN
#define PullUp CYHAL_GPIO_DRIVE_PULLUP #define PullUp CYHAL_GPIO_DRIVE_PULLUP

View File

@ -79,6 +79,7 @@ typedef enum {
CYHAL_GPIO_DRIVE_OPENDRAINDRIVESHIGH, /**< Open-drain, Drives High */ CYHAL_GPIO_DRIVE_OPENDRAINDRIVESHIGH, /**< Open-drain, Drives High */
CYHAL_GPIO_DRIVE_STRONG, /**< Strong output */ CYHAL_GPIO_DRIVE_STRONG, /**< Strong output */
CYHAL_GPIO_DRIVE_PULLUPDOWN, /**< Pull-up and pull-down resistors */ CYHAL_GPIO_DRIVE_PULLUPDOWN, /**< Pull-up and pull-down resistors */
CYHAL_GPIO_DRIVE_PULL_NONE, /**< No Pull-up or pull-down resistors */
} cyhal_gpio_drive_mode_t; } cyhal_gpio_drive_mode_t;
/** GPIO callback function type */ /** GPIO callback function type */

View File

@ -105,6 +105,16 @@ static uint32_t cyhal_gpio_convert_drive_mode(cyhal_gpio_drive_mode_t drive_mode
case CYHAL_GPIO_DRIVE_PULLUPDOWN: case CYHAL_GPIO_DRIVE_PULLUPDOWN:
drvMode = CY_GPIO_DM_PULLUP_DOWN; drvMode = CY_GPIO_DM_PULLUP_DOWN;
break; break;
case CYHAL_GPIO_DRIVE_PULL_NONE:
if (direction == CYHAL_GPIO_DIR_OUTPUT || direction == CYHAL_GPIO_DIR_BIDIRECTIONAL)
{
drvMode = CY_GPIO_DM_STRONG;
}
else
{
drvMode = CY_GPIO_DM_HIGHZ;
}
break;
default: default:
CY_ASSERT(false); CY_ASSERT(false);
drvMode = CY_GPIO_DM_HIGHZ; drvMode = CY_GPIO_DM_HIGHZ;