14
14
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
15
15
*/
16
16
17
- #ifndef _VARIANT_FEATHER52_
18
- #define _VARIANT_FEATHER52_
17
+ #ifndef _VARIANT_METRO52_
18
+ #define _VARIANT_METRO52_
19
19
20
20
/** Master clock frequency */
21
21
#define VARIANT_MCK (64000000ul)
@@ -34,20 +34,55 @@ extern "C"
34
34
// Number of pins defined in PinDescription array
35
35
#define PINS_COUNT (32u)
36
36
#define NUM_DIGITAL_PINS (32u)
37
- #define NUM_ANALOG_INPUTS (8u )
37
+ #define NUM_ANALOG_INPUTS (6u )
38
38
#define NUM_ANALOG_OUTPUTS (0u)
39
39
40
- // LEDs
41
- #define PIN_LED1 (17)
42
- #define PIN_LED2 (19)
40
+ /*
41
+ * Digital Pins
42
+ */
43
+ #define PIN_D0 (23)
44
+ #define PIN_D1 (8)
45
+ #define PIN_D2 (24)
46
+ #define PIN_D3 (20)
47
+ #define PIN_D4 (19)
48
+ #define PIN_D5 (17)
49
+ #define PIN_D6 (16)
50
+ #define PIN_D7 (15)
51
+ #define PIN_D8 (14)
52
+ #define PIN_D9 (13)
53
+ #define PIN_D10 (12)
54
+ #define PIN_D11 (11)
55
+ #define PIN_D12 (28)
56
+ #define PIN_D13 (29)
57
+
58
+ #define D0 PIN_D0
59
+ #define D1 PIN_D1
60
+ #define D2 PIN_D2
61
+ #define D3 PIN_D3
62
+ #define D4 PIN_D4
63
+ #define D5 PIN_D5
64
+ #define D6 PIN_D6
65
+ #define D7 PIN_D7
66
+ #define D8 PIN_D8
67
+ #define D9 PIN_D9
68
+ #define D10 PIN_D10
69
+ #define D11 PIN_D11
70
+ #define D12 PIN_D12
71
+ #define D13 PIN_D13
72
+
73
+ /*
74
+ * LEDs
75
+ */
76
+ #define PIN_LED1 PIN_D13
77
+ #define PIN_LED2 (22)
43
78
44
- #define LED_BUILTIN PIN_LED1
45
- #define LED_CONN PIN_LED2
79
+ #define LED_BUILTIN PIN_LED1
80
+ #define LED_CONN PIN_LED2
46
81
47
- #define LED_RED PIN_LED1
48
- #define LED_BLUE PIN_LED2
82
+ #define LED_RED PIN_LED1
83
+ #define LED_BLUE PIN_LED2
49
84
50
- #define LED_STATE_ON 1 // State when LED is litted
85
+ #define LED_STATE_ON 1 // State when LED is litted
51
86
52
87
// Buttons
53
88
/*
@@ -60,28 +95,28 @@ extern "C"
60
95
/*
61
96
* Analog pins
62
97
*/
63
- #define PIN_A0 (2 )
64
- #define PIN_A1 (3 )
65
- #define PIN_A2 (4 )
66
- #define PIN_A3 (5 )
67
- #define PIN_A4 (28 )
68
- #define PIN_A5 (29 )
69
- #define PIN_A6 (30)
70
- #define PIN_A7 (31)
98
+ #define PIN_A0 (30 )
99
+ #define PIN_A1 (31 )
100
+ #define PIN_A2 (2 )
101
+ #define PIN_A3 (3 )
102
+ #define PIN_A4 (4 )
103
+ #define PIN_A5 (5 )
104
+ // #define PIN_A6 (30)
105
+ // #define PIN_A7 (31)
71
106
72
107
static const uint8_t A0 = PIN_A0 ;
73
108
static const uint8_t A1 = PIN_A1 ;
74
109
static const uint8_t A2 = PIN_A2 ;
75
110
static const uint8_t A3 = PIN_A3 ;
76
111
static const uint8_t A4 = PIN_A4 ;
77
112
static const uint8_t A5 = PIN_A5 ;
78
- static const uint8_t A6 = PIN_A6 ;
79
- static const uint8_t A7 = PIN_A7 ;
113
+ // static const uint8_t A6 = PIN_A6 ;
114
+ // static const uint8_t A7 = PIN_A7 ;
80
115
#define ADC_RESOLUTION 14
81
116
82
117
// Other pins
83
- #define PIN_AREF (24)
84
- #define PIN_DFU (20)
118
+ #define PIN_AREF (24) // ?
119
+ #define PIN_DFU (22) // Mux with LED2
85
120
#define PIN_NFC1 (9)
86
121
#define PIN_NFC2 (10)
87
122
@@ -91,17 +126,17 @@ static const uint8_t AREF = PIN_AREF;
91
126
* Serial interfaces
92
127
*/
93
128
// Serial
94
- #define PIN_SERIAL_RX (8)
95
- #define PIN_SERIAL_TX (6)
129
+ #define PIN_SERIAL_RX PIN_D0
130
+ #define PIN_SERIAL_TX PIN_D1
96
131
97
132
/*
98
133
* SPI Interfaces
99
134
*/
100
135
#define SPI_INTERFACES_COUNT 1
101
136
102
- #define PIN_SPI_MISO (14 )
103
- #define PIN_SPI_MOSI (13 )
104
- #define PIN_SPI_SCK (12 )
137
+ #define PIN_SPI_MISO (27 )
138
+ #define PIN_SPI_MOSI (25 )
139
+ #define PIN_SPI_SCK (26 )
105
140
106
141
static const uint8_t SS = 18 ;
107
142
static const uint8_t MOSI = PIN_SPI_MOSI ;
@@ -113,13 +148,21 @@ static const uint8_t SCK = PIN_SPI_SCK ;
113
148
*/
114
149
#define WIRE_INTERFACES_COUNT 1
115
150
116
- #define PIN_WIRE_SDA (25u)
117
- #define PIN_WIRE_SCL (26u)
118
-
151
+ #define PIN_WIRE_SDA (6)
152
+ #define PIN_WIRE_SCL (7)
119
153
120
154
static inline bool isPinValid (uint32_t pin )
121
155
{
122
- return (pin < PINS_COUNT ) && (pin != PIN_SERIAL_RX ) && (pin != PIN_SERIAL_TX );
156
+ // 0, 1 is xtal
157
+ if (pin >= PINS_COUNT ) return false;
158
+
159
+ const uint8_t forbid [] = { 0 , 1 , };
160
+ for (uint8_t i = 0 ; i < sizeof (forbid ); i ++ )
161
+ {
162
+ if ( pin == forbid [i ] ) return false;
163
+ }
164
+
165
+ return true;
123
166
}
124
167
125
168
#ifdef __cplusplus
0 commit comments