/* * Copyright (c) 2022, Erich Styger * * SPDX-License-Identifier: BSD-3-Clause */ #ifndef SRC_GPIO_H_ #define SRC_GPIO_H_ #include #include "platform.h" /* Pins with the BCM/Broadcom numbers */ typedef enum { #if PL_HAT_VERSION<=6 Gpio_Pins_LED_BLUE_PIN_BCM = 12, /* wPi 26 */ Gpio_Pins_LED_GREEN_PIN_BCM = 16, /* wPi 27 */ Gpio_Pins_LED_YELLOW_PIN_BCM = 20, /* wPi 28 */ Gpio_Pins_LED_RED_PIN_BCM = 21, /* wPi 29 */ #else Gpio_Pins_LED_RED_PIN_BCM = 16, /* wPi 27 */ Gpio_Pins_LED_GREEN_PIN_BCM = 21, /* wPi 29 */ Gpio_Pins_LED_YELLOW_PIN_BCM = 20, /* wPi 28 */ #endif Gpio_Pins_BTN_UP_BCM = 5, /* wPi 21 */ Gpio_Pins_BTN_DOWN_BCM = 6, /* wPi 22 */ Gpio_Pins_BTN_RIGHT_BCM = 13, /* wPi 23 */ Gpio_Pins_BTN_LEFT_BCM = 19, /* wPi 24 */ Gpio_Pins_BTN_CENTER_BCM = 26, /* wPi 25 */ } Gpio_Pins_e; bool Gpio_ReadPin(Gpio_Pins_e pin); void Gpio_WritePin(Gpio_Pins_e pin, bool val); int Gpio_Init(void); int Gpio_Deinit(void); #endif /* SRC_GPIO_H_ */