machine/rp2040: gpio and adc pin definitions

Этот коммит содержится в:
Yurii Soldak 2021-06-09 02:59:57 +02:00 коммит произвёл Ron Evans
родитель 1f5e4e79aa
коммит 95af444896
3 изменённых файлов: 72 добавлений и 42 удалений

Просмотреть файл

@ -4,45 +4,35 @@ package machine
// GPIO pins
const (
GP0 Pin = 0
GP1 Pin = 1
GP2 Pin = 2
GP3 Pin = 3
GP4 Pin = 4
GP5 Pin = 5
GP6 Pin = 6
GP7 Pin = 7
GP8 Pin = 8
GP9 Pin = 9
GP10 Pin = 10
GP11 Pin = 11
GP12 Pin = 12
GP13 Pin = 13
GP14 Pin = 14
GP15 Pin = 15
GP16 Pin = 16
GP17 Pin = 17
GP18 Pin = 18
GP19 Pin = 19
GP20 Pin = 20
GP21 Pin = 21
GP22 Pin = 22
GP23 Pin = 23
GP24 Pin = 24
GP25 Pin = 25
GP26 Pin = 26
GP27 Pin = 27
GP28 Pin = 28
GP29 Pin = 29
GP0 Pin = GPIO0
GP1 Pin = GPIO1
GP2 Pin = GPIO2
GP3 Pin = GPIO3
GP4 Pin = GPIO4
GP5 Pin = GPIO5
GP6 Pin = GPIO6
GP7 Pin = GPIO7
GP8 Pin = GPIO8
GP9 Pin = GPIO9
GP10 Pin = GPIO10
GP11 Pin = GPIO11
GP12 Pin = GPIO12
GP13 Pin = GPIO13
GP14 Pin = GPIO14
GP15 Pin = GPIO15
GP16 Pin = GPIO16
GP17 Pin = GPIO17
GP18 Pin = GPIO18
GP19 Pin = GPIO19
GP20 Pin = GPIO20
GP21 Pin = GPIO21
GP22 Pin = GPIO22
GP26 Pin = GPIO26
GP27 Pin = GPIO27
GP28 Pin = GPIO28
// Onboard LED
LED Pin = GP25
// Analog pins
ADC0 = GP26
ADC1 = GP27
ADC2 = GP28
ADC3 = GP29
LED Pin = GPIO25
// Onboard crystal oscillator frequency, in MHz.
xoscFreq = 12 // MHz

Просмотреть файл

@ -7,6 +7,46 @@ import (
_ "unsafe"
)
const (
// GPIO pins
GPIO0 Pin = 0
GPIO1 Pin = 1
GPIO2 Pin = 2
GPIO3 Pin = 3
GPIO4 Pin = 4
GPIO5 Pin = 5
GPIO6 Pin = 6
GPIO7 Pin = 7
GPIO8 Pin = 8
GPIO9 Pin = 9
GPIO10 Pin = 10
GPIO11 Pin = 11
GPIO12 Pin = 12
GPIO13 Pin = 13
GPIO14 Pin = 14
GPIO15 Pin = 15
GPIO16 Pin = 16
GPIO17 Pin = 17
GPIO18 Pin = 18
GPIO19 Pin = 19
GPIO20 Pin = 20
GPIO21 Pin = 21
GPIO22 Pin = 22
GPIO23 Pin = 23
GPIO24 Pin = 24
GPIO25 Pin = 25
GPIO26 Pin = 26
GPIO27 Pin = 27
GPIO28 Pin = 28
GPIO29 Pin = 29
// Analog pins
ADC0 Pin = GPIO26
ADC1 Pin = GPIO27
ADC2 Pin = GPIO28
ADC3 Pin = GPIO29
)
//go:linkname machineInit runtime.machineInit
func machineInit() {
// Reset all peripherals to put system into a known state,

Просмотреть файл

@ -22,7 +22,7 @@ func InitADC() {
// Configure configures a ADC pin to be able to be used to read data.
func (a ADC) Configure(config ADCConfig) {
switch a.Pin {
case GP26, GP27, GP28, GP29:
case ADC0, ADC1, ADC2, ADC3:
a.Pin.Configure(PinConfig{Mode: PinAnalog})
default:
// invalid ADC
@ -47,13 +47,13 @@ func waitForReady() {
func (a ADC) getADCChannel() uint8 {
switch a.Pin {
case GP26:
case ADC0:
return 0
case GP27:
case ADC1:
return 1
case GP28:
case ADC2:
return 2
case GP29:
case ADC3:
return 3
default:
return 0