Skip to content

Commit 8f15860

Browse files
committed
[esomx]Change PWM pins to better match e-series pinout. Fix other tests
1 parent 05f5c24 commit 8f15860

File tree

7 files changed

+54
-16
lines changed

7 files changed

+54
-16
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

+16-2
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,12 @@ test(GPIO_04_DigitalWriteOnPinResultsInCorrectDigitalRead) {
9191

9292
test(GPIO_05_pulseIn_Measures1000usHIGHWithin5Percent) {
9393
#if HAL_PLATFORM_NRF52840
94-
pin_t pin = D4; // pin under test
94+
// pin under test
95+
#if PLATFORM_ID == PLATFORM_ESOMX
96+
pin_t pin = A3;
97+
#else
98+
pin_t pin = D4;
99+
#endif
95100
#else
96101
#error "Unsupported platform"
97102
#endif
@@ -115,7 +120,12 @@ test(GPIO_05_pulseIn_Measures1000usHIGHWithin5Percent) {
115120

116121
test(GPIO_06_pulseIn_Measures1000usLOWWithin5Percent) {
117122
#if HAL_PLATFORM_NRF52840
118-
pin_t pin = D4; // pin under test
123+
// pin under test
124+
#if PLATFORM_ID == PLATFORM_ESOMX
125+
pin_t pin = A3;
126+
#else
127+
pin_t pin = D4;
128+
#endif
119129
#else
120130
#error "Unsupported platform"
121131
#endif
@@ -157,7 +167,11 @@ test(GPIO_07_pulseIn_TimesOutAfter3Seconds) {
157167
}
158168

159169
test(GPIO_08_DigitalReadWorksMixedWithAnalogRead) {
170+
#if PLATFORM_ID == PLATFORM_ESOMX
171+
pin_t pin = A3;
172+
#else
160173
pin_t pin = A0;
174+
#endif
161175

162176
pinMode(pin, INPUT_PULLUP);
163177
assertEqual(HAL_Get_Pin_Mode(pin), INPUT_PULLUP);

user/tests/wiring/no_fixture/led.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,8 @@ test(LED_11_MirroringWorks) {
237237
#if HAL_PLATFORM_NRF52840
238238
# if PLATFORM_ID == PLATFORM_ARGON || PLATFORM_ID == PLATFORM_BORON
239239
const pin_t pins[3] = {A4, A5, A3};
240+
# elif PLATFORM_ID == PLATFORM_ESOMX
241+
const pin_t pins[3] = {B0, B1, B2};
240242
# else
241243
// SoM
242244
const pin_t pins[3] = {A1, A0, A7};

user/tests/wiring/no_fixture_long_running/pwm.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ const PinMapping pwm_pins[] = {
3535
// PWM HAL also is not interrupt safe and RGB pins are modified in SysTick
3636
PIN(D2), PIN(D3), PIN(D4), PIN(D5), PIN(D6), /* PIN(D7), */ PIN(D8), PIN(A0), PIN(A1), PIN(A2), PIN(A3), PIN(A4), PIN(A5) /* , PIN(RGBR), PIN(RGBG), PIN(RGBB) */
3737
#elif (PLATFORM_ID == PLATFORM_ESOMX)
38-
PIN(D0) // TODO: Other PWM pins
38+
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) */
3939
#else
4040
#error "Unsupported platform"
4141
#endif
@@ -66,7 +66,9 @@ test(PWM_01_NoAnalogWriteWhenPinModeIsNotSetToOutput) {
6666

6767
test(PWM_02_NoAnalogWriteWhenPinSelectedIsNotTimerChannel) {
6868
#if HAL_PLATFORM_NRF52840
69-
#if PLATFORM_ID != PLATFORM_TRACKER
69+
#if PLATFORM_ID == PLATFORM_ESOMX
70+
pin_t pin = A1; //pin under test, A1 is not a Timer channel
71+
#elif PLATFORM_ID != PLATFORM_TRACKER
7072
pin_t pin = D0; //pin under test, D0 is not a Timer channel
7173
#else
7274
// There are no non-PWM pins that we can safely use

user/tests/wiring/no_fixture_long_running/servo.cpp

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

3030
#if HAL_PLATFORM_GEN == 3
31+
#if PLATFORM_ID == PLATFORM_ESOMX
32+
static const pin_t pin = D0, pin2 = D1;
33+
#else
3134
static const pin_t pin = A0, pin2 = A1;
35+
#endif
3236
#else
3337
#error "Unsupported platform"
3438
#endif // HAL_PLATFORM_GEN
@@ -37,6 +41,8 @@ test(SERVO_01_CannotAttachWhenPinSelectedIsNotTimerChannel) {
3741
#if HAL_PLATFORM_NRF52840
3842
# if PLATFORM_ID == PLATFORM_TRACKER
3943
pin_t pin = BTN;
44+
#elif PLATFORM_ID == PLATFORM_ESOMX
45+
pin_t pin = A0;
4046
# else
4147
pin_t pin = D0;
4248
# endif

user/tests/wiring/no_fixture_long_running/tone.cpp

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

30+
#if PLATFORM_ID == PLATFORM_ESOMX
31+
static const pin_t pin = D1;//pin under test
32+
#else
3033
static const pin_t pin = A1;//pin under test
34+
#endif
3135

3236
test(TONE_01_NoGenerateWhenPinSelectedIsNotTimerChannel) {
3337
#if HAL_PLATFORM_NRF52840
3438
# if PLATFORM_ID == PLATFORM_TRACKER
3539
pin_t pin = BTN;
40+
# elif PLATFORM_ID == PLATFORM_ESOMX
41+
pin_t pin = A0;
3642
# else
3743
pin_t pin = D0;
3844
# endif

0 commit comments

Comments
 (0)