nrf51: define and use P0_xx constants

This makes nrf51 consistent with nrf52 and other chips, which do provide
constants for hardware pin numbers.
I've also added the microbit to the smoketest because it is used on
play.tinygo.org. And removed PCA10040 and PCA10056 because they aren't
provided on play.tinygo.org anymore.
Этот коммит содержится в:
Ayke van Laethem 2022-06-28 14:57:18 +02:00 коммит произвёл Ron Evans
родитель 926c02b6ff
коммит 20a46e1b28
5 изменённых файлов: 96 добавлений и 58 удалений

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

@ -454,9 +454,7 @@ ifneq ($(WASM), 0)
@$(MD5SUM) test.wasm @$(MD5SUM) test.wasm
$(TINYGO) build -size short -o test.wasm -tags=reelboard examples/blinky1 $(TINYGO) build -size short -o test.wasm -tags=reelboard examples/blinky1
@$(MD5SUM) test.wasm @$(MD5SUM) test.wasm
$(TINYGO) build -size short -o test.wasm -tags=pca10040 examples/blinky2 $(TINYGO) build -size short -o test.wasm -tags=microbit examples/microbit-blink
@$(MD5SUM) test.wasm
$(TINYGO) build -size short -o test.wasm -tags=pca10056 examples/blinky2
@$(MD5SUM) test.wasm @$(MD5SUM) test.wasm
$(TINYGO) build -size short -o test.wasm -tags=circuitplay_express examples/blinky1 $(TINYGO) build -size short -o test.wasm -tags=circuitplay_express examples/blinky1
@$(MD5SUM) test.wasm @$(MD5SUM) test.wasm

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

@ -8,72 +8,72 @@ const HasLowFrequencyCrystal = false
// Buttons on the micro:bit (A and B) // Buttons on the micro:bit (A and B)
const ( const (
BUTTON Pin = BUTTONA BUTTON = BUTTONA
BUTTONA Pin = 17 BUTTONA = P0_17
BUTTONB Pin = 26 BUTTONB = P0_26
) )
var DefaultUART = UART0 var DefaultUART = UART0
// UART pins // UART pins
const ( const (
UART_TX_PIN Pin = 24 UART_TX_PIN = P0_24
UART_RX_PIN Pin = 25 UART_RX_PIN = P0_25
) )
// ADC pins // ADC pins
const ( const (
ADC0 Pin = 3 // P0 on the board ADC0 = P0_03 // P0 on the board
ADC1 Pin = 2 // P1 on the board ADC1 = P0_02 // P1 on the board
ADC2 Pin = 1 // P2 on the board ADC2 = P0_01 // P2 on the board
) )
// I2C pins // I2C pins
const ( const (
SDA_PIN Pin = 30 // P20 on the board SDA_PIN = P0_30 // P20 on the board
SCL_PIN Pin = 0 // P19 on the board SCL_PIN = P0_00 // P19 on the board
) )
// SPI pins // SPI pins
const ( const (
SPI0_SCK_PIN Pin = 23 // P13 on the board SPI0_SCK_PIN = P0_23 // P13 on the board
SPI0_SDO_PIN Pin = 21 // P15 on the board SPI0_SDO_PIN = P0_21 // P15 on the board
SPI0_SDI_PIN Pin = 22 // P14 on the board SPI0_SDI_PIN = P0_22 // P14 on the board
) )
// GPIO/Analog pins // GPIO/Analog pins
const ( const (
P0 Pin = 3 P0 = P0_03
P1 Pin = 2 P1 = P0_02
P2 Pin = 1 P2 = P0_01
P3 Pin = 4 P3 = P0_04
P4 Pin = 5 P4 = P0_05
P5 Pin = 17 P5 = P0_17
P6 Pin = 12 P6 = P0_12
P7 Pin = 11 P7 = P0_11
P8 Pin = 18 P8 = P0_18
P9 Pin = 10 P9 = P0_10
P10 Pin = 6 P10 = P0_06
P11 Pin = 26 P11 = P0_26
P12 Pin = 20 P12 = P0_20
P13 Pin = 23 P13 = P0_23
P14 Pin = 22 P14 = P0_22
P15 Pin = 21 P15 = P0_21
P16 Pin = 16 P16 = P0_16
) )
// LED matrix pins // LED matrix pins
const ( const (
LED_COL_1 Pin = 4 LED_COL_1 = P0_04
LED_COL_2 Pin = 5 LED_COL_2 = P0_05
LED_COL_3 Pin = 6 LED_COL_3 = P0_06
LED_COL_4 Pin = 7 LED_COL_4 = P0_07
LED_COL_5 Pin = 8 LED_COL_5 = P0_08
LED_COL_6 Pin = 9 LED_COL_6 = P0_09
LED_COL_7 Pin = 10 LED_COL_7 = P0_10
LED_COL_8 Pin = 11 LED_COL_8 = P0_11
LED_COL_9 Pin = 12 LED_COL_9 = P0_12
LED_ROW_1 Pin = 13 LED_ROW_1 = P0_13
LED_ROW_2 Pin = 14 LED_ROW_2 = P0_14
LED_ROW_3 Pin = 15 LED_ROW_3 = P0_15
) )

