Skip to content

Commit 427ceec

Browse files
committed
[esomx]Change PWM pins to better match e-series pinout. Fix other tests
1 parent f72db2f commit 427ceec

File tree

7 files changed

+62
-36
lines changed

7 files changed

+62
-36
lines changed

hal/src/boron/pinmap_hal.c

+12-12
Original file line numberDiff line numberDiff line change
@@ -133,31 +133,31 @@ static Hal_Pin_Info s_pin_map[TOTAL_PINS] = {
133133
/* D2 - 02 */ { NRF_PORT_1, 10, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 1, 2, 8, EXTI_CHANNEL_NONE, 0},
134134
/* D3 - 03 */ { NRF_PORT_NONE, PIN_INVALID, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 0, EXTI_CHANNEL_NONE, 0},
135135
/* D4 - 04 */ { NRF_PORT_NONE, PIN_INVALID, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 0, EXTI_CHANNEL_NONE, 0},
136-
/* D5 - 05 */ { NRF_PORT_1, 11, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 1, 3, 8, EXTI_CHANNEL_NONE, 0},
136+
/* D5 - 05 */ { NRF_PORT_1, 11, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
137137
/* D6 - 06 */ { NRF_PORT_NONE, PIN_INVALID, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 0, EXTI_CHANNEL_NONE, 0},
138138
/* D7 - 07 */ { NRF_PORT_NONE, PIN_INVALID, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 0, EXTI_CHANNEL_NONE, 0},
139139
/* D8 / TX - 08 */ { NRF_PORT_0, 6, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
140140
/* D9 / RX - 09 */ { NRF_PORT_0, 8, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
141-
/* D10 / A0 - 10 */ { NRF_PORT_0, 3, PIN_MODE_NONE, PF_NONE, 0, 0, 3, 8, EXTI_CHANNEL_NONE, 0},
141+
/* D10 / A0 - 10 */ { NRF_PORT_0, 3, PIN_MODE_NONE, PF_NONE, 0, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
142142
/* D11 / A1 - 11 */ { NRF_PORT_0, 2, PIN_MODE_NONE, PF_NONE, 1, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
143143
/* D12 / A2 - 12 */ { NRF_PORT_0, 28, PIN_MODE_NONE, PF_NONE, 2, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
144-
/* D13 / A3 - 13 */ { NRF_PORT_0, 29, PIN_MODE_NONE, PF_NONE, 3, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
145-
/* D14 / A4 - 14 */ { NRF_PORT_0, 30, PIN_MODE_NONE, PF_NONE, 4, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
146-
/* D15 / A5 - 15 */ { NRF_PORT_0, 31, PIN_MODE_NONE, PF_NONE, 5, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
147-
/* D16 / A6 - 16 */ { NRF_PORT_0, 4, PIN_MODE_NONE, PF_NONE, 6, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
144+
/* D13 / A3 - 13 */ { NRF_PORT_0, 29, PIN_MODE_NONE, PF_NONE, 3, 1, 3, 8, EXTI_CHANNEL_NONE, 0},
145+
/* D14 / A4 - 14 */ { NRF_PORT_0, 30, PIN_MODE_NONE, PF_NONE, 4, 3, 0, 8, EXTI_CHANNEL_NONE, 0},
146+
/* D15 / A5 - 15 */ { NRF_PORT_0, 31, PIN_MODE_NONE, PF_NONE, 5, 3, 1, 8, EXTI_CHANNEL_NONE, 0},
147+
/* D16 / A6 - 16 */ { NRF_PORT_0, 4, PIN_MODE_NONE, PF_NONE, 6, 3, 2, 8, EXTI_CHANNEL_NONE, 0},
148148
/* D17 / A7 - 17 */ { NRF_PORT_0, 5, PIN_MODE_NONE, PF_NONE, 7, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
149149
/* D18 / B0 - 18 */ { NRF_PORT_0, 10, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 2, 0, 8, EXTI_CHANNEL_NONE, 0},
150150
/* D19 / B1 - 19 */ { NRF_PORT_0, 9, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 2, 1, 8, EXTI_CHANNEL_NONE, 0},
151151
/* D20 / B2 - 20 */ { NRF_PORT_1, 12, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 2, 2, 8, EXTI_CHANNEL_NONE, 0},
152152
/* D21 / B3 - 21 */ { NRF_PORT_1, 13, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 2, 3, 8, EXTI_CHANNEL_NONE, 0},
153153
/* D22 / B4 - 22 */ { NRF_PORT_NONE, PIN_INVALID, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 0, EXTI_CHANNEL_NONE, 0},
154154
/* D23 / B5 - 23 */ { NRF_PORT_NONE, PIN_INVALID, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 0, EXTI_CHANNEL_NONE, 0},
155-
/* D24 / C0 - 24 */ { NRF_PORT_1, 8, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 3, 0, 8, EXTI_CHANNEL_NONE, 0},
156-
/* D25 / C1 - 25 */ { NRF_PORT_1, 9, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 3, 1, 8, EXTI_CHANNEL_NONE, 0},
157-
/* D26 / C2 - 26 */ { NRF_PORT_0, 11, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 3, 2, 8, EXTI_CHANNEL_NONE, 0},
158-
/* D27 / C3 - 27 */ { NRF_PORT_0, 12, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 3, 3, 8, EXTI_CHANNEL_NONE, 0},
159-
/* D28 / C4 - 28 */ { NRF_PORT_0, 24, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
160-
/* D29 / C5 - 29 */ { NRF_PORT_1, 3, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
155+
/* D24 / C0 - 24 */ { NRF_PORT_1, 8, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
156+
/* D25 / C1 - 25 */ { NRF_PORT_1, 9, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
157+
/* D26 / C2 - 26 */ { NRF_PORT_0, 11, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
158+
/* D27 / C3 - 27 */ { NRF_PORT_0, 12, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
159+
/* D28 / C4 - 28 */ { NRF_PORT_0, 24, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 3, 3, 8, EXTI_CHANNEL_NONE, 0},
160+
/* D29 / C5 - 29 */ { NRF_PORT_1, 3, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 0, 3, 8, EXTI_CHANNEL_NONE, 0},
161161

162162
/* System space */
163163
/* RGBR - 30 */ { NRF_PORT_0, 26, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 0, 0, 8, EXTI_CHANNEL_NONE, 0},

user/tests/wiring/no_fixture/fastpin.cpp

+8
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ test(FASTPIN_01_MaxDuration_PinSet) {
2020
ATOMIC_BLOCK() {
2121
start = System.ticks();
2222
for (uint32_t i = 0; i < NUM_ITERATIONS; i++) {
23+
#if PLATFORM_ID == PLATFORM_ESOMX
24+
pinSetFast(D5);
25+
#else
2326
pinSetFast(D7);
27+
#endif
2428
//pinResetFast(D7);
2529
}
2630
finish = System.ticks();
@@ -47,7 +51,11 @@ test(FASTPIN_02_MaxDuration_PinReset) {
4751
ATOMIC_BLOCK() {
4852
start = System.ticks();
4953
for (uint32_t i = 0; i < NUM_ITERATIONS; i++) {
54+
#if PLATFORM_ID == PLATFORM_ESOMX
55+
pinResetFast(D5);
56+
#else
5057
pinResetFast(D7);
58+
#endif
5159
}
5260
finish = System.ticks();
5361
}

user/tests/wiring/no_fixture/gpio.cpp

+17-7
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,12 @@ test(GPIO_04_DigitalWriteOnPinResultsInCorrectDigitalRead) {
9999
#if !HAL_PLATFORM_RTL872X
100100
test(GPIO_05_pulseIn_Measures1000usHIGHWithin5Percent) {
101101
#if HAL_PLATFORM_NRF52840
102-
hal_pin_t pin = D4; // pin under test
103-
#elif HAL_PLATFORM_RTL872X
104-
hal_pin_t pin = D1;
102+
// pin under test
103+
#if PLATFORM_ID == PLATFORM_ESOMX
104+
pin_t pin = A3;
105+
#else
106+
pin_t pin = D4;
107+
#endif
105108
#else
106109
#error "Unsupported platform"
107110
#endif
@@ -124,9 +127,12 @@ test(GPIO_05_pulseIn_Measures1000usHIGHWithin5Percent) {
124127

125128
test(GPIO_06_pulseIn_Measures1000usLOWWithin5Percent) {
126129
#if HAL_PLATFORM_NRF52840
127-
hal_pin_t pin = D4; // pin under test
128-
#elif HAL_PLATFORM_RTL872X
129-
hal_pin_t pin = D1;
130+
// pin under test
131+
#if PLATFORM_ID == PLATFORM_ESOMX
132+
pin_t pin = A3;
133+
#else
134+
pin_t pin = D4;
135+
#endif
130136
#else
131137
#error "Unsupported platform"
132138
#endif
@@ -169,7 +175,11 @@ test(GPIO_07_pulseIn_TimesOutAfter3Seconds) {
169175
}
170176

171177
test(GPIO_08_DigitalReadWorksMixedWithAnalogRead) {
172-
hal_pin_t pin = A0;
178+
#if PLATFORM_ID == PLATFORM_ESOMX
179+
pin_t pin = A3;
180+
#else
181+
pin_t pin = A0;
182+
#endif
173183

174184
pinMode(pin, INPUT_PULLUP);
175185
assertEqual(hal_gpio_get_mode(pin), INPUT_PULLUP);

user/tests/wiring/no_fixture/led.cpp

+5-3
Original file line numberDiff line numberDiff line change
@@ -236,9 +236,11 @@ test(LED_11_MirroringWorks) {
236236
RGB.brightness(255);
237237

238238
#if HAL_PLATFORM_NRF52840
239-
#if PLATFORM_ID == PLATFORM_ARGON || PLATFORM_ID == PLATFORM_BORON
240-
const hal_pin_t pins[3] = {A4, A5, A3};
241-
#else
239+
# if PLATFORM_ID == PLATFORM_ARGON || PLATFORM_ID == PLATFORM_BORON
240+
const pin_t pins[3] = {A4, A5, A3};
241+
# elif PLATFORM_ID == PLATFORM_ESOMX
242+
const pin_t pins[3] = {B0, B1, B2};
243+
# else
242244
// SoM
243245
const hal_pin_t pins[3] = {A1, A0, A7};
244246
#endif // PLATFORM_ID != PLATFORM_ARGON && PLATFORM_ID != PLATFORM_BORON

user/tests/wiring/no_fixture_long_running/pwm.cpp

+5-3
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ const PinMapping pwm_pins[] = {
3737
#elif PLATFORM_ID == PLATFORM_P2
3838
PIN(D1), PIN(A2), PIN(A5), PIN(S0), PIN(S1) /* , PIN(RGBR), PIN(RGBG), PIN(RGBB) */
3939
#elif (PLATFORM_ID == PLATFORM_ESOMX)
40-
PIN(D0) // TODO: Other PWM pins
40+
PIN(D0), PIN(D1), PIN(D2), PIN(A3), PIN(A4), PIN(A5), PIN(A6), PIN(B0), PIN(B1), PIN(B2), PIN(B3), PIN(C4), PIN(C5) /* , PIN(RGBR), PIN(RGBG), PIN(RGBB) */
4141
#else
4242
#error "Unsupported platform"
4343
#endif
@@ -68,8 +68,10 @@ test(PWM_01_NoAnalogWriteWhenPinModeIsNotSetToOutput) {
6868

6969
test(PWM_02_NoAnalogWriteWhenPinSelectedIsNotTimerChannel) {
7070
#if HAL_PLATFORM_NRF52840
71-
#if PLATFORM_ID != PLATFORM_TRACKER
72-
hal_pin_t pin = D0; //pin under test, D0 is not a Timer channel
71+
#if PLATFORM_ID == PLATFORM_ESOMX
72+
pin_t pin = A1; //pin under test, A1 is not a Timer channel
73+
#elif PLATFORM_ID != PLATFORM_TRACKER
74+
pin_t pin = D0; //pin under test, D0 is not a Timer channel
7375
#else
7476
// There are no non-PWM pins that we can safely use
7577
hal_pin_t pin = PIN_INVALID;

user/tests/wiring/no_fixture_long_running/servo.cpp

+9-7
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,21 @@
2828
#include "unit-test/unit-test.h"
2929

3030
#if HAL_PLATFORM_GEN == 3
31-
# if PLATFORM_ID == PLATFORM_P2
32-
static const hal_pin_t pin = D1, pin2 = D8;
33-
# else
34-
static const hal_pin_t pin = A0, pin2 = A1;
35-
# endif
36-
#else // HAL_PLATFORM_GEN != 3
31+
#if PLATFORM_ID == PLATFORM_ESOMX
32+
static const pin_t pin = D0, pin2 = D1;
33+
#else
34+
static const pin_t pin = A0, pin2 = A1;
35+
#endif
36+
#else
3737
#error "Unsupported platform"
3838
#endif
3939

4040
test(SERVO_01_CannotAttachWhenPinSelectedIsNotTimerChannel) {
4141
#if HAL_PLATFORM_NRF52840
4242
# if PLATFORM_ID == PLATFORM_TRACKER
43-
hal_pin_t pin = BTN;
43+
pin_t pin = BTN;
44+
#elif PLATFORM_ID == PLATFORM_ESOMX
45+
pin_t pin = A0;
4446
# else
4547
hal_pin_t pin = D0;
4648
# endif

user/tests/wiring/no_fixture_long_running/tone.cpp

+6-4
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,18 @@
2727
#include "tone_hal.h"
2828
#include "unit-test/unit-test.h"
2929

30-
#if PLATFORM_ID == PLATFORM_P2
31-
static const hal_pin_t pin = D1;//pin under test
30+
#if PLATFORM_ID == PLATFORM_ESOMX
31+
static const pin_t pin = D1;//pin under test
3232
#else
33-
static const hal_pin_t pin = A1;//pin under test
33+
static const pin_t pin = A1;//pin under test
3434
#endif
3535

3636
test(TONE_01_NoGenerateWhenPinSelectedIsNotTimerChannel) {
3737
#if HAL_PLATFORM_NRF52840
3838
# if PLATFORM_ID == PLATFORM_TRACKER
39-
hal_pin_t pin = BTN;
39+
pin_t pin = BTN;
40+
# elif PLATFORM_ID == PLATFORM_ESOMX
41+
pin_t pin = A0;
4042
# else
4143
hal_pin_t pin = D0;
4244
# endif

0 commit comments

Comments
 (0)