2014-01-03 10:15:53 -05:00
|
|
|
#include <stdint.h>
|
|
|
|
|
2013-10-12 19:42:20 -04:00
|
|
|
// options to control how Micro Python is built
|
|
|
|
|
|
|
|
#define MICROPY_EMIT_THUMB (1)
|
|
|
|
#define MICROPY_EMIT_INLINE_THUMB (1)
|
2014-01-07 10:20:33 -05:00
|
|
|
#define MICROPY_ENABLE_GC (1)
|
2014-01-07 09:54:15 -05:00
|
|
|
#define MICROPY_ENABLE_REPL_HELPERS (1)
|
|
|
|
#define MICROPY_ENABLE_FLOAT (1)
|
2014-02-06 16:11:19 -05:00
|
|
|
#define MICROPY_PATH_MAX (128)
|
2013-10-12 19:42:20 -04:00
|
|
|
|
|
|
|
// type definitions for the specific machine
|
|
|
|
|
2013-10-21 18:46:04 -04:00
|
|
|
#define BYTES_PER_WORD (4)
|
|
|
|
|
2013-10-12 19:42:20 -04:00
|
|
|
typedef int32_t machine_int_t; // must be pointer size
|
|
|
|
typedef uint32_t machine_uint_t; // must be pointer size
|
|
|
|
typedef void *machine_ptr_t; // must be of pointer size
|
2013-12-21 13:17:45 -05:00
|
|
|
typedef const void *machine_const_ptr_t; // must be of pointer size
|
2013-10-12 19:42:20 -04:00
|
|
|
typedef float machine_float_t;
|
2013-11-09 15:15:48 -05:00
|
|
|
|
|
|
|
machine_float_t machine_sqrt(machine_float_t x);
|
2014-01-21 17:20:50 -05:00
|
|
|
|
|
|
|
// board specific definitions
|
|
|
|
|
2014-01-21 17:32:51 -05:00
|
|
|
// choose 1 of these boards
|
2014-01-26 12:41:01 -05:00
|
|
|
//#define PYBOARD3
|
|
|
|
#define PYBOARD4
|
2014-01-21 17:20:50 -05:00
|
|
|
//#define STM32F4DISC
|
2014-02-04 00:11:48 -05:00
|
|
|
//#define NETDUINO_PLUS_2
|
2014-01-21 17:32:51 -05:00
|
|
|
|
2014-01-25 11:30:47 -05:00
|
|
|
#if defined (PYBOARD3)
|
|
|
|
#define MICROPY_HW_BOARD_NAME "PYBv3"
|
|
|
|
|
2014-01-22 13:34:02 -05:00
|
|
|
#define MICROPY_HW_HAS_SWITCH (1)
|
|
|
|
#define MICROPY_HW_HAS_SDCARD (1)
|
|
|
|
#define MICROPY_HW_HAS_MMA7660 (1)
|
|
|
|
#define MICROPY_HW_HAS_LIS3DSH (0)
|
2014-01-23 06:16:06 -05:00
|
|
|
#define MICROPY_HW_HAS_LCD (0)
|
|
|
|
#define MICROPY_HW_HAS_WLAN (0)
|
2014-01-22 13:34:02 -05:00
|
|
|
#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)
|
2014-01-22 10:42:06 -05:00
|
|
|
|
|
|
|
#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)
|
2014-01-23 15:35:48 -05:00
|
|
|
|
|
|
|
/* LED */
|
|
|
|
#define PYB_LED1_PORT (GPIOA)
|
|
|
|
#define PYB_LED1_PIN (GPIO_Pin_8)
|
|
|
|
|
|
|
|
#define PYB_LED2_PORT (GPIOA)
|
|
|
|
#define PYB_LED2_PIN (GPIO_Pin_10)
|
|
|
|
|
|
|
|
#define PYB_LED3_PORT (GPIOC)
|
|
|
|
#define PYB_LED3_PIN (GPIO_Pin_4)
|
|
|
|
|
|
|
|
#define PYB_LED4_PORT (GPIOC)
|
|
|
|
#define PYB_LED4_PIN (GPIO_Pin_5)
|
|
|
|
|
|
|
|
#define PYB_OTYPE (GPIO_OType_OD)
|
|
|
|
|
|
|
|
#define PYB_LED_ON(port, pin) (port->BSRRH = pin)
|
|
|
|
#define PYB_LED_OFF(port, pin) (port->BSRRL = pin)
|
|
|
|
|
2014-01-22 10:42:06 -05:00
|
|
|
#elif defined (PYBOARD4)
|
2014-01-25 11:30:47 -05:00
|
|
|
#define MICROPY_HW_BOARD_NAME "PYBv4"
|
|
|
|
|
2014-01-22 13:34:02 -05:00
|
|
|
#define MICROPY_HW_HAS_SWITCH (1)
|
|
|
|
#define MICROPY_HW_HAS_SDCARD (1)
|
|
|
|
#define MICROPY_HW_HAS_MMA7660 (1)
|
|
|
|
#define MICROPY_HW_HAS_LIS3DSH (0)
|
2014-01-26 12:41:01 -05:00
|
|
|
#define MICROPY_HW_HAS_LCD (1)
|
2014-01-23 06:16:06 -05:00
|
|
|
#define MICROPY_HW_HAS_WLAN (0)
|
2014-01-22 13:34:02 -05:00
|
|
|
#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)
|
2014-01-22 10:42:06 -05:00
|
|
|
|
|
|
|
#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)
|
2014-02-04 00:11:48 -05:00
|
|
|
#define USRSW_EXTI_IRQN (EXTI3_IRQn)
|
2014-01-22 10:42:06 -05:00
|
|
|
#define USRSW_EXTI_EDGE (EXTI_Trigger_Rising)
|
2014-01-23 15:35:48 -05:00
|
|
|
|
|
|
|
/* LED */
|
|
|
|
#define PYB_LED1_PORT (GPIOA)
|
|
|
|
#define PYB_LED1_PIN (GPIO_Pin_13)
|
|
|
|
|
|
|
|
#define PYB_LED2_PORT (GPIOA)
|
|
|
|
#define PYB_LED2_PIN (GPIO_Pin_14)
|
|
|
|
|
|
|
|
#define PYB_LED3_PORT (GPIOA)
|
|
|
|
#define PYB_LED3_PIN (GPIO_Pin_15)
|
|
|
|
|
|
|
|
#define PYB_LED4_PORT (GPIOB)
|
|
|
|
#define PYB_LED4_PIN (GPIO_Pin_4)
|
|
|
|
|
|
|
|
#define PYB_OTYPE (GPIO_OType_PP)
|
|
|
|
|
|
|
|
#define PYB_LED_ON(port, pin) (port->BSRRL = pin)
|
|
|
|
#define PYB_LED_OFF(port, pin) (port->BSRRH = pin)
|
|
|
|
|
2014-01-22 10:42:06 -05:00
|
|
|
#elif defined (STM32F4DISC)
|
2014-01-25 11:30:47 -05:00
|
|
|
#define MICROPY_HW_BOARD_NAME "F4DISC"
|
|
|
|
|
2014-01-22 13:34:02 -05:00
|
|
|
#define MICROPY_HW_HAS_SWITCH (1)
|
|
|
|
#define MICROPY_HW_HAS_SDCARD (0)
|
|
|
|
#define MICROPY_HW_HAS_MMA7660 (0)
|
|
|
|
#define MICROPY_HW_HAS_LIS3DSH (1)
|
2014-01-23 06:16:06 -05:00
|
|
|
#define MICROPY_HW_HAS_LCD (0)
|
|
|
|
#define MICROPY_HW_HAS_WLAN (0)
|
2014-01-22 13:34:02 -05:00
|
|
|
#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)
|
2014-01-22 10:42:06 -05:00
|
|
|
|
|
|
|
#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)
|
2014-01-23 15:35:48 -05:00
|
|
|
|
|
|
|
/* LED */
|
|
|
|
#define PYB_LED1_PORT (GPIOD)
|
|
|
|
#define PYB_LED1_PIN (GPIO_Pin_14)
|
|
|
|
|
|
|
|
#define PYB_LED2_PORT (GPIOD)
|
|
|
|
#define PYB_LED2_PIN (GPIO_Pin_12)
|
|
|
|
|
|
|
|
#define PYB_LED3_PORT (GPIOD)
|
|
|
|
#define PYB_LED3_PIN (GPIO_Pin_15)
|
|
|
|
|
|
|
|
#define PYB_LED4_PORT (GPIOD)
|
|
|
|
#define PYB_LED4_PIN (GPIO_Pin_13)
|
|
|
|
|
|
|
|
#define PYB_OTYPE (GPIO_OType_PP)
|
|
|
|
|
|
|
|
#define PYB_LED_ON(port, pin) (port->BSRRL = pin)
|
|
|
|
#define PYB_LED_OFF(port, pin) (port->BSRRH = pin)
|
|
|
|
|
2014-02-04 00:11:48 -05:00
|
|
|
#elif defined (NETDUINO_PLUS_2)
|
|
|
|
#define MICROPY_HW_BOARD_NAME "NetduinoPlus2"
|
|
|
|
|
|
|
|
#define MICROPY_HW_HAS_SWITCH (1)
|
|
|
|
|
|
|
|
// On the netuino, the sdcard appears to be wired up as a 1-bit
|
|
|
|
// SPI, so the driver needs to be converted to support that before
|
|
|
|
// we can turn this on.
|
|
|
|
#define MICROPY_HW_HAS_SDCARD (0)
|
|
|
|
#define MICROPY_HW_HAS_MMA7660 (0)
|
|
|
|
#define MICROPY_HW_HAS_LIS3DSH (0)
|
|
|
|
#define MICROPY_HW_HAS_LCD (0)
|
|
|
|
#define MICROPY_HW_HAS_WLAN (0)
|
|
|
|
#define MICROPY_HW_ENABLE_RNG (1)
|
|
|
|
#define MICROPY_HW_ENABLE_RTC (0)
|
|
|
|
#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_11)
|
|
|
|
#define USRSW_PUPD (GPIO_PuPd_NOPULL)
|
|
|
|
#define USRSW_EXTI_PIN (EXTI_PinSource11)
|
|
|
|
#define USRSW_EXTI_PORT (EXTI_PortSourceGPIOB)
|
|
|
|
#define USRSW_EXTI_LINE (EXTI_Line11)
|
|
|
|
#define USRSW_EXTI_IRQN (EXTI15_10_IRQn)
|
|
|
|
#define USRSW_EXTI_EDGE (EXTI_Trigger_Rising)
|
|
|
|
|
|
|
|
/* LED */
|
|
|
|
#define PYB_LED1_PORT (GPIOA) // Blue LED
|
|
|
|
#define PYB_LED1_PIN (GPIO_Pin_10)
|
|
|
|
|
|
|
|
#define PYB_LED2_PORT (GPIOC) // White LED (aka Power)
|
|
|
|
#define PYB_LED2_PIN (GPIO_Pin_13)
|
|
|
|
|
|
|
|
#define PYB_LED3_PORT (GPIOA) // Same as Led(1)
|
|
|
|
#define PYB_LED3_PIN (GPIO_Pin_10)
|
|
|
|
|
|
|
|
#define PYB_LED4_PORT (GPIOC) // Same as Led(2)
|
|
|
|
#define PYB_LED4_PIN (GPIO_Pin_13)
|
|
|
|
|
|
|
|
#define PYB_OTYPE (GPIO_OType_PP)
|
|
|
|
|
|
|
|
#define PYB_LED_ON(port, pin) (port->BSRRL = pin)
|
|
|
|
#define PYB_LED_OFF(port, pin) (port->BSRRH = pin)
|
|
|
|
|
|
|
|
#define HSE_VALUE (25000000)
|
2014-01-21 21:06:28 -05:00
|
|
|
#endif
|
|
|
|
|
2014-01-21 17:32:51 -05:00
|
|
|
#define STM32F40_41xxx
|
|
|
|
#define USE_STDPERIPH_DRIVER
|
2014-02-04 00:11:48 -05:00
|
|
|
#if !defined(HSE_VALUE)
|
2014-01-21 17:32:51 -05:00
|
|
|
#define HSE_VALUE (8000000)
|
2014-02-04 00:11:48 -05:00
|
|
|
#endif
|
2014-01-26 12:41:01 -05:00
|
|
|
#define USE_DEVICE_MODE
|
|
|
|
//#define USE_HOST_MODE
|