diff --git a/stm/main.c b/stm/main.c index 8d2c2d6b3d..4a16576f4d 100644 --- a/stm/main.c +++ b/stm/main.c @@ -803,7 +803,7 @@ soft_reset: rt_store_attr(m, MP_QSTR_switch, (mp_obj_t)&pyb_switch_obj); rt_store_attr(m, MP_QSTR_servo, rt_make_function_n(2, pyb_servo_set)); rt_store_attr(m, MP_QSTR_pwm, rt_make_function_n(2, pyb_pwm_set)); -#if BOARD_HAS_MMA7660 +#if MICROPY_HW_HAS_MMA7660 rt_store_attr(m, MP_QSTR_accel, (mp_obj_t)&pyb_mma_read_obj); rt_store_attr(m, MP_QSTR_mma_read, (mp_obj_t)&pyb_mma_read_all_obj); rt_store_attr(m, MP_QSTR_mma_mode, (mp_obj_t)&pyb_mma_write_mode_obj); @@ -923,7 +923,7 @@ soft_reset: //pyb_usbh_init(); if (first_soft_reset) { -#if BOARD_HAS_MMA7660 +#if MICROPY_HW_HAS_MMA7660 // MMA: init and reset address to zero mma_init(); #endif @@ -954,7 +954,7 @@ soft_reset: } -#if BOARD_HAS_MMA7660 +#if MICROPY_HW_HAS_MMA7660 // HID example if (0) { uint8_t data[4]; diff --git a/stm/mpconfigport.h b/stm/mpconfigport.h index 75f6fe11b5..4bd7537807 100644 --- a/stm/mpconfigport.h +++ b/stm/mpconfigport.h @@ -27,12 +27,63 @@ machine_float_t machine_sqrt(machine_float_t x); #define PYBOARD4 //#define STM32F4DISC -#if defined(PYBOARD) || defined(PYBOARD4) -#define BOARD_HAS_MMA7660 (1) -#define BOARD_HAS_LIS3DSH (0) -#else -#define BOARD_HAS_MMA7660 (0) -#define BOARD_HAS_LIS3DSH (1) +#if defined (PYBOARD) + #define MICROPY_HW_HAS_SWITCH (1) + #define MICROPY_HW_HAS_SDCARD (1) + #define MICROPY_HW_HAS_MMA7660 (1) + #define MICROPY_HW_HAS_LIS3DSH (0) + #define MICROPY_HW_ENABLE_RNG (1) + #define MICROPY_HW_ENABLE_RTC (1) + #define MICROPY_HW_ENABLE_TIMER (1) + #define MICROPY_HW_ENABLE_SERVO (1) + #define MICROPY_HW_ENABLE_AUDIO (0) + + #define USRSW_PORT (GPIOA) + #define USRSW_PIN (GPIO_Pin_13) + #define USRSW_PUPD (GPIO_PuPd_UP) + #define USRSW_EXTI_PIN (EXTI_PinSource13) + #define USRSW_EXTI_PORT (EXTI_PortSourceGPIOA) + #define USRSW_EXTI_LINE (EXTI_Line13) + #define USRSW_EXTI_IRQN (EXTI15_10_IRQn) + #define USRSW_EXTI_EDGE (EXTI_Trigger_Rising) +#elif defined (PYBOARD4) + #define MICROPY_HW_HAS_SWITCH (1) + #define MICROPY_HW_HAS_SDCARD (1) + #define MICROPY_HW_HAS_MMA7660 (1) + #define MICROPY_HW_HAS_LIS3DSH (0) + #define MICROPY_HW_ENABLE_RNG (1) + #define MICROPY_HW_ENABLE_RTC (1) + #define MICROPY_HW_ENABLE_TIMER (1) + #define MICROPY_HW_ENABLE_SERVO (1) + #define MICROPY_HW_ENABLE_AUDIO (0) + + #define USRSW_PORT (GPIOB) + #define USRSW_PIN (GPIO_Pin_3) + #define USRSW_PUPD (GPIO_PuPd_UP) + #define USRSW_EXTI_PIN (EXTI_PinSource3) + #define USRSW_EXTI_PORT (EXTI_PortSourceGPIOB) + #define USRSW_EXTI_LINE (EXTI_Line3) + #define USRSW_EXTI_IRQN (EXTI15_10_IRQn) + #define USRSW_EXTI_EDGE (EXTI_Trigger_Rising) +#elif defined (STM32F4DISC) + #define MICROPY_HW_HAS_SWITCH (1) + #define MICROPY_HW_HAS_SDCARD (0) + #define MICROPY_HW_HAS_MMA7660 (0) + #define MICROPY_HW_HAS_LIS3DSH (1) + #define MICROPY_HW_ENABLE_RNG (1) + #define MICROPY_HW_ENABLE_RTC (1) + #define MICROPY_HW_ENABLE_TIMER (1) + #define MICROPY_HW_ENABLE_SERVO (0) + #define MICROPY_HW_ENABLE_AUDIO (0) + + #define USRSW_PORT (GPIOA) + #define USRSW_PIN (GPIO_Pin_0) + #define USRSW_PUPD (GPIO_PuPd_NOPULL) + #define USRSW_EXTI_PIN (EXTI_PinSource0) + #define USRSW_EXTI_PORT (EXTI_PortSourceGPIOA) + #define USRSW_EXTI_LINE (EXTI_Line0) + #define USRSW_EXTI_IRQN (EXTI0_IRQn) + #define USRSW_EXTI_EDGE (EXTI_Trigger_Falling) #endif #define STM32F40_41xxx diff --git a/stm/usrsw.c b/stm/usrsw.c index 6450b74a7c..2aa21eef82 100644 --- a/stm/usrsw.c +++ b/stm/usrsw.c @@ -6,39 +6,11 @@ #include "misc.h" #include "mpconfig.h" +#include "mpconfigport.h" #include "qstr.h" #include "obj.h" #include "usrsw.h" -#if defined (PYBOARD) - #define USRSW_PORT (GPIOA) - #define USRSW_PIN (GPIO_Pin_13) - #define USRSW_PUPD (GPIO_PuPd_UP) - #define USRSW_EXTI_PIN (EXTI_PinSource13) - #define USRSW_EXTI_PORT (EXTI_PortSourceGPIOA) - #define USRSW_EXTI_LINE (EXTI_Line13) - #define USRSW_EXTI_IRQN (EXTI15_10_IRQn) - #define USRSW_EXTI_EDGE (EXTI_Trigger_Rising) -#elif defined (PYBOARD4) - #define USRSW_PORT (GPIOB) - #define USRSW_PIN (GPIO_Pin_3) - #define USRSW_PUPD (GPIO_PuPd_UP) - #define USRSW_EXTI_PIN (EXTI_PinSource3) - #define USRSW_EXTI_PORT (EXTI_PortSourceGPIOB) - #define USRSW_EXTI_LINE (EXTI_Line3) - #define USRSW_EXTI_IRQN (EXTI15_10_IRQn) - #define USRSW_EXTI_EDGE (EXTI_Trigger_Rising) -#elif defined (STM32F4DISC) - #define USRSW_PORT (GPIOA) - #define USRSW_PIN (GPIO_Pin_0) - #define USRSW_PUPD (GPIO_PuPd_NOPULL) - #define USRSW_EXTI_PIN (EXTI_PinSource0) - #define USRSW_EXTI_PORT (EXTI_PortSourceGPIOA) - #define USRSW_EXTI_LINE (EXTI_Line0) - #define USRSW_EXTI_IRQN (EXTI0_IRQn) - #define USRSW_EXTI_EDGE (EXTI_Trigger_Falling) -#endif - void switch_init(void) { // make it an input with pull-up GPIO_InitTypeDef GPIO_InitStructure;