Skip to content

Commit 0557d31

Browse files
authored
Merge pull request #2463 from particle-iot/fix/sc-101090/fix-esomx-tests
[tests] Change PWM pins to better match e-series pinout for E SoM X. Fix other tests
2 parents 0be74aa + 041cef2 commit 0557d31

File tree

11 files changed

+70
-43
lines changed

11 files changed

+70
-43
lines changed

build/create_module.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ def parse_dependency(dep):
235235
return ModuleDependency(func, version, index)
236236
return ModuleDependency()
237237

238-
GEN3_PLATFORMS = [Platform.ARGON, Platform.BORON, Platform.ASOM, Platform.BSOM, Platform.B5SOM, Platform.TRACKER]
238+
GEN3_PLATFORMS = [Platform.ARGON, Platform.BORON, Platform.ASOM, Platform.BSOM, Platform.B5SOM, Platform.TRACKER, Platform.ESOMX]
239239
GEN3_RADIO_STACK_VERSION_OFFSET = 0x300c
240240
GEN3_RADIO_STACK_MBR_OFFSET = 0x1000
241241
GEN3_RADIO_STACK_FLAGS = ModuleFlags.DROP_MODULE_INFO

hal/src/boron/hal_platform_config.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
#endif // PLATFORM_ID != PLATFORM_BORON
5959

6060
#if PLATFORM_ID == PLATFORM_ESOMX
61-
#define PRODUCT_SERIES "E Series"
61+
#define PRODUCT_SERIES "Eseries"
6262
#else
6363
#define PRODUCT_SERIES "boron"
6464
#endif

hal/src/boron/pinmap_hal.c

+16-16
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},
139-
/* 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},
140-
/* 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},
139+
/* D8 / TX - 08 */ { NRF_PORT_0, 6, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 2, 0, 8, EXTI_CHANNEL_NONE, 0},
140+
/* D9 / RX - 09 */ { NRF_PORT_0, 8, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 2, 1, 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},
149-
/* D18 / B0 - 18 */ { NRF_PORT_0, 10, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 2, 0, 8, EXTI_CHANNEL_NONE, 0},
150-
/* D19 / B1 - 19 */ { NRF_PORT_0, 9, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, 2, 1, 8, EXTI_CHANNEL_NONE, 0},
149+
/* D18 / B0 - 18 */ { NRF_PORT_0, 10, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 8, EXTI_CHANNEL_NONE, 0},
150+
/* D19 / B1 - 19 */ { NRF_PORT_0, 9, PIN_MODE_NONE, PF_NONE, ADC_CHANNEL_NONE, PWM_INSTANCE_NONE, PWM_CHANNEL_NONE, 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},

system/src/ble_provisioning_mode_handler.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ int BleProvisioningModeHandler::constructControlRequestAdvData() {
8686
CHECK_TRUE(tempAdvData.append(BLE_SIG_AD_TYPE_FLAGS), SYSTEM_ERROR_NO_MEMORY);
8787
CHECK_TRUE(tempAdvData.append(BLE_SIG_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE), SYSTEM_ERROR_NO_MEMORY);
8888

89+
// Advertising data is limited to 31 bytes, which means the true maximum advertising device name length is only 14 bytes (accounting for all of the below data fields)
8990
char devName[BLE_MAX_DEV_NAME_LEN + 1] = {};
9091
CHECK(hal_ble_gap_get_device_name(devName, sizeof(devName), nullptr));
9192

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/i2c.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ std::pair<hal_pin_t, hal_pin_t> i2cToSdaSclPins(hal_i2c_interface_t i2c) {
1515
return {SDA, SCL};
1616
}
1717
case HAL_I2C_INTERFACE2: {
18-
#if PLATFORM_ID == PLATFORM_BORON || PLATFORM_ID == PLATFORM_TRACKER
18+
#if PLATFORM_ID == PLATFORM_BORON || PLATFORM_ID == PLATFORM_TRACKER || PLATFORM_ID == PLATFORM_ESOMX
1919
return {PMIC_SDA, PMIC_SCL};
2020
#else
2121
return {D2, D3};

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] = {A3, A4, A5};
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(TX), PIN(RX), 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)