mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
drivers/periph_gpio: let gpio_read() return bool
Since https://github.com/RIOT-OS/RIOT/pull/20935 gpio_write() uses a `bool` instead of an `int`. This does the same treatment for `gpio_read()`. This does indeed add an instruction to `gpio_read()` implementations. However, users caring about an instruction more are better served with `gpio_ll_read()` anyway. And `gpio_read() == 1` is often seen in newcomer's code, which would now work as expected.
This commit is contained in:
parent
faa10032ca
commit
c2c2cc8592
@ -154,7 +154,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
return (_SFR_MEM8(atmega_pin_addr(pin)) & (1 << atmega_pin_num(pin)));
|
return (_SFR_MEM8(atmega_pin_addr(pin)) & (1 << atmega_pin_num(pin)));
|
||||||
}
|
}
|
||||||
|
@ -252,7 +252,7 @@ void gpio_irq_disable(gpio_t pin)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
PORT_t *port = _port_addr(pin);
|
PORT_t *port = _port_addr(pin);
|
||||||
uint8_t pin_mask = _pin_mask(pin);
|
uint8_t pin_mask = _pin_mask(pin);
|
||||||
|
@ -122,7 +122,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
return (int)(gpio(pin)->DATA & _pin_mask(pin));
|
return (int)(gpio(pin)->DATA & _pin_mask(pin));
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
if (GPIO->DOE & (1 << pin)) {
|
if (GPIO->DOE & (1 << pin)) {
|
||||||
return (GPIO->DOUT >> pin) & 1;
|
return (GPIO->DOUT >> pin) & 1;
|
||||||
|
@ -73,7 +73,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
return GPIO_PinInGet(_port_num(pin), _pin_num(pin));
|
return GPIO_PinInGet(_port_num(pin), _pin_num(pin));
|
||||||
}
|
}
|
||||||
|
@ -338,7 +338,7 @@ static gpio_hal_context_t _gpio_hal_ctx = {
|
|||||||
*/
|
*/
|
||||||
static BITFIELD(_output, GPIO_PIN_NUMOF);
|
static BITFIELD(_output, GPIO_PIN_NUMOF);
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
assert(pin < GPIO_PIN_NUMOF);
|
assert(pin < GPIO_PIN_NUMOF);
|
||||||
|
|
||||||
@ -394,7 +394,7 @@ void gpio_toggle(gpio_t pin)
|
|||||||
|
|
||||||
#else /* IS_USED(MODULE_ESP_IDF_GPIO_HAL) */
|
#else /* IS_USED(MODULE_ESP_IDF_GPIO_HAL) */
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
assert(pin < GPIO_PIN_NUMOF);
|
assert(pin < GPIO_PIN_NUMOF);
|
||||||
|
|
||||||
|
@ -237,7 +237,7 @@ void gpio_irq_disable (gpio_t pin)
|
|||||||
}
|
}
|
||||||
#endif /* MODULE_PERIPH_GPIO_IRQ */
|
#endif /* MODULE_PERIPH_GPIO_IRQ */
|
||||||
|
|
||||||
int gpio_read (gpio_t pin)
|
bool gpio_read (gpio_t pin)
|
||||||
{
|
{
|
||||||
CHECK_PARAM_RET(pin < GPIO_PIN_NUMOF, -1);
|
CHECK_PARAM_RET(pin < GPIO_PIN_NUMOF, -1);
|
||||||
|
|
||||||
|
@ -90,7 +90,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
return (GPIO_REG(GPIO_INPUT_VAL) & (1 << pin)) ? 1 : 0;
|
return (GPIO_REG(GPIO_INPUT_VAL) & (1 << pin)) ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
@ -160,7 +160,7 @@ void gpio_init_analog(gpio_t pin)
|
|||||||
*pin_reg &= ~(0xfl << (4 * (pin_num - ((pin_num >= 8) * 8))));
|
*pin_reg &= ~(0xfl << (4 * (pin_num - ((pin_num >= 8) * 8))));
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
GPIO_Type *port = _port(pin);
|
GPIO_Type *port = _port(pin);
|
||||||
unsigned pin_num = _pin_num(pin);
|
unsigned pin_num = _pin_num(pin);
|
||||||
|
@ -247,7 +247,7 @@ void gpio_init_port(gpio_t pin, uint32_t pcr)
|
|||||||
#endif /* KINETIS_HAVE_PCR */
|
#endif /* KINETIS_HAVE_PCR */
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
if (gpio(pin)->PDDR & (1 << pin_num(pin))) {
|
if (gpio(pin)->PDDR & (1 << pin_num(pin))) {
|
||||||
return (gpio(pin)->PDOR & (1 << pin_num(pin))) ? 1 : 0;
|
return (gpio(pin)->PDOR & (1 << pin_num(pin))) ? 1 : 0;
|
||||||
|
@ -119,7 +119,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
const uint8_t port_num = _port_num(pin);
|
const uint8_t port_num = _port_num(pin);
|
||||||
const uint32_t port_addr = _port_base[port_num];
|
const uint32_t port_addr = _port_base[port_num];
|
||||||
|
@ -92,7 +92,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
LPC_GPIO_TypeDef *base = _base(pin);
|
LPC_GPIO_TypeDef *base = _base(pin);
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ int gpio_init_mux(unsigned pin, unsigned mux)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
unsigned _pin = pin & 31;
|
unsigned _pin = pin & 31;
|
||||||
unsigned port = pin >> 5;
|
unsigned port = pin >> 5;
|
||||||
|
@ -112,7 +112,7 @@ void gpio_periph_mode(gpio_t pin, bool enable)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
msp430_port_t *port = _port(pin);
|
msp430_port_t *port = _port(pin);
|
||||||
if (port->DIR & _pin_mask(pin)) {
|
if (port->DIR & _pin_mask(pin)) {
|
||||||
|
@ -167,7 +167,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
struct gpiohandle_data data;
|
struct gpiohandle_data data;
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ __attribute__((weak)) void gpio_irq_disable(gpio_t pin)
|
|||||||
(void) pin;
|
(void) pin;
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__((weak)) int gpio_read(gpio_t pin) {
|
__attribute__((weak)) bool gpio_read(gpio_t pin) {
|
||||||
if (pin) {
|
if (pin) {
|
||||||
return pin->value;
|
return pin->value;
|
||||||
}
|
}
|
||||||
|
@ -126,7 +126,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
if (port(pin)->DIR & (1 << pin_num(pin))) {
|
if (port(pin)->DIR & (1 << pin_num(pin))) {
|
||||||
return (port(pin)->OUT & (1 << pin_num(pin))) ? 1 : 0;
|
return (port(pin)->OUT & (1 << pin_num(pin))) ? 1 : 0;
|
||||||
|
@ -182,7 +182,7 @@ void gpio_irq_disable(gpio_t pin)
|
|||||||
|
|
||||||
#endif /* defined(MODULE_PERIPH_GPIO_IRQ) */
|
#endif /* defined(MODULE_PERIPH_GPIO_IRQ) */
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
return ((GPIO_T_ADDR(pin)->DATA) >> GPIO_T_PIN(pin)) & 1u;
|
return ((GPIO_T_ADDR(pin)->DATA) >> GPIO_T_PIN(pin)) & 1u;
|
||||||
}
|
}
|
||||||
|
@ -106,7 +106,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
if (SIO->GPIO_OE & (1LU << pin)) {
|
if (SIO->GPIO_OE & (1LU << pin)) {
|
||||||
/* pin is output: */
|
/* pin is output: */
|
||||||
|
@ -195,7 +195,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
PortGroup *port;
|
PortGroup *port;
|
||||||
int mask = _pin_mask(pin);
|
int mask = _pin_mask(pin);
|
||||||
|
@ -244,7 +244,7 @@ void gpio_irq_disable(gpio_t pin)
|
|||||||
NVIC_DisableIRQ((1 << (_port_num(pin) + PIOA_IRQn)));
|
NVIC_DisableIRQ((1 << (_port_num(pin) + PIOA_IRQn)));
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
Pio *port = _port(pin);
|
Pio *port = _port(pin);
|
||||||
int pin_num = _pin_num(pin);
|
int pin_num = _pin_num(pin);
|
||||||
|
@ -203,7 +203,7 @@ void gpio_irq_disable(gpio_t pin)
|
|||||||
EXTI_REG_IMR &= ~(1 << _pin_num(pin));
|
EXTI_REG_IMR &= ~(1 << _pin_num(pin));
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
return (_port(pin)->IDR & (1 << _pin_num(pin)));
|
return (_port(pin)->IDR & (1 << _pin_num(pin)));
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@ void gpio_init_analog(gpio_t pin)
|
|||||||
*(uint32_t *)(&_port(pin)->CRL + (pin_num >= 8)) &= ~(0xfl << (4 * (pin_num - ((pin_num >= 8) * 8))));
|
*(uint32_t *)(&_port(pin)->CRL + (pin_num >= 8)) &= ~(0xfl << (4 * (pin_num - ((pin_num >= 8) * 8))));
|
||||||
}
|
}
|
||||||
|
|
||||||
int gpio_read(gpio_t pin)
|
bool gpio_read(gpio_t pin)
|
||||||
{
|
{
|
||||||
GPIO_TypeDef *port = _port(pin);
|
GPIO_TypeDef *port = _port(pin);
|
||||||
int pin_num = _pin_num(pin);
|
int pin_num = _pin_num(pin);
|
||||||
|
@ -227,10 +227,10 @@ void gpio_irq_disable(gpio_t pin);
|
|||||||
*
|
*
|
||||||
* @param[in] pin the pin to read
|
* @param[in] pin the pin to read
|
||||||
*
|
*
|
||||||
* @return 0 when pin is LOW
|
* @retval false pin is LOW
|
||||||
* @return >0 for HIGH
|
* @retval true pin is HIGH
|
||||||
*/
|
*/
|
||||||
int gpio_read(gpio_t pin);
|
bool gpio_read(gpio_t pin);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set the given pin to HIGH
|
* @brief Set the given pin to HIGH
|
||||||
|
Loading…
Reference in New Issue
Block a user