From 6f70283909a718ca4eab4efcdd1a2d74939c7193 Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 29 Oct 2015 22:40:42 +0000 Subject: [PATCH] stmhal: Make accel AVDD pin configurable via mpconfigboard.h. --- stmhal/accel.c | 12 +++++++----- stmhal/boards/PYBV10/mpconfigboard.h | 3 +++ stmhal/boards/PYBV3/mpconfigboard.h | 3 +++ stmhal/boards/PYBV4/mpconfigboard.h | 3 +++ 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/stmhal/accel.c b/stmhal/accel.c index 64ac852664..59d83bfb51 100644 --- a/stmhal/accel.c +++ b/stmhal/accel.c @@ -31,6 +31,8 @@ #include "py/nlr.h" #include "py/runtime.h" +#include "pin.h" +#include "genhdr/pins.h" #include "i2c.h" #include "accel.h" @@ -59,12 +61,12 @@ void accel_init(void) { GPIO_InitTypeDef GPIO_InitStructure; // PB5 is connected to AVDD; pull high to enable MMA accel device - GPIOB->BSRRH = GPIO_PIN_5; // turn off AVDD - GPIO_InitStructure.Pin = GPIO_PIN_5; + MICROPY_HW_MMA_AVDD_PIN.gpio->BSRRH = MICROPY_HW_MMA_AVDD_PIN.pin_mask; // turn off AVDD + GPIO_InitStructure.Pin = MICROPY_HW_MMA_AVDD_PIN.pin_mask; GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStructure.Speed = GPIO_SPEED_LOW; GPIO_InitStructure.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOB, &GPIO_InitStructure); + HAL_GPIO_Init(MICROPY_HW_MMA_AVDD_PIN.gpio, &GPIO_InitStructure); } STATIC void accel_start(void) { @@ -80,9 +82,9 @@ STATIC void accel_start(void) { i2c_init(&I2CHandle1); // turn off AVDD, wait 30ms, turn on AVDD, wait 30ms again - GPIOB->BSRRH = GPIO_PIN_5; // turn off + MICROPY_HW_MMA_AVDD_PIN.gpio->BSRRH = MICROPY_HW_MMA_AVDD_PIN.pin_mask; // turn off HAL_Delay(30); - GPIOB->BSRRL = GPIO_PIN_5; // turn on + MICROPY_HW_MMA_AVDD_PIN.gpio->BSRRL = MICROPY_HW_MMA_AVDD_PIN.pin_mask; // turn on HAL_Delay(30); HAL_StatusTypeDef status; diff --git a/stmhal/boards/PYBV10/mpconfigboard.h b/stmhal/boards/PYBV10/mpconfigboard.h index 093fa84c7d..7aa9804986 100644 --- a/stmhal/boards/PYBV10/mpconfigboard.h +++ b/stmhal/boards/PYBV10/mpconfigboard.h @@ -86,3 +86,6 @@ // USB config #define MICROPY_HW_USB_VBUS_DETECT_PIN (pin_A9) #define MICROPY_HW_USB_OTG_ID_PIN (pin_A10) + +// MMA accelerometer config +#define MICROPY_HW_MMA_AVDD_PIN (pin_B5) diff --git a/stmhal/boards/PYBV3/mpconfigboard.h b/stmhal/boards/PYBV3/mpconfigboard.h index a837aaf4ae..12f68aae39 100644 --- a/stmhal/boards/PYBV3/mpconfigboard.h +++ b/stmhal/boards/PYBV3/mpconfigboard.h @@ -71,3 +71,6 @@ // USB VBUS detect pin #define MICROPY_HW_USB_VBUS_DETECT_PIN (pin_A9) + +// MMA accelerometer config +#define MICROPY_HW_MMA_AVDD_PIN (pin_B5) diff --git a/stmhal/boards/PYBV4/mpconfigboard.h b/stmhal/boards/PYBV4/mpconfigboard.h index 518e48ff41..7ec31403f1 100644 --- a/stmhal/boards/PYBV4/mpconfigboard.h +++ b/stmhal/boards/PYBV4/mpconfigboard.h @@ -86,3 +86,6 @@ // USB config #define MICROPY_HW_USB_VBUS_DETECT_PIN (pin_A9) #define MICROPY_HW_USB_OTG_ID_PIN (pin_A10) + +// MMA accelerometer config +#define MICROPY_HW_MMA_AVDD_PIN (pin_B5)