From 542f05d2281b165a47becd579aeeb8c3ff656e7d Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 18 Oct 2016 15:34:17 +1100 Subject: [PATCH] teensy: Update to provide new mp_hal_pin_XXX functions following stmhal. --- teensy/teensy_hal.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/teensy/teensy_hal.h b/teensy/teensy_hal.h index b00b6e4ac6..80f320e0c5 100644 --- a/teensy/teensy_hal.h +++ b/teensy/teensy_hal.h @@ -118,7 +118,9 @@ void mp_hal_gpio_clock_enable(GPIO_TypeDef *gpio); void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *init); -#define GPIO_read_pin(gpio, pin) (((gpio)->PDIR >> (pin)) & 1) -#define GPIO_set_pin(gpio, pin_mask) (((gpio)->PSOR) = (pin_mask)) -#define GPIO_clear_pin(gpio, pin_mask) (((gpio)->PCOR) = (pin_mask)) -#define GPIO_read_output_pin(gpio, pin) (((gpio)->PDOR >> (pin)) & 1) +struct _pin_obj_t; +#define mp_hal_pin_obj_t const struct _pin_obj_t* +#define mp_hal_pin_high(p) (((p)->gpio->PSOR) = (p)->pin_mask) +#define mp_hal_pin_low(p) (((p)->gpio->PCOR) = (p)->pin_mask) +#define mp_hal_pin_read(p) (((p)->gpio->PDIR >> (p)->pin) & 1) +#define mp_hal_pin_write(p, v) do { if (v) { mp_hal_pin_high(p); } else { mp_hal_pin_low(p); } } while (0)