44
src/machine/board_nrf51.go Обычный файл
Просмотреть файл

@ -0,0 +1,44 @@
//go:build nrf51 || microbit
// +build nrf51 microbit
package machine
func CPUFrequency() uint32 {
return 16000000
}
// Hardware pins
const (
P0_00 Pin = 0
P0_01 Pin = 1
P0_02 Pin = 2
P0_03 Pin = 3
P0_04 Pin = 4
P0_05 Pin = 5
P0_06 Pin = 6
P0_07 Pin = 7
P0_08 Pin = 8
P0_09 Pin = 9
P0_10 Pin = 10
P0_11 Pin = 11
P0_12 Pin = 12
P0_13 Pin = 13
P0_14 Pin = 14
P0_15 Pin = 15
P0_16 Pin = 16
P0_17 Pin = 17
P0_18 Pin = 18
P0_19 Pin = 19
P0_20 Pin = 20
P0_21 Pin = 21
P0_22 Pin = 22
P0_23 Pin = 23
P0_24 Pin = 24
P0_25 Pin = 25
P0_26 Pin = 26
P0_27 Pin = 27
P0_28 Pin = 28
P0_29 Pin = 29
P0_30 Pin = 30
P0_31 Pin = 31
)

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

@ -11,21 +11,21 @@ const HasLowFrequencyCrystal = true
// LED on the pca10031 // LED on the pca10031
const ( const (
LED Pin = LED_RED LED = LED_RED
LED1 Pin = LED_RED LED1 = LED_RED
LED2 Pin = LED_GREEN LED2 = LED_GREEN
LED3 Pin = LED_BLUE LED3 = LED_BLUE
LED_RED Pin = 21 LED_RED = P0_21
LED_GREEN Pin = 22 LED_GREEN = P0_22
LED_BLUE Pin = 23 LED_BLUE = P0_23
) )
var DefaultUART = UART0 var DefaultUART = UART0
// UART pins // UART pins
const ( const (
UART_TX_PIN Pin = 9 UART_TX_PIN = P0_09
UART_RX_PIN Pin = 11 UART_RX_PIN = P0_11
) )
// I2C pins (disabled) // I2C pins (disabled)

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

@ -7,10 +7,6 @@ import (
"device/nrf" "device/nrf"
) )
func CPUFrequency() uint32 {
return 16000000
}
// Get peripheral and pin number for this GPIO pin. // Get peripheral and pin number for this GPIO pin.
func (p Pin) getPortPin() (*nrf.GPIO_Type, uint32) { func (p Pin) getPortPin() (*nrf.GPIO_Type, uint32) {
return nrf.GPIO, uint32(p) return nrf.GPIO, uint32(p)