blob: b1d6a42510aa55a2ca80fc3634c080dbc97ad51e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
//go:build sam && atsamd51 && pygamer
// +build sam,atsamd51,pygamer
package machine
// used to reset into bootloader
const resetMagicValue = 0xf01669ef
// GPIO Pins
const (
D0 = PB17 // UART0 RX/PWM available
D1 = PB16 // UART0 TX/PWM available
D2 = PB03
D3 = PB02
D4 = PA14 // PWM available
D5 = PA16 // PWM available
D6 = PA18 // PWM available
D7 = PB14 // CS for microSD card slot
D8 = PA15 // built-in neopixel
D9 = PA19 // PWM available
D10 = PA20 // can be used for PWM or UART1 TX
D11 = PA21 // can be used for PWM or UART1 RX
D12 = PA22 // PWM available
D13 = PA23 // PWM available
)
// Analog pins
const (
A0 = PA02 // ADC/AIN[0]
A1 = PA05 // ADC/AIN[2]
A2 = PB08 // ADC/AIN[3]
A3 = PB09 // ADC/AIN[4]
A4 = PA04 // ADC/AIN[5]
A5 = PA06 // ADC/AIN[6]
A6 = PB01 // ADC/AIN[12]/VMEAS
A7 = PB04 // ADC/AIN[6]/LIGHT
A8 = D2 // ADC/AIN[14]
A9 = D3 // ADC/AIN[15]
)
const (
LED = D13
NEOPIXELS = D8
WS2812 = D8
SD_CS = D7
LIGHTSENSOR = A7
BUTTON_LATCH = PB00
BUTTON_OUT = PB30
BUTTON_CLK = PB31
JOYY = PB06
JOYX = PB07
TFT_DC = PB05
TFT_CS = PB12
TFT_RST = PA00
TFT_LITE = PA01
SPEAKER_ENABLE = PA27
)
const (
BUTTON_SELECT_MASK = 16
BUTTON_START_MASK = 32
BUTTON_A_MASK = 64
BUTTON_B_MASK = 128
)
// USBCDC pins
const (
USBCDC_DM_PIN = PA24
USBCDC_DP_PIN = PA25
)
// UART1 pins
const (
UART_TX_PIN = D1
UART_RX_PIN = D0
)
// UART1 var is on SERCOM3, defined in atsamd51.go
// UART2 pins
const (
UART2_TX_PIN = A4
UART2_RX_PIN = A5
)
// UART2 var is on SERCOM0, defined in atsamd51.go
// I2C pins
const (
SDA_PIN = PA12 // SDA: SERCOM2/PAD[0]
SCL_PIN = PA13 // SCL: SERCOM2/PAD[1]
)
// I2C on the PyGamer.
var (
I2C0 = sercomI2CM2
)
// SPI pins
const (
SPI0_SCK_PIN = PA17 // SCK: SERCOM1/PAD[1]
SPI0_SDO_PIN = PB23 // SDO: SERCOM1/PAD[3]
SPI0_SDI_PIN = PB22 // SDI: SERCOM1/PAD[2]
)
// SPI on the PyGamer.
var SPI0 = sercomSPIM1
// TFT SPI pins
const (
SPI1_SCK_PIN = PB13 // SCK: SERCOM4/PAD[1]
SPI1_SDO_PIN = PB15 // SDO: SERCOM4/PAD[3]
SPI1_SDI_PIN = NoPin
)
// TFT SPI on the PyGamer.
var SPI1 = sercomSPIM4
// USB CDC identifiers
const (
usb_STRING_PRODUCT = "Adafruit pyGamer M4"
usb_STRING_MANUFACTURER = "Adafruit"
)
var (
usb_VID uint16 = 0x239A
usb_PID uint16 = 0x8033
)
|