Add Generic Feature Macros to mpconfigport

* Add some generic feature macros to mpconfigport
* Move pin and port definitions from usrsw.c to mpconfigport
This commit is contained in:
mux 2014-01-22 17:42:06 +02:00
parent 5fa93b6755
commit 28b23f09a4
3 changed files with 61 additions and 38 deletions

View File

@ -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_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_servo, rt_make_function_n(2, pyb_servo_set));
rt_store_attr(m, MP_QSTR_pwm, rt_make_function_n(2, pyb_pwm_set)); rt_store_attr(m, MP_QSTR_pwm, rt_make_function_n(2, pyb_pwm_set));
#if BOARD_HAS_MMA7660 #if __HAVE_MMA7660
rt_store_attr(m, MP_QSTR_accel, (mp_obj_t)&pyb_mma_read_obj); 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_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); 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(); //pyb_usbh_init();
if (first_soft_reset) { if (first_soft_reset) {
#if BOARD_HAS_MMA7660 #if __HAVE_MMA7660
// MMA: init and reset address to zero // MMA: init and reset address to zero
mma_init(); mma_init();
#endif #endif
@ -954,7 +954,7 @@ soft_reset:
} }
#if BOARD_HAS_MMA7660 #if __HAVE_MMA7660
// HID example // HID example
if (0) { if (0) {
uint8_t data[4]; uint8_t data[4];

View File

@ -27,12 +27,63 @@ machine_float_t machine_sqrt(machine_float_t x);
#define PYBOARD4 #define PYBOARD4
//#define STM32F4DISC //#define STM32F4DISC
#if defined(PYBOARD) || defined(PYBOARD4) #if defined (PYBOARD)
#define BOARD_HAS_MMA7660 (1) #define __HAVE_SWITCH (1)
#define BOARD_HAS_LIS3DSH (0) #define __HAVE_SDCARD (1)
#else #define __HAVE_MMA7660 (1)
#define BOARD_HAS_MMA7660 (0) #define __HAVE_LIS3DSH (0)
#define BOARD_HAS_LIS3DSH (1) #define __ENABLE_RNG (1)
#define __ENABLE_RTC (1)
#define __ENABLE_TIMER (1)
#define __ENABLE_SERVO (1)
#define __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 __HAVE_SWITCH (1)
#define __HAVE_SDCARD (1)
#define __HAVE_MMA7660 (1)
#define __HAVE_LIS3DSH (0)
#define __ENABLE_RNG (1)
#define __ENABLE_RTC (1)
#define __ENABLE_TIMER (1)
#define __ENABLE_SERVO (1)
#define __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 __HAVE_SWITCH (1)
#define __HAVE_SDCARD (0)
#define __HAVE_MMA7660 (0)
#define __HAVE_LIS3DSH (1)
#define __ENABLE_RNG (1)
#define __ENABLE_RTC (1)
#define __ENABLE_TIMER (1)
#define __ENABLE_SERVO (0)
#define __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 #endif
#define STM32F40_41xxx #define STM32F40_41xxx

View File

@ -6,39 +6,11 @@
#include "misc.h" #include "misc.h"
#include "mpconfig.h" #include "mpconfig.h"
#include "mpconfigport.h"
#include "qstr.h" #include "qstr.h"
#include "obj.h" #include "obj.h"
#include "usrsw.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) { void switch_init(void) {
// make it an input with pull-up // make it an input with pull-up
GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitTypeDef GPIO_InitStructure;