summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Ruben Bakke <glennbakke@gmail.com>2018-03-30 14:20:52 +0200
committerDamien George <damien.p.george@gmail.com>2018-07-18 17:12:26 +1000
commit864f671744a36b1860671d1074dacc12b40ae426 (patch)
treeb573cd2cde301639421ab7d27fc7f2540b9a085d
parent2de65dda2226b6ac08e978a93365b886424838f1 (diff)
nrf: Remove port member from Pin object
In order to be able to support GPIO1 port on nrf52840 the port has been removed from the Pin object. All pins on port1 will now be incrementally on top of the pin numbers for gpio0. Hence, Pin 1.00 will become P32, and Pin 1.15 will become P47. The modification is done to address the new gpio HAL interface in nrfx, which resolves the port to be configured base on a multiple of 32. The patch also affects the existing devices which does not have a second GPIO port in the way that the port indication A and B is removed from Pin generation. This means that the port which was earlier addressed as PA0 is now P0, and PA31 is P31. Also, this patch removes the gpio member which earlier pointed to the perihperal GPIO base address. This is not needed anymore, hence removed.
-rw-r--r--ports/nrf/boards/arduino_primo/mpconfigboard.h12
-rw-r--r--ports/nrf/boards/arduino_primo/pins.csv60
-rw-r--r--ports/nrf/boards/dvk_bl652/mpconfigboard.h14
-rw-r--r--ports/nrf/boards/dvk_bl652/pins.csv60
-rw-r--r--ports/nrf/boards/feather52/mpconfigboard.h10
-rw-r--r--ports/nrf/boards/feather52/pins.csv50
-rw-r--r--ports/nrf/boards/make-pins.py37
-rw-r--r--ports/nrf/boards/microbit/mpconfigboard.h12
-rw-r--r--ports/nrf/boards/microbit/pins.csv64
-rw-r--r--ports/nrf/boards/nrf51_prefix.c6
-rw-r--r--ports/nrf/boards/nrf52_prefix.c6
-rw-r--r--ports/nrf/boards/pca10000/mpconfigboard.h4
-rw-r--r--ports/nrf/boards/pca10000/pins.csv14
-rw-r--r--ports/nrf/boards/pca10001/mpconfigboard.h8
-rw-r--r--ports/nrf/boards/pca10001/pins.csv64
-rw-r--r--ports/nrf/boards/pca10028/mpconfigboard.h14
-rw-r--r--ports/nrf/boards/pca10028/pins.csv64
-rw-r--r--ports/nrf/boards/pca10031/mpconfigboard.h14
-rw-r--r--ports/nrf/boards/pca10031/pins.csv26
-rw-r--r--ports/nrf/boards/pca10040/mpconfigboard.h14
-rw-r--r--ports/nrf/boards/pca10040/pins.csv60
-rw-r--r--ports/nrf/boards/pca10056/mpconfigboard.h14
-rw-r--r--ports/nrf/boards/pca10056/pins.csv96
-rw-r--r--ports/nrf/boards/wt51822_s4at/mpconfigboard.h10
-rw-r--r--ports/nrf/boards/wt51822_s4at/pins.csv14
-rw-r--r--ports/nrf/examples/mountsd.py2
-rw-r--r--ports/nrf/examples/musictest.py4
-rw-r--r--ports/nrf/examples/nrf52_pwm.py4
-rw-r--r--ports/nrf/examples/nrf52_servo.py2
-rw-r--r--ports/nrf/examples/powerup.py12
-rw-r--r--ports/nrf/examples/seeed_tft.py6
-rw-r--r--ports/nrf/modules/machine/pin.c14
-rw-r--r--ports/nrf/modules/machine/pin.h5
-rw-r--r--ports/nrf/nrf51_af.csv64
-rw-r--r--ports/nrf/nrf52_af.csv96
35 files changed, 466 insertions, 490 deletions
diff --git a/ports/nrf/boards/arduino_primo/mpconfigboard.h b/ports/nrf/boards/arduino_primo/mpconfigboard.h
index bc1a6a1d5..e4a5d9bf2 100644
--- a/ports/nrf/boards/arduino_primo/mpconfigboard.h
+++ b/ports/nrf/boards/arduino_primo/mpconfigboard.h
@@ -60,21 +60,21 @@
#define MICROPY_HW_LED1 (20) // LED1
// UART config
-#define MICROPY_HW_UART1_RX (pin_A11)
-#define MICROPY_HW_UART1_TX (pin_A12)
+#define MICROPY_HW_UART1_RX (pin_P11)
+#define MICROPY_HW_UART1_TX (pin_P12)
#define MICROPY_HW_UART1_HWFC (0)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A25) // (Arduino D13)
-#define MICROPY_HW_SPI0_MOSI (pin_A23) // (Arduino D11)
-#define MICROPY_HW_SPI0_MISO (pin_A24) // (Arduino D12)
+#define MICROPY_HW_SPI0_SCK (pin_P25) // (Arduino D13)
+#define MICROPY_HW_SPI0_MOSI (pin_P23) // (Arduino D11)
+#define MICROPY_HW_SPI0_MISO (pin_P24) // (Arduino D12)
#define MICROPY_HW_PWM0_NAME "PWM0"
#define MICROPY_HW_PWM1_NAME "PWM1"
#define MICROPY_HW_PWM2_NAME "PWM2"
// buzzer pin
-#define MICROPY_HW_MUSIC_PIN (pin_A8)
+#define MICROPY_HW_MUSIC_PIN (pin_P8)
#define HELP_TEXT_BOARD_LED "1"
diff --git a/ports/nrf/boards/arduino_primo/pins.csv b/ports/nrf/boards/arduino_primo/pins.csv
index c17713398..90bf84a04 100644
--- a/ports/nrf/boards/arduino_primo/pins.csv
+++ b/ports/nrf/boards/arduino_primo/pins.csv
@@ -1,30 +1,30 @@
-PA2,PA2
-PA3,PA3
-PA4,PA4
-PA5,PA5
-PA6,PA6
-PA7,PA7
-PA8,PA8
-PA9,PA9
-PA10,PA10
-PA11,PA11
-PA12,PA12
-PA13,PA13
-PA14,PA14
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20
-PA21,PA21
-PA22,PA22
-PA23,PA23
-PA24,PA24
-PA25,PA25
-PA26,PA26
-PA27,PA27
-PA28,PA28
-PA29,PA29
-PA30,PA30
-PA31,PA31 \ No newline at end of file
+P2,P2
+P3,P3
+P4,P4
+P5,P5
+P6,P6
+P7,P7
+P8,P8
+P9,P9
+P10,P10
+P11,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+P30,P30
+P31,P31
diff --git a/ports/nrf/boards/dvk_bl652/mpconfigboard.h b/ports/nrf/boards/dvk_bl652/mpconfigboard.h
index 70ff6d309..150dd3318 100644
--- a/ports/nrf/boards/dvk_bl652/mpconfigboard.h
+++ b/ports/nrf/boards/dvk_bl652/mpconfigboard.h
@@ -60,17 +60,17 @@
#define MICROPY_HW_LED2 (19) // LED2
// UART config
-#define MICROPY_HW_UART1_RX (pin_A8)
-#define MICROPY_HW_UART1_TX (pin_A6)
-#define MICROPY_HW_UART1_CTS (pin_A7)
-#define MICROPY_HW_UART1_RTS (pin_A5)
+#define MICROPY_HW_UART1_RX (pin_P8)
+#define MICROPY_HW_UART1_TX (pin_P6)
+#define MICROPY_HW_UART1_CTS (pin_P7)
+#define MICROPY_HW_UART1_RTS (pin_P5)
#define MICROPY_HW_UART1_HWFC (1)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A25)
-#define MICROPY_HW_SPI0_MOSI (pin_A23)
-#define MICROPY_HW_SPI0_MISO (pin_A24)
+#define MICROPY_HW_SPI0_SCK (pin_P25)
+#define MICROPY_HW_SPI0_MOSI (pin_P23)
+#define MICROPY_HW_SPI0_MISO (pin_P24)
#define MICROPY_HW_PWM0_NAME "PWM0"
#define MICROPY_HW_PWM1_NAME "PWM1"
diff --git a/ports/nrf/boards/dvk_bl652/pins.csv b/ports/nrf/boards/dvk_bl652/pins.csv
index 126fa5b2f..78e249fca 100644
--- a/ports/nrf/boards/dvk_bl652/pins.csv
+++ b/ports/nrf/boards/dvk_bl652/pins.csv
@@ -1,31 +1,31 @@
-PA2,PA2
-PA3,PA3
-PA4,PA4
-UART_RTS,PA5
-UART_TX,PA6
-UART_CTS,PA7
-UART_RX,PA8
-PA9,PA9
-PA10,PA10
-PA11,PA11
-PA12,PA12
-PA13,PA13
-PA14,PA14
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20
-PA21,PA21
-PA22,PA22
-PA23,PA23
-PA24,PA24
-PA25,PA25
-PA26,PA26
-PA27,PA27
-PA28,PA28
-PA29,PA29
-PA30,PA30
-PA31,PA31
+P2,P2
+P3,P3
+P4,P4
+UART_RTS,P5
+UART_TX,P6
+UART_CTS,P7
+UART_RX,P8
+P9,P9
+P10,P10
+P11,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+P30,P30
+P31,P31
diff --git a/ports/nrf/boards/feather52/mpconfigboard.h b/ports/nrf/boards/feather52/mpconfigboard.h
index e1f4a0e9c..ca2284af4 100644
--- a/ports/nrf/boards/feather52/mpconfigboard.h
+++ b/ports/nrf/boards/feather52/mpconfigboard.h
@@ -60,15 +60,15 @@
#define MICROPY_HW_LED2 (19) // LED2
// UART config
-#define MICROPY_HW_UART1_RX (pin_A8)
-#define MICROPY_HW_UART1_TX (pin_A6)
+#define MICROPY_HW_UART1_RX (pin_P8)
+#define MICROPY_HW_UART1_TX (pin_P6)
#define MICROPY_HW_UART1_HWFC (0)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A12) // (Arduino D13)
-#define MICROPY_HW_SPI0_MOSI (pin_A13) // (Arduino D11)
-#define MICROPY_HW_SPI0_MISO (pin_A14) // (Arduino D12)
+#define MICROPY_HW_SPI0_SCK (pin_P12) // (Arduino D13)
+#define MICROPY_HW_SPI0_MOSI (pin_P13) // (Arduino D11)
+#define MICROPY_HW_SPI0_MISO (pin_P14) // (Arduino D12)
#define MICROPY_HW_PWM0_NAME "PWM0"
#define MICROPY_HW_PWM1_NAME "PWM1"
diff --git a/ports/nrf/boards/feather52/pins.csv b/ports/nrf/boards/feather52/pins.csv
index b7017602a..be1ab7f2e 100644
--- a/ports/nrf/boards/feather52/pins.csv
+++ b/ports/nrf/boards/feather52/pins.csv
@@ -1,25 +1,25 @@
-PA2,PA2,ADC0_IN0
-PA3,PA3,ADC0_IN1
-PA4,PA4,ADC0_IN2
-PA5,PA5,ADC0_IN3
-UART_TX,PA6
-PA7,PA7
-UART_RX,PA8
-NFC1,PA9
-NFC2,PA10
-PA11,PA11
-SPI_SCK,PA12
-SPI_MOSI,PA13
-SPI_MISO,PA14
-PA15,PA15
-PA16,PA16
-LED1,PA17
-LED2,PA19
-PA20,PA20
-I2C_SDA,PA25
-I2C_SCL,PA26
-PA27,PA27
-PA28,PA28,ADC0_IN4
-PA29,PA29,ADC0_IN5
-PA30,PA30,ADC0_IN6
-PA31,PA31,ADC0_IN7
+P2,P2,ADC0_IN0
+P3,P3,ADC0_IN1
+P4,P4,ADC0_IN2
+P5,P5,ADC0_IN3
+UART_TX,P6
+P7,P7
+UART_RX,P8
+NFC1,P9
+NFC2,P10
+P11,P11
+SPI_SCK,P12
+SPI_MOSI,P13
+SPI_MISO,P14
+P15,P15
+P16,P16
+LED1,P17
+LED2,P19
+P20,P20
+I2C_SDA,P25
+I2C_SCL,P26
+P27,P27
+P28,P28,ADC0_IN4
+P29,P29,ADC0_IN5
+P30,P30,ADC0_IN6
+P31,P31,ADC0_IN7
diff --git a/ports/nrf/boards/make-pins.py b/ports/nrf/boards/make-pins.py
index 733bd8c33..84d70add2 100644
--- a/ports/nrf/boards/make-pins.py
+++ b/ports/nrf/boards/make-pins.py
@@ -11,19 +11,16 @@ SUPPORTED_FN = {
'UART' : ['RX', 'TX', 'CTS', 'RTS']
}
-def parse_port_pin(name_str):
- """Parses a string and returns a (port-num, pin-num) tuple."""
- if len(name_str) < 3:
+def parse_pin(name_str):
+ """Parses a string and returns a pin-num."""
+ if len(name_str) < 1:
raise ValueError("Expecting pin name to be at least 4 charcters.")
if name_str[0] != 'P':
raise ValueError("Expecting pin name to start with P")
- if name_str[1] not in ('A', 'B'):
- raise ValueError("Expecting pin port to be in A or B")
- port = ord(name_str[1]) - ord('A')
- pin_str = name_str[2:].split('/')[0]
+ pin_str = name_str[1:].split('/')[0]
if not pin_str.isdigit():
raise ValueError("Expecting numeric pin number.")
- return (port, int(pin_str))
+ return int(pin_str)
def split_name_num(name_num):
num = None
@@ -89,8 +86,7 @@ class AlternateFunction(object):
class Pin(object):
"""Holds the information associated with a pin."""
- def __init__(self, port, pin):
- self.port = port
+ def __init__(self, pin):
self.pin = pin
self.alt_fn = []
self.alt_fn_count = 0
@@ -98,11 +94,8 @@ class Pin(object):
self.adc_channel = 0
self.board_pin = False
- def port_letter(self):
- return chr(self.port + ord('A'))
-
def cpu_pin_name(self):
- return '{:s}{:d}'.format(self.port_letter(), self.pin)
+ return '{:s}{:d}'.format("P", self.pin)
def is_board_pin(self):
return self.board_pin
@@ -157,8 +150,8 @@ class Pin(object):
print("// ", end='')
print('};')
print('')
- print('const pin_obj_t pin_{:s} = PIN({:s}, {:d}, {:s}, {:s}, {:d});'.format(
- self.cpu_pin_name(), self.port_letter(), self.pin,
+ print('const pin_obj_t pin_{:s} = PIN({:d}, {:s}, {:s}, {:d});'.format(
+ self.cpu_pin_name(), self.pin,
self.alt_fn_name(null_if_0=True),
self.adc_num_str(), self.adc_channel))
print('')
@@ -197,10 +190,10 @@ class Pins(object):
self.cpu_pins = [] # list of NamedPin objects
self.board_pins = [] # list of NamedPin objects
- def find_pin(self, port_num, pin_num):
+ def find_pin(self, pin_num):
for named_pin in self.cpu_pins:
pin = named_pin.pin()
- if pin.port == port_num and pin.pin == pin_num:
+ if pin.pin == pin_num:
return pin
def parse_af_file(self, filename, pinname_col, af_col, af_col_end):
@@ -208,10 +201,10 @@ class Pins(object):
rows = csv.reader(csvfile)
for row in rows:
try:
- (port_num, pin_num) = parse_port_pin(row[pinname_col])
+ pin_num = parse_pin(row[pinname_col])
except:
continue
- pin = Pin(port_num, pin_num)
+ pin = Pin(pin_num)
for af_idx in range(af_col, len(row)):
if af_idx < af_col_end:
pin.parse_af(af_idx - af_col, row[af_idx])
@@ -224,10 +217,10 @@ class Pins(object):
rows = csv.reader(csvfile)
for row in rows:
try:
- (port_num, pin_num) = parse_port_pin(row[1])
+ pin_num = parse_pin(row[1])
except:
continue
- pin = self.find_pin(port_num, pin_num)
+ pin = self.find_pin(pin_num)
if pin:
pin.set_is_board_pin()
self.board_pins.append(NamedPin(row[0], pin))
diff --git a/ports/nrf/boards/microbit/mpconfigboard.h b/ports/nrf/boards/microbit/mpconfigboard.h
index a5753e1aa..5aa2fb10d 100644
--- a/ports/nrf/boards/microbit/mpconfigboard.h
+++ b/ports/nrf/boards/microbit/mpconfigboard.h
@@ -56,15 +56,15 @@
#define MICROPY_HW_ENABLE_CAN (0)
// UART config
-#define MICROPY_HW_UART1_RX (pin_A25)
-#define MICROPY_HW_UART1_TX (pin_A24)
+#define MICROPY_HW_UART1_RX (pin_P25)
+#define MICROPY_HW_UART1_TX (pin_P24)
#define MICROPY_HW_UART1_HWFC (0)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A23)
-#define MICROPY_HW_SPI0_MOSI (pin_A21)
-#define MICROPY_HW_SPI0_MISO (pin_A22)
+#define MICROPY_HW_SPI0_SCK (pin_P23)
+#define MICROPY_HW_SPI0_MOSI (pin_P21)
+#define MICROPY_HW_SPI0_MISO (pin_P22)
// micro:bit music pin
-#define MICROPY_HW_MUSIC_PIN (pin_A3)
+#define MICROPY_HW_MUSIC_PIN (pin_P3)
diff --git a/ports/nrf/boards/microbit/pins.csv b/ports/nrf/boards/microbit/pins.csv
index bb118c30a..40413ef97 100644
--- a/ports/nrf/boards/microbit/pins.csv
+++ b/ports/nrf/boards/microbit/pins.csv
@@ -1,32 +1,32 @@
-I2C_SCL,PA0
-PA1,PA1
-PA2,PA2
-PA3,PA3
-PA4,PA4
-PA5,PA5
-PA6,PA6
-PA7,PA7
-UART_RTS,PA8
-UART_TX,PA9
-UART_CTS,PA10
-UART_RX,PA11
-PA12,PA12
-PA13,PA13
-PA14,PA14
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20
-SPI_MOSI,PA21
-SPI_MISO,PA22
-SPI_SCK,PA23
-PA24,PA24
-PA25,PA25
-PA26,PA26
-PA27,PA27
-PA28,PA28
-PA29,PA29
-I2C_SDA,PA30
-PA31,PA31
+I2C_SCL,P0
+P1,P1
+P2,P2
+P3,P3
+P4,P4
+P5,P5
+P6,P6
+P7,P7
+UART_RTS,P8
+UART_TX,P9
+UART_CTS,P10
+UART_RX,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+SPI_MOSI,P21
+SPI_MISO,P22
+SPI_SCK,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+I2C_SDA,P30
+P31,P31
diff --git a/ports/nrf/boards/nrf51_prefix.c b/ports/nrf/boards/nrf51_prefix.c
index a2413fe6b..b81992283 100644
--- a/ports/nrf/boards/nrf51_prefix.c
+++ b/ports/nrf/boards/nrf51_prefix.c
@@ -17,14 +17,12 @@
.af_fn = (af_ptr) \
}
-#define PIN(p_port, p_pin, p_af, p_adc_num, p_adc_channel) \
+#define PIN(p_pin, p_af, p_adc_num, p_adc_channel) \
{ \
{ &pin_type }, \
- .name = MP_QSTR_ ## p_port ## p_pin, \
- .port = PORT_ ## p_port, \
+ .name = MP_QSTR_P ## p_pin, \
.pin = (p_pin), \
.num_af = (sizeof(p_af) / sizeof(pin_af_obj_t)), \
- .pin_mask = (1 << p_pin), \
.af = p_af, \
.adc_num = p_adc_num, \
.adc_channel = p_adc_channel, \
diff --git a/ports/nrf/boards/nrf52_prefix.c b/ports/nrf/boards/nrf52_prefix.c
index 89e5df5b1..ede33f22d 100644
--- a/ports/nrf/boards/nrf52_prefix.c
+++ b/ports/nrf/boards/nrf52_prefix.c
@@ -17,14 +17,12 @@
.af_fn = (af_ptr) \
}
-#define PIN(p_port, p_pin, p_af, p_adc_num, p_adc_channel) \
+#define PIN(p_pin, p_af, p_adc_num, p_adc_channel) \
{ \
{ &pin_type }, \
- .name = MP_QSTR_ ## p_port ## p_pin, \
- .port = PORT_ ## p_port, \
+ .name = MP_QSTR_P ## p_pin, \
.pin = (p_pin), \
.num_af = (sizeof(p_af) / sizeof(pin_af_obj_t)), \
- .pin_mask = (1 << p_pin), \
.af = p_af, \
.adc_num = p_adc_num, \
.adc_channel = p_adc_channel, \
diff --git a/ports/nrf/boards/pca10000/mpconfigboard.h b/ports/nrf/boards/pca10000/mpconfigboard.h
index e4e635c1d..89108d0c0 100644
--- a/ports/nrf/boards/pca10000/mpconfigboard.h
+++ b/ports/nrf/boards/pca10000/mpconfigboard.h
@@ -60,8 +60,8 @@
#define MICROPY_HW_LED_BLUE (23) // BLUE
// UART config
-#define MICROPY_HW_UART1_RX (pin_A11)
-#define MICROPY_HW_UART1_TX (pin_A9)
+#define MICROPY_HW_UART1_RX (pin_P11)
+#define MICROPY_HW_UART1_TX (pin_P9)
#define MICROPY_HW_UART1_HWFC (0)
#define HELP_TEXT_BOARD_LED "1,2,3"
diff --git a/ports/nrf/boards/pca10000/pins.csv b/ports/nrf/boards/pca10000/pins.csv
index cc3f62db1..75fcbaca7 100644
--- a/ports/nrf/boards/pca10000/pins.csv
+++ b/ports/nrf/boards/pca10000/pins.csv
@@ -1,7 +1,7 @@
-UART_RTS,PA8
-UART_TX,PA9
-UART_CTS,PA10
-UART_RX,PA11
-LED_RED,PA21
-LED_GREEN,PA22
-LED_BLUE,PA23 \ No newline at end of file
+UART_RTS,P8
+UART_TX,P9
+UART_CTS,P10
+UART_RX,P11
+LED_RED,P21
+LED_GREEN,P22
+LED_BLUE,P23
diff --git a/ports/nrf/boards/pca10001/mpconfigboard.h b/ports/nrf/boards/pca10001/mpconfigboard.h
index 3b41b3ff1..3ecea41e8 100644
--- a/ports/nrf/boards/pca10001/mpconfigboard.h
+++ b/ports/nrf/boards/pca10001/mpconfigboard.h
@@ -60,10 +60,10 @@
#define MICROPY_HW_LED2 (19) // LED2
// UART config
-#define MICROPY_HW_UART1_RX (pin_A11)
-#define MICROPY_HW_UART1_TX (pin_A9)
-#define MICROPY_HW_UART1_CTS (pin_A10)
-#define MICROPY_HW_UART1_RTS (pin_A8)
+#define MICROPY_HW_UART1_RX (pin_P11)
+#define MICROPY_HW_UART1_TX (pin_P9)
+#define MICROPY_HW_UART1_CTS (pin_P10)
+#define MICROPY_HW_UART1_RTS (pin_P8)
#define MICROPY_HW_UART1_HWFC (0)
#define HELP_TEXT_BOARD_LED "1,2"
diff --git a/ports/nrf/boards/pca10001/pins.csv b/ports/nrf/boards/pca10001/pins.csv
index 2b1696986..659fc87e0 100644
--- a/ports/nrf/boards/pca10001/pins.csv
+++ b/ports/nrf/boards/pca10001/pins.csv
@@ -1,32 +1,32 @@
-PA0,PA0
-PA1,PA1
-PA2,PA2
-PA3,PA3
-PA4,PA4
-PA5,PA5
-PA6,PA6
-PA7,PA7
-UART_RTS,PA8
-UART_TX,PA9
-UART_CTS,PA10
-UART_RX,PA11
-PA12,PA12
-PA13,PA13
-PA14,PA14
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20
-PA21,PA21
-PA22,PA22
-PA23,PA23
-PA24,PA24
-PA25,PA25
-PA26,PA26
-PA27,PA27
-PA28,PA28
-PA29,PA29
-PA30,PA30
-PA31,PA31 \ No newline at end of file
+P0,P0
+P1,P1
+P2,P2
+P3,P3
+P4,P4
+P5,P5
+P6,P6
+P7,P7
+UART_RTS,P8
+UART_TX,P9
+UART_CTS,P10
+UART_RX,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+P30,P30
+P31,P31
diff --git a/ports/nrf/boards/pca10028/mpconfigboard.h b/ports/nrf/boards/pca10028/mpconfigboard.h
index 91d19f85c..26c85f0f5 100644
--- a/ports/nrf/boards/pca10028/mpconfigboard.h
+++ b/ports/nrf/boards/pca10028/mpconfigboard.h
@@ -61,16 +61,16 @@
#define MICROPY_HW_LED4 (24) // LED4
// UART config
-#define MICROPY_HW_UART1_RX (pin_A11)
-#define MICROPY_HW_UART1_TX (pin_A9)
-#define MICROPY_HW_UART1_CTS (pin_A10)
-#define MICROPY_HW_UART1_RTS (pin_A8)
+#define MICROPY_HW_UART1_RX (pin_P11)
+#define MICROPY_HW_UART1_TX (pin_P9)
+#define MICROPY_HW_UART1_CTS (pin_P10)
+#define MICROPY_HW_UART1_RTS (pin_P8)
#define MICROPY_HW_UART1_HWFC (1)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A29)
-#define MICROPY_HW_SPI0_MOSI (pin_A25)
-#define MICROPY_HW_SPI0_MISO (pin_A28)
+#define MICROPY_HW_SPI0_SCK (pin_P29)
+#define MICROPY_HW_SPI0_MOSI (pin_P25)
+#define MICROPY_HW_SPI0_MISO (pin_P28)
#define HELP_TEXT_BOARD_LED "1,2,3,4"
diff --git a/ports/nrf/boards/pca10028/pins.csv b/ports/nrf/boards/pca10028/pins.csv
index c239ba490..33f9b8eec 100644
--- a/ports/nrf/boards/pca10028/pins.csv
+++ b/ports/nrf/boards/pca10028/pins.csv
@@ -1,32 +1,32 @@
-PA0,PA0
-PA1,PA1,ADC0_IN2
-PA2,PA2,ADC0_IN3
-PA3,PA3,ADC0_IN4
-PA4,PA4,ADC0_IN5
-PA5,PA5,ADC0_IN6
-PA6,PA6,ADC0_IN7
-PA7,PA7
-UART_RTS,PA8
-UART_TX,PA9
-UART_CTS,PA10
-UART_RX,PA11
-PA12,PA12
-PA13,PA13
-PA14,PA14
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20
-PA21,PA21
-PA22,PA22
-PA23,PA23
-PA24,PA24
-PA25,PA25
-PA26,PA26
-PA27,PA27
-PA28,PA28
-PA29,PA29
-PA30,PA30
-PA31,PA31 \ No newline at end of file
+P0,P0
+P1,P1,ADC0_IN2
+P2,P2,ADC0_IN3
+P3,P3,ADC0_IN4
+P4,P4,ADC0_IN5
+P5,P5,ADC0_IN6
+P6,P6,ADC0_IN7
+P7,P7
+UART_RTS,P8
+UART_TX,P9
+UART_CTS,P10
+UART_RX,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+P30,P30
+P31,P31
diff --git a/ports/nrf/boards/pca10031/mpconfigboard.h b/ports/nrf/boards/pca10031/mpconfigboard.h
index 55b356622..b4a21c876 100644
--- a/ports/nrf/boards/pca10031/mpconfigboard.h
+++ b/ports/nrf/boards/pca10031/mpconfigboard.h
@@ -60,16 +60,16 @@
#define MICROPY_HW_LED_BLUE (23) // BLUE
// UART config
-#define MICROPY_HW_UART1_RX (pin_A11)
-#define MICROPY_HW_UART1_TX (pin_A9)
-#define MICROPY_HW_UART1_CTS (pin_A10)
-#define MICROPY_HW_UART1_RTS (pin_A8)
+#define MICROPY_HW_UART1_RX (pin_P11)
+#define MICROPY_HW_UART1_TX (pin_P9)
+#define MICROPY_HW_UART1_CTS (pin_P10)
+#define MICROPY_HW_UART1_RTS (pin_P8)
#define MICROPY_HW_UART1_HWFC (0)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A15)
-#define MICROPY_HW_SPI0_MOSI (pin_A16)
-#define MICROPY_HW_SPI0_MISO (pin_A17)
+#define MICROPY_HW_SPI0_SCK (pin_P15)
+#define MICROPY_HW_SPI0_MOSI (pin_P16)
+#define MICROPY_HW_SPI0_MISO (pin_P17)
#define HELP_TEXT_BOARD_LED "1,2,3"
diff --git a/ports/nrf/boards/pca10031/pins.csv b/ports/nrf/boards/pca10031/pins.csv
index b27a12b91..f70089866 100644
--- a/ports/nrf/boards/pca10031/pins.csv
+++ b/ports/nrf/boards/pca10031/pins.csv
@@ -1,13 +1,13 @@
-UART_RTS,PA8
-UART_TX,PA9
-UART_CTS,PA10
-UART_RX,PA11
-LED_RED,PA21
-LED_GREEN,PA22
-LED_BLUE,PA23
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20 \ No newline at end of file
+UART_RTS,P8
+UART_TX,P9
+UART_CTS,P10
+UART_RX,P11
+LED_RED,P21
+LED_GREEN,P22
+LED_BLUE,P23
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
diff --git a/ports/nrf/boards/pca10040/mpconfigboard.h b/ports/nrf/boards/pca10040/mpconfigboard.h
index 7ca9641bc..ca2edb942 100644
--- a/ports/nrf/boards/pca10040/mpconfigboard.h
+++ b/ports/nrf/boards/pca10040/mpconfigboard.h
@@ -63,17 +63,17 @@
#define MICROPY_HW_LED4 (20) // LED4
// UART config
-#define MICROPY_HW_UART1_RX (pin_A8)
-#define MICROPY_HW_UART1_TX (pin_A6)
-#define MICROPY_HW_UART1_CTS (pin_A7)
-#define MICROPY_HW_UART1_RTS (pin_A5)
+#define MICROPY_HW_UART1_RX (pin_P8)
+#define MICROPY_HW_UART1_TX (pin_P6)
+#define MICROPY_HW_UART1_CTS (pin_P7)
+#define MICROPY_HW_UART1_RTS (pin_P5)
#define MICROPY_HW_UART1_HWFC (1)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A25) // (Arduino D13)
-#define MICROPY_HW_SPI0_MOSI (pin_A23) // (Arduino D11)
-#define MICROPY_HW_SPI0_MISO (pin_A24) // (Arduino D12)
+#define MICROPY_HW_SPI0_SCK (pin_P25) // (Arduino D13)
+#define MICROPY_HW_SPI0_MOSI (pin_P23) // (Arduino D11)
+#define MICROPY_HW_SPI0_MISO (pin_P24) // (Arduino D12)
#define MICROPY_HW_PWM0_NAME "PWM0"
#define MICROPY_HW_PWM1_NAME "PWM1"
diff --git a/ports/nrf/boards/pca10040/pins.csv b/ports/nrf/boards/pca10040/pins.csv
index c17713398..90bf84a04 100644
--- a/ports/nrf/boards/pca10040/pins.csv
+++ b/ports/nrf/boards/pca10040/pins.csv
@@ -1,30 +1,30 @@
-PA2,PA2
-PA3,PA3
-PA4,PA4
-PA5,PA5
-PA6,PA6
-PA7,PA7
-PA8,PA8
-PA9,PA9
-PA10,PA10
-PA11,PA11
-PA12,PA12
-PA13,PA13
-PA14,PA14
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20
-PA21,PA21
-PA22,PA22
-PA23,PA23
-PA24,PA24
-PA25,PA25
-PA26,PA26
-PA27,PA27
-PA28,PA28
-PA29,PA29
-PA30,PA30
-PA31,PA31 \ No newline at end of file
+P2,P2
+P3,P3
+P4,P4
+P5,P5
+P6,P6
+P7,P7
+P8,P8
+P9,P9
+P10,P10
+P11,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+P30,P30
+P31,P31
diff --git a/ports/nrf/boards/pca10056/mpconfigboard.h b/ports/nrf/boards/pca10056/mpconfigboard.h
index d1b09c3e8..f14e0990e 100644
--- a/ports/nrf/boards/pca10056/mpconfigboard.h
+++ b/ports/nrf/boards/pca10056/mpconfigboard.h
@@ -62,18 +62,18 @@
#define MICROPY_HW_LED4 (16) // LED4
// UART config
-#define MICROPY_HW_UART1_RX (pin_A8)
-#define MICROPY_HW_UART1_TX (pin_A6)
-#define MICROPY_HW_UART1_CTS (pin_A7)
-#define MICROPY_HW_UART1_RTS (pin_A5)
+#define MICROPY_HW_UART1_RX (pin_P8)
+#define MICROPY_HW_UART1_TX (pin_P6)
+#define MICROPY_HW_UART1_CTS (pin_P7)
+#define MICROPY_HW_UART1_RTS (pin_P5)
#define MICROPY_HW_UART1_HWFC (1)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_B15)
-#define MICROPY_HW_SPI0_MOSI (pin_B13)
-#define MICROPY_HW_SPI0_MISO (pin_B14)
+#define MICROPY_HW_SPI0_SCK (pin_P47)
+#define MICROPY_HW_SPI0_MOSI (pin_P45)
+#define MICROPY_HW_SPI0_MISO (pin_P46)
#define MICROPY_HW_PWM0_NAME "PWM0"
#define MICROPY_HW_PWM1_NAME "PWM1"
diff --git a/ports/nrf/boards/pca10056/pins.csv b/ports/nrf/boards/pca10056/pins.csv
index f2f7f1967..e6190bac0 100644
--- a/ports/nrf/boards/pca10056/pins.csv
+++ b/ports/nrf/boards/pca10056/pins.csv
@@ -1,48 +1,48 @@
-PA0,PA0
-PA1,PA1
-PA2,PA2,ADC0_IN0
-PA3,PA3,ADC0_IN1
-PA4,PA4,ADC0_IN2
-PA5,PA5,ADC0_IN3
-PA6,PA6
-PA7,PA7
-PA8,PA8
-PA9,PA9
-PA10,PA10
-PA11,PA11
-PA12,PA12
-PA13,PA13
-PA14,PA14
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20
-PA21,PA21
-PA22,PA22
-PA23,PA23
-PA24,PA24
-PA25,PA25
-PA26,PA26
-PA27,PA27
-PA28,PA28,ADC0_IN4
-PA29,PA29,ADC0_IN5
-PA30,PA30,ADC0_IN6
-PA31,PA31,ADC0_IN7
-PB0,PB0
-PB1,PB1
-PB2,PB2
-PB3,PB3
-PB4,PB4
-PB5,PB5
-PB6,PB6
-PB7,PB7
-PB8,PB8
-PB9,PB9
-PB10,PB10
-PB11,PB11
-PB12,PB12
-PB13,PB13
-PB14,PB14
-PB15,PB15
+P0,P0
+P1,P1
+P2,P2,ADC0_IN0
+P3,P3,ADC0_IN1
+P4,P4,ADC0_IN2
+P5,P5,ADC0_IN3
+P6,P6
+P7,P7
+P8,P8
+P9,P9
+P10,P10
+P11,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28,ADC0_IN4
+P29,P29,ADC0_IN5
+P30,P30,ADC0_IN6
+P31,P31,ADC0_IN7
+P32,P32
+P33,P33
+P34,P34
+P35,P35
+P36,P36
+P37,P37
+P38,P38
+P39,P39
+P40,P40
+P41,P41
+P42,P42
+P43,P43
+P44,P44
+P45,P45
+P46,P46
+P47,P47
diff --git a/ports/nrf/boards/wt51822_s4at/mpconfigboard.h b/ports/nrf/boards/wt51822_s4at/mpconfigboard.h
index 269072570..454542164 100644
--- a/ports/nrf/boards/wt51822_s4at/mpconfigboard.h
+++ b/ports/nrf/boards/wt51822_s4at/mpconfigboard.h
@@ -55,12 +55,12 @@
#define MICROPY_HW_ENABLE_CAN (0)
// UART config
-#define MICROPY_HW_UART1_RX (pin_A1)
-#define MICROPY_HW_UART1_TX (pin_A2)
+#define MICROPY_HW_UART1_RX (pin_P1)
+#define MICROPY_HW_UART1_TX (pin_P2)
#define MICROPY_HW_UART1_HWFC (0)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A9)
-#define MICROPY_HW_SPI0_MOSI (pin_A10)
-#define MICROPY_HW_SPI0_MISO (pin_A13)
+#define MICROPY_HW_SPI0_SCK (pin_P9)
+#define MICROPY_HW_SPI0_MOSI (pin_P10)
+#define MICROPY_HW_SPI0_MISO (pin_P13)
diff --git a/ports/nrf/boards/wt51822_s4at/pins.csv b/ports/nrf/boards/wt51822_s4at/pins.csv
index 01f5e8fce..ae98cb793 100644
--- a/ports/nrf/boards/wt51822_s4at/pins.csv
+++ b/ports/nrf/boards/wt51822_s4at/pins.csv
@@ -1,7 +1,7 @@
-PA1,PA1
-PA2,PA2
-PA3,PA3
-PA4,PA4
-PA9,PA9
-PA10,PA10
-PA13,PA13
+P1,P1
+P2,P2
+P3,P3
+P4,P4
+P9,P9
+P10,P10
+P13,P13
diff --git a/ports/nrf/examples/mountsd.py b/ports/nrf/examples/mountsd.py
index 1577221a6..64e1c888b 100644
--- a/ports/nrf/examples/mountsd.py
+++ b/ports/nrf/examples/mountsd.py
@@ -25,7 +25,7 @@ from machine import SPI, Pin
from sdcard import SDCard
def mnt():
- cs = Pin("A22", mode=Pin.OUT)
+ cs = Pin("P22", mode=Pin.OUT)
sd = SDCard(SPI(0), cs)
os.mount(sd, '/')
diff --git a/ports/nrf/examples/musictest.py b/ports/nrf/examples/musictest.py
index d958543ec..46276d3ef 100644
--- a/ports/nrf/examples/musictest.py
+++ b/ports/nrf/examples/musictest.py
@@ -1,8 +1,8 @@
#
-# Example usage where "A3" is the Buzzer pin.
+# Example usage where "P3" is the Buzzer pin.
#
# from musictest import play
-# play("A3")
+# play("P3")
#
from machine import Pin
diff --git a/ports/nrf/examples/nrf52_pwm.py b/ports/nrf/examples/nrf52_pwm.py
index 2ea1e7be7..b242ea90e 100644
--- a/ports/nrf/examples/nrf52_pwm.py
+++ b/ports/nrf/examples/nrf52_pwm.py
@@ -3,13 +3,13 @@ from machine import PWM, Pin
def pulse():
for i in range(0, 101):
- p = PWM(0, Pin("A17", mode=Pin.OUT), freq=PWM.FREQ_16MHZ, duty=i, period=16000)
+ p = PWM(0, Pin("P17", mode=Pin.OUT), freq=PWM.FREQ_16MHZ, duty=i, period=16000)
p.init()
time.sleep_ms(10)
p.deinit()
for i in range(0, 101):
- p = PWM(0, Pin("A17", mode=Pin.OUT), freq=PWM.FREQ_16MHZ, duty=100-i, period=16000)
+ p = PWM(0, Pin("P17", mode=Pin.OUT), freq=PWM.FREQ_16MHZ, duty=100-i, period=16000)
p.init()
time.sleep_ms(10)
p.deinit()
diff --git a/ports/nrf/examples/nrf52_servo.py b/ports/nrf/examples/nrf52_servo.py
index e9c594af3..baa8600a5 100644
--- a/ports/nrf/examples/nrf52_servo.py
+++ b/ports/nrf/examples/nrf52_servo.py
@@ -30,7 +30,7 @@ class Servo():
if pin_name:
self.pin = Pin(pin_name, mode=Pin.OUT, pull=Pin.PULL_DOWN)
else:
- self.pin = Pin("A22", mode=Pin.OUT, pull=Pin.PULL_DOWN)
+ self.pin = Pin("P22", mode=Pin.OUT, pull=Pin.PULL_DOWN)
def left(self):
p = PWM(0, self.pin, freq=PWM.FREQ_125KHZ, pulse_width=105, period=2500, mode=PWM.MODE_HIGH_LOW)
p.init()
diff --git a/ports/nrf/examples/powerup.py b/ports/nrf/examples/powerup.py
index fd7dd8343..6f14309f3 100644
--- a/ports/nrf/examples/powerup.py
+++ b/ports/nrf/examples/powerup.py
@@ -28,8 +28,8 @@
# Examples is written for nrf52832, pca10040 using s132 bluetooth stack.
#
# Joystick shield pin mapping:
-# - analog stick x-direction - ADC0 - P0.02/"A02"
-# - buttons P0.13 - P0.16 / "A13", "A14", "A15", "A16"
+# - analog stick x-direction - ADC0 - P0.02/"P2"
+# - buttons P0.13 - P0.16 / "P13", "P14", "P15", "P16"
#
# Example usage:
#
@@ -70,10 +70,10 @@ class PowerUp3:
def __init__(self):
self.x_adc = ADC(1)
- self.btn_speed_up = Pin("A13", mode=Pin.IN, pull=Pin.PULL_UP)
- self.btn_speed_down = Pin("A15", mode=Pin.IN, pull=Pin.PULL_UP)
- self.btn_speed_full = Pin("A14", mode=Pin.IN, pull=Pin.PULL_UP)
- self.btn_speed_off = Pin("A16", mode=Pin.IN, pull=Pin.PULL_UP)
+ self.btn_speed_up = Pin("P13", mode=Pin.IN, pull=Pin.PULL_UP)
+ self.btn_speed_down = Pin("P15", mode=Pin.IN, pull=Pin.PULL_UP)
+ self.btn_speed_full = Pin("P14", mode=Pin.IN, pull=Pin.PULL_UP)
+ self.btn_speed_off = Pin("P16", mode=Pin.IN, pull=Pin.PULL_UP)
self.x_mid = 0
diff --git a/ports/nrf/examples/seeed_tft.py b/ports/nrf/examples/seeed_tft.py
index f751bbb0f..c5cd4cc0a 100644
--- a/ports/nrf/examples/seeed_tft.py
+++ b/ports/nrf/examples/seeed_tft.py
@@ -52,7 +52,7 @@ from machine import SPI, Pin
from sdcard import SDCard
def mount_tf(self, mount_point="/"):
- sd = SDCard(SPI(0), Pin("A15", mode=Pin.OUT))
+ sd = SDCard(SPI(0), Pin("P15", mode=Pin.OUT))
os.mount(sd, mount_point)
class ILI9341:
@@ -65,9 +65,9 @@ class ILI9341:
self.spi = SPI(0)
# chip select
- self.cs = Pin("A16", mode=Pin.OUT, pull=Pin.PULL_UP)
+ self.cs = Pin("P16", mode=Pin.OUT, pull=Pin.PULL_UP)
# command
- self.dc = Pin("A17", mode=Pin.OUT, pull=Pin.PULL_UP)
+ self.dc = Pin("P17", mode=Pin.OUT, pull=Pin.PULL_UP)
# initialize all pins high
self.cs.high()
diff --git a/ports/nrf/modules/machine/pin.c b/ports/nrf/modules/machine/pin.c
index f4520d73d..47778e01c 100644
--- a/ports/nrf/modules/machine/pin.c
+++ b/ports/nrf/modules/machine/pin.c
@@ -197,9 +197,8 @@ STATIC void pin_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t
// pin name
mp_printf(print, "Pin(Pin.cpu.%q, mode=Pin.", self->name);
- mp_printf(print, "port=0x%x, ", self->port);
+ mp_printf(print, "port=0x%x, ", self->pin / 32);
mp_printf(print, "pin=0x%x, ", self->pin);
- mp_printf(print, "pin_mask=0x%x,", self->pin_mask);
/*
uint32_t mode = pin_get_mode(self);
@@ -468,7 +467,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(pin_names_obj, pin_names);
/// Get the pin port.
STATIC mp_obj_t pin_port(mp_obj_t self_in) {
pin_obj_t *self = self_in;
- return MP_OBJ_NEW_SMALL_INT(self->port);
+ return MP_OBJ_NEW_SMALL_INT(self->pin / 32);
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(pin_port_obj, pin_port);
@@ -480,14 +479,6 @@ STATIC mp_obj_t pin_pin(mp_obj_t self_in) {
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(pin_pin_obj, pin_pin);
-/// \method gpio()
-/// Returns the base address of the GPIO block associated with this pin.
-STATIC mp_obj_t pin_gpio(mp_obj_t self_in) {
- pin_obj_t *self = self_in;
- return MP_OBJ_NEW_SMALL_INT((mp_int_t)self->gpio);
-}
-STATIC MP_DEFINE_CONST_FUN_OBJ_1(pin_gpio_obj, pin_gpio);
-
/// \method mode()
/// Returns the currently configured mode of the pin. The integer returned
/// will match one of the allowed constants for the mode argument to the init
@@ -547,7 +538,6 @@ STATIC const mp_rom_map_elem_t pin_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_af_list), MP_ROM_PTR(&pin_af_list_obj) },
{ MP_ROM_QSTR(MP_QSTR_port), MP_ROM_PTR(&pin_port_obj) },
{ MP_ROM_QSTR(MP_QSTR_pin), MP_ROM_PTR(&pin_pin_obj) },
- { MP_ROM_QSTR(MP_QSTR_gpio), MP_ROM_PTR(&pin_gpio_obj) },
{ MP_ROM_QSTR(MP_QSTR_mode), MP_ROM_PTR(&pin_mode_obj) },
{ MP_ROM_QSTR(MP_QSTR_pull), MP_ROM_PTR(&pin_pull_obj) },
{ MP_ROM_QSTR(MP_QSTR_af), MP_ROM_PTR(&pin_af_obj) },
diff --git a/ports/nrf/modules/machine/pin.h b/ports/nrf/modules/machine/pin.h
index 1935a0d26..7004b320b 100644
--- a/ports/nrf/modules/machine/pin.h
+++ b/ports/nrf/modules/machine/pin.h
@@ -51,13 +51,10 @@ typedef struct {
typedef struct {
mp_obj_base_t base;
qstr name;
- uint32_t port : 4;
- uint32_t pin : 5; // Some ARM processors use 32 bits/PORT
+ uint32_t pin : 8;
uint32_t num_af : 4;
uint32_t adc_channel : 5; // Some ARM processors use 32 bits/PORT
uint32_t adc_num : 3; // 1 bit per ADC
- uint32_t pin_mask;
- pin_gpio_t *gpio;
const pin_af_obj_t *af;
uint32_t pull;
} pin_obj_t;
diff --git a/ports/nrf/nrf51_af.csv b/ports/nrf/nrf51_af.csv
index 2fc34a06a..0be277026 100644
--- a/ports/nrf/nrf51_af.csv
+++ b/ports/nrf/nrf51_af.csv
@@ -1,32 +1,32 @@
-PA0,PA0
-PA1,PA1,ADC0_IN2
-PA2,PA2,ADC0_IN3
-PA3,PA3,ADC0_IN4
-PA4,PA4,ADC0_IN5
-PA5,PA5,ADC0_IN6
-PA6,PA6,ADC0_IN7
-PA7,PA7
-PA8,PA8
-PA9,PA9
-PA10,PA10
-PA11,PA11
-PA12,PA12
-PA13,PA13
-PA14,PA14
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20
-PA21,PA21
-PA22,PA22
-PA23,PA23
-PA24,PA24
-PA25,PA25
-PA26,PA26
-PA27,PA27
-PA28,PA28
-PA29,PA29
-PA30,PA30
-PA31,PA31 \ No newline at end of file
+P0,P0
+P1,P1,ADC0_IN2
+P2,P2,ADC0_IN3
+P3,P3,ADC0_IN4
+P4,P4,ADC0_IN5
+P5,P5,ADC0_IN6
+P6,P6,ADC0_IN7
+P7,P7
+P8,P8
+P9,P9
+P10,P10
+P11,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+P30,P30
+P31,P31
diff --git a/ports/nrf/nrf52_af.csv b/ports/nrf/nrf52_af.csv
index 44a7d8144..59686ff90 100644
--- a/ports/nrf/nrf52_af.csv
+++ b/ports/nrf/nrf52_af.csv
@@ -1,48 +1,48 @@
-PA0,PA0
-PA1,PA1
-PA2,PA2
-PA3,PA3
-PA4,PA4
-PA5,PA5
-PA6,PA6
-PA7,PA7
-PA8,PA8
-PA9,PA9
-PA10,PA10
-PA11,PA11
-PA12,PA12
-PA13,PA13
-PA14,PA14
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20
-PA21,PA21
-PA22,PA22
-PA23,PA23
-PA24,PA24
-PA25,PA25
-PA26,PA26
-PA27,PA27
-PA28,PA28
-PA29,PA29
-PA30,PA30
-PA31,PA31
-PB0,PB0
-PB1,PB1
-PB2,PB2
-PB3,PB3
-PB4,PB4
-PB5,PB5
-PB6,PB6
-PB7,PB7
-PB8,PB8
-PB9,PB9
-PB10,PB10
-PB11,PB11
-PB12,PB12
-PB13,PB13
-PB14,PB14
-PB15,PB15 \ No newline at end of file
+P0,P0
+P1,P1
+P2,P2
+P3,P3
+P4,P4
+P5,P5
+P6,P6
+P7,P7
+P8,P8
+P9,P9
+P10,P10
+P11,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+P30,P30
+P31,P31
+P32,P32
+P33,P33
+P34,P34
+P35,P35
+P36,P36
+P37,P37
+P38,P38
+P39,P39
+P40,P40
+P41,P41
+P42,P42
+P43,P43
+P44,P44
+P45,P45
+P46,P46
+P47,P47