mpconfigport.h 5.09 KB
Newer Older
1
2
#include <stdint.h>

Damien's avatar
Damien committed
3
4
5
6
// options to control how Micro Python is built

#define MICROPY_EMIT_THUMB          (1)
#define MICROPY_EMIT_INLINE_THUMB   (1)
7
#define MICROPY_ENABLE_GC           (1)
8
9
#define MICROPY_ENABLE_REPL_HELPERS (1)
#define MICROPY_ENABLE_FLOAT        (1)
Damien's avatar
Damien committed
10
11
12

// type definitions for the specific machine

Damien's avatar
Damien committed
13
14
#define BYTES_PER_WORD (4)

Damien's avatar
Damien committed
15
16
17
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
18
typedef const void *machine_const_ptr_t; // must be of pointer size
Damien's avatar
Damien committed
19
typedef float machine_float_t;
20
21

machine_float_t machine_sqrt(machine_float_t x);
22
23
24

// board specific definitions

25
// choose 1 of these boards
26
27
//#define PYBOARD3
#define PYBOARD4
28
//#define STM32F4DISC
29

30
31
32
#if defined (PYBOARD3)
    #define MICROPY_HW_BOARD_NAME       "PYBv3"

mux's avatar
mux committed
33
34
35
36
    #define MICROPY_HW_HAS_SWITCH       (1)
    #define MICROPY_HW_HAS_SDCARD       (1)
    #define MICROPY_HW_HAS_MMA7660      (1)
    #define MICROPY_HW_HAS_LIS3DSH      (0)
mux's avatar
mux committed
37
38
    #define MICROPY_HW_HAS_LCD          (0)
    #define MICROPY_HW_HAS_WLAN         (0)
mux's avatar
mux committed
39
40
41
42
43
    #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)
44
45
46
47
48
49
50
51
52

    #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)
mux's avatar
mux committed
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

    /* 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)

72
#elif defined (PYBOARD4)
73
74
    #define MICROPY_HW_BOARD_NAME       "PYBv4"

mux's avatar
mux committed
75
76
77
78
    #define MICROPY_HW_HAS_SWITCH       (1)
    #define MICROPY_HW_HAS_SDCARD       (1)
    #define MICROPY_HW_HAS_MMA7660      (1)
    #define MICROPY_HW_HAS_LIS3DSH      (0)
79
    #define MICROPY_HW_HAS_LCD          (1)
mux's avatar
mux committed
80
    #define MICROPY_HW_HAS_WLAN         (0)
mux's avatar
mux committed
81
82
83
84
85
    #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)
86
87
88
89
90
91
92
93
94

    #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)
mux's avatar
mux committed
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113

    /* 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)

114
#elif defined (STM32F4DISC)
115
116
    #define MICROPY_HW_BOARD_NAME       "F4DISC"

mux's avatar
mux committed
117
118
119
120
    #define MICROPY_HW_HAS_SWITCH       (1)
    #define MICROPY_HW_HAS_SDCARD       (0)
    #define MICROPY_HW_HAS_MMA7660      (0)
    #define MICROPY_HW_HAS_LIS3DSH      (1)
mux's avatar
mux committed
121
122
    #define MICROPY_HW_HAS_LCD          (0)
    #define MICROPY_HW_HAS_WLAN         (0)
mux's avatar
mux committed
123
124
125
126
127
    #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)
128
129
130
131
132
133
134
135
136

    #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)
mux's avatar
mux committed
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155

    /* 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)

156
157
#endif

158
159
160
#define STM32F40_41xxx
#define USE_STDPERIPH_DRIVER
#define HSE_VALUE (8000000)
161
162
#define USE_DEVICE_MODE
//#define USE_HOST_MODE