The table below defines the instances of test hardware available on the ubxlib
test farm and how each one is currently configured. It is parsed and used by the functions in u_data.py to know what to do so please always ensure that it is a properly formatted Markdown format table. The columns of the table are:
- a unique instance ID: the first digit of the instance ID represents either a physical thing (a board connected via a COM port/debugger, or a distinct process (e.g. run Lint)), the remaining digits represent variants, e.g. using different SDKs on a board; the second/third digit(s) of the instance ID must be used consistently (e.g. for NRF52840 variant 0 is always the nRF5 SDK, variant 1 is always the Zephyr SDK, etc.),
- the duration field should be the approximate expected duration of the instance in minutes, used when working out how to spread the test load,
- the MCU field must match a unique MCU name from one of the port/platform
/<platform>/mcu/<mcu>
directories (e.g.esp32
), - some platforms (e.g. Zephyr and Arduino) require a board-level definition as well as an MCU; this may be provided in the "board" column,
- the platform name must match one of the port/platform
/<platform>
directories (e.g. port/platform/esp-idf),- however, if you want to run CodeChecker instead of building the firmware you should add
CodeChecker:
prefix to the platform name (e.g.CodeChecker:STM32Cube
)
- however, if you want to run CodeChecker instead of building the firmware you should add
- where a choice of compilation toolchains is available the toolchain name must match a sub-directory of port/platform
/<platform>/mcu/<mcu>
, - the module column lists the peripherals under test:
- if a module name begins with
SARA
it will be prefixed by the test automation code withU_CELL_MODULE_TYPE_
and then assigned to a compilation flagU_CFG_TEST_CELL_MODULE_TYPE
for use during testing; - if a module name begins with
NINA
,ANNA
orODIN
it will be prefixed by the test automation code withU_SHORT_RANGE_MODULE_TYPE_
and then assigned to a compilation flagU_CFG_TEST_SHORT_RANGE_MODULE_TYPE
for use during testing; note that for the case where the SHO on-board Wi-Fi/BLE client is employed no module name is given and instead the compilation flagU_CFG_BLE_MODULE_INTERNAL
is added in the #defines column, - otherwise the module will be assumed to be GNSS and will be prefixed by the test automation code with
U_GNSS_MODULE_TYPE_
and then assigned to a compilation flagU_CFG_TEST_GNSS_MODULE_TYPE
for use during testing,
- if a module name begins with
- all APIs that exist on an instance will usually be tested, the "APIs available" column is used by the u_select.py automation script (see README.md) to select the instances that should be run where only a single API is affected by a change, e.g. if only the at_client is affected by a change then only those instances that have
at_client
in this column will be run; the name here must match one in the directory structure (e.g.mqtt_client
for the common/mqtt_client API), - lastly, overrides to or additional compilation flags may be supplied in the final column.
ID | Description | Duration (mins) | MCU | Board | Platform | Toolchain | Module(s) (separate with spaces) | APIs available (separate with spaces) | #define overrides (separate with spaces) |
---|---|---|---|---|---|---|---|---|---|
1 | Run Doxygen | 1 | |||||||
2 | Run AStyle style checker | 1 | |||||||
3 | Run Pylint | 2 | |||||||
4 | Run static size check | 2 | |||||||
5 | Run no floating point check | 2 | |||||||
6.1 | Run CodeChecker (Zephyr) | NRF5340 | nrf5340dk_nrf5340_cpuapp | CodeChecker:Zephyr | SARA_R5 M8 NINA_W15 | U_CFG_TEST_GNSS_OVER_AT U_CFG_BLE_MODULE_INTERNAL U_BLE_TEST_CFG_REMOTE_SPS_CENTRAL=2462ABB6CC42p U_BLE_TEST_CFG_REMOTE_SPS_PERIPHERAL=2462ABB6EAC6p U_CFG_APP_SHORT_RANGE_ROLE=1 U_CFG_TEST_NET_STATUS_CELL U_CFG_TEST_NET_STATUS_SHORT_RANGE U_DEBUG_UTILS_DUMP_THREADS | |||
6.2 | Run CodeChecker (STM32Cube) | STM32F4 | CodeChecker:STM32Cube | SARA_R5 NINA_W15 M8 | U_CFG_APP_PIN_SHORT_RANGE_RESET_TO_DEFAULTS=0x42 U_CFG_SARA_R5_M8_WORKAROUND U_CFG_TEST_PIN_A=-1 U_CFG_TEST_PIN_B=-1 U_CFG_TEST_PIN_C=-1 U_CFG_TEST_UART_A=-1 U_BLE_TEST_CFG_REMOTE_SPS_CENTRAL=2462ABB6CC42p U_CFG_TEST_SECURITY_C2C_TE_SECRET=\x00\x01\x02\x03\x04\x05\x06\x07\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8 U_CFG_TEST_NET_STATUS_CELL U_CFG_TEST_NET_STATUS_SHORT_RANGE U_DEBUG_UTILS_DUMP_THREADS | ||||
7 | Build ubxlib without logging | U_CFG_ENABLE_LOGGING=0 | |||||||
8 | Check for public headers not in ubxlib.h | ||||||||
9 | Reserved | ||||||||
x10 | WHRE board (NINA-W1), Cat M1 | 20 | ESP32 | ESP-IDF | SARA_R410M_03B M8 | port device network sock cell mqtt_client gnss location | U_CFG_TEST_GNSS_OVER_AT U_CFG_TEST_PIN_A=-1 U_CFG_TEST_PIN_B=-1 U_CFG_TEST_PIN_C=-1 U_CFG_TEST_UART_A=-1 | ||
11.0 | ESP32-DevKitC | 5 | ESP32 | ESP-IDF | port at_client ubx_protocol | U_CFG_MUTEX_DEBUG U_CFG_TEST_UART_B=1 U_CFG_TEST_PIN_UART_A_CTS=-1 U_CFG_TEST_PIN_UART_A_RTS=-1 U_CFG_TEST_PIN_UART_A_RXD=26 U_CFG_TEST_PIN_UART_B_TXD=27 U_CFG_TEST_PIN_UART_B_RXD=14 U_DEBUG_UTILS_DUMP_THREADS | |||
11.1 | ESP32-DevKitC | 5 | ESP32 | esp32:esp32:esp32doit-devkit-v1 | Arduino | ESP-IDF | port at_client ubx_protocol | U_CFG_TEST_UART_B=1 U_CFG_TEST_PIN_UART_A_CTS=-1 U_CFG_TEST_PIN_UART_A_RTS=-1 U_CFG_TEST_PIN_UART_A_RXD=26 U_CFG_TEST_PIN_UART_B_TXD=27 U_CFG_TEST_PIN_UART_B_RXD=14 | |
12 | ESP32-DevKitC + EVK, Cat M1 | 25 | ESP32 | ESP-IDF | SARA_R5 M8 NINA_W15 | port device network sock ble wifi cell short_range security mqtt_client gnss location | U_CFG_APP_PIN_SHORT_RANGE_RESET_TO_DEFAULTS=2 U_CFG_TEST_GNSS_OVER_AT U_CFG_CELL_DISABLE_UART_POWER_SAVING U_CFG_SARA_R5_M8_WORKAROUND U_CFG_APP_CELL_PIN_GNSS_POWER=-1 U_CFG_APP_CELL_PIN_GNSS_DATA_READY=-1 U_CFG_APP_PIN_CELL_TXD=21 U_CFG_APP_PIN_CELL_RXD=19 U_CFG_APP_PIN_CELL_VINT=-1 U_CFG_APP_PIN_CELL_ENABLE_POWER=-1 U_BLE_TEST_CFG_REMOTE_SPS_CENTRAL=2462ABB6CC42p U_CFG_TEST_SECURITY_C2C_TE_SECRET=\x00\x01\x02\x03\x04\x05\x06\x07\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8 U_DEBUG_UTILS_DUMP_THREADS | ||
13.0.0 | Nordic DK board (NRF52840) + EVK, Cat M1 | 25 | NRF52840 | nRF5SDK | GCC | SARA_R5 | port at_client cell sock network mqtt_client ubx_protocol | U_CFG_CELL_DISABLE_UART_POWER_SAVING U_CFG_TEST_UART_B=0 U_CFG_TEST_PIN_UART_A_CTS=-1 U_CFG_TEST_PIN_UART_A_RTS=-1 U_CFG_TEST_PIN_UART_B_TXD=44 U_CFG_TEST_PIN_UART_B_RXD=43 U_CFG_TEST_PIN_UART_A_RXD=45 U_DEBUG_UTILS_DUMP_THREADS | |
13.1 | Nordic DK board (NRF52840) + EVK | 10 | NRF52840 | nrf52840dk_nrf52840 | Zephyr | port at_client ubx_protocol | U_CFG_TEST_UART_B=0 U_DEBUG_UTILS_DUMP_THREADS | ||
14 | STM32F4 Discovery (STM32F407) + EVK, Cat M1 | 25 | STM32F4 | STM32Cube | SARA_R422 M8 | port device network sock security cell mqtt_client gnss location | U_CFG_TEST_GNSS_OVER_AT U_CFG_1V8_SIM_WORKAROUND HSE_VALUE=8000000U U_CFG_APP_GNSS_UART=-1 U_CFG_APP_PIN_GNSS_ENABLE_POWER=-1 U_CFG_TEST_UART_A=-1 U_CFG_APP_PIN_C030_ENABLE_3V3=-1 U_CFG_APP_PIN_CELL_RESET=-1 U_CFG_APP_CELL_UART=3 U_CFG_APP_PIN_CELL_TXD=0x38 U_CFG_APP_PIN_CELL_RXD=0x39 U_CFG_APP_PIN_CELL_RTS=-1 U_CFG_APP_PIN_CELL_CTS=-1 U_DEBUG_UTILS_DUMP_THREADS | ||
15.0.0 | Nordic DK board (NRF52840) + EVK | 10 | NRF52840 | nRF5SDK | GCC | port | U_CFG_MUTEX_DEBUG U_DEBUG_UTILS_DUMP_THREADS | ||
15.1 | Nordic DK board (NRF52840) + EVK | 10 | NRF52840 | nrf52840dk_nrf52840 | Zephyr | port device network ble short_range | U_CFG_TEST_UART_A=-1 U_BLE_TEST_CFG_REMOTE_SPS_CENTRAL=2462ABB6CC42p U_DEBUG_UTILS_DUMP_THREADS | ||
x16 | C030-U201 board (STM32F437), 3G | 25 | STM32F4 | STM32Cube | SARA_U201 M8 | port device network sock cell at_client ubx_protocol gnss location | U_CFG_APP_CELL_UART=2 U_CFG_APP_PIN_CELL_TXD=0x35 U_CFG_APP_PIN_CELL_RXD=0x36 U_CFG_APP_PIN_CELL_RTS=0x34 U_CFG_APP_PIN_CELL_CTS=0x33 U_CFG_TEST_UART_B=1 U_CFG_TEST_PIN_UART_B_TXD=0x16 U_CFG_TEST_PIN_UART_B_RXD=0x17 U_CFG_TEST_PIN_UART_A_RTS=-1 U_CFG_TEST_PIN_UART_A_CTS=-1 | ||
17 | Nordic NRF5340 DK board | 10 | NRF5340 | nrf5340dk_nrf5340_cpuapp | Zephyr | port device network ble short_range lib_common ubx_protocol | U_CFG_BLE_MODULE_INTERNAL U_BLE_TEST_CFG_REMOTE_SPS_CENTRAL=2462ABB6CC42p U_BLE_TEST_CFG_REMOTE_SPS_PERIPHERAL=2462ABB6EAC6p U_CFG_APP_SHORT_RANGE_ROLE=1 U_DEBUG_UTILS_DUMP_THREADS | ||
18 | NORA-B1 NRF5340 DK board + EVK, Cat M1 | 20 | NRF5340 | nrf5340dk_nrf5340_cpuapp | Zephyr | SARA_R5 M8 | port device network sock security cell lib_common mqtt_client gnss location | U_CFG_TEST_GNSS_OVER_AT U_CFG_CELL_DISABLE_UART_POWER_SAVING U_CFG_TEST_CLOUD_LOCATE U_CFG_SARA_R5_M8_WORKAROUND U_CFG_APP_PIN_CELL_DTR=37 U_CFG_APP_PIN_CELL_PWR_ON=36 U_CFG_APP_CELL_PIN_GNSS_POWER=-1 U_CFG_APP_CELL_PIN_GNSS_DATA_READY=-1 U_CFG_TEST_PIN_A=-1 U_CFG_TEST_PIN_B=-1 U_CFG_TEST_PIN_C=-1 U_CFG_TEST_UART_A=-1 U_CFG_TEST_SECURITY_C2C_TE_SECRET=\x00\x01\x02\x03\x04\x05\x06\x07\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8 U_DEBUG_UTILS_DUMP_THREADS | |
19 | C030-R5 board (STM32F437), Cat M1 | 25 | STM32F4 | STM32Cube | SARA_R5 NINA_W15 M8 | port device network sock ble wifi cell short_range security mqtt_client ubx_protocol gnss location | U_CFG_APP_PIN_SHORT_RANGE_RESET_TO_DEFAULTS=0x42 U_CFG_SARA_R5_M8_WORKAROUND U_CFG_TEST_PIN_A=-1 U_CFG_TEST_PIN_B=-1 U_CFG_TEST_PIN_C=-1 U_CFG_TEST_UART_A=-1 U_BLE_TEST_CFG_REMOTE_SPS_CENTRAL=2462ABB6CC42p U_CFG_TEST_SECURITY_C2C_TE_SECRET=\x00\x01\x02\x03\x04\x05\x06\x07\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8 U_DEBUG_UTILS_DUMP_THREADS | ||
20 | WHRE board (NINA-W1), Cat M1 | 5 | ESP32 | ESP-IDF | SARA_R412M_02B | cell mqtt_client | U_CFG_APP_FILTER=cellMqtt.mqttClient.exampleMqtt U_CFG_TEST_PIN_A=-1 U_CFG_TEST_PIN_B=-1 U_CFG_TEST_PIN_C=-1 U_CFG_TEST_UART_A=-1 U_DEBUG_UTILS_DUMP_THREADS | ||
21 | WHRE board (NINA-W1), Cat M1 | 5 | ESP32 | ESP-IDF | SARA_R410M_02B | cell mqtt_client | U_CFG_APP_FILTER=cellMqtt.mqttClient.exampleMqtt U_CFG_TEST_PIN_A=-1 U_CFG_TEST_PIN_B=-1 U_CFG_TEST_PIN_C=-1 U_CFG_TEST_UART_A=-1 U_DEBUG_UTILS_DUMP_THREADS | ||
x22 | NINA-W1 + EVK, Cat M1 | 20 | ESP32 | esp32:esp32:nina_w10 | Arduino | ESP-IDF | SARA_R422 M8 | port device network sock security cell mqtt_client gnss location | U_CFG_TEST_GNSS_OVER_AT U_CFG_MONITOR_DTR_RTS_OFF U_CFG_1V8_SIM_WORKAROUND U_CFG_APP_PIN_CELL_ENABLE_POWER=-1 U_CFG_APP_PIN_CELL_VINT=-1 U_CFG_APP_PIN_CELL_PWR_ON=5 U_CFG_APP_PIN_CELL_TXD=14 U_CFG_TEST_PIN_A=-1 U_CFG_TEST_PIN_B=-1 U_CFG_TEST_PIN_C=-1 U_CFG_TEST_UART_A=-1 U_DEBUG_UTILS_DUMP_THREADS |
23 | Windows + EVK, Cat M1 | 30 | WIN32 | WINDOWS | MSVC | SARA_R5 M8 NINA_W15 | port device network sock ble wifi cell short_range security mqtt_client ubx_protocol gnss location | U_CFG_TEST_GNSS_OVER_AT U_CFG_MUTEX_DEBUG U_CFG_TEST_NET_STATUS_CELL=RF_SWITCH_A U_CFG_TEST_NET_STATUS_SHORT_RANGE=PWR_SWITCH_A U_BLE_TEST_CFG_REMOTE_SPS_CENTRAL=6009C390E4DAp U_CFG_TEST_UART_A=100 U_CFG_APP_SHORT_RANGE_UART=22 U_CFG_APP_CELL_UART=66 U_CFG_TEST_SECURITY_C2C_TE_SECRET=\x00\x01\x02\x03\x04\x05\x06\x07\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8 U_CFG_QUEUE_DEBUG | |
24 | Linux/Posix under Zephyr + EVK, Cat M1 | 30 | LINUX32 | native_posix | Zephyr | port device network sock ble wifi cell short_range security mqtt_client gnss location | U_CFG_MUTEX_DEBUG U_CFG_TEST_UART_A=0 U_CFG_TEST_UART_B=1 U_CFG_TEST_SECURITY_C2C_TE_SECRET=\x00\x01\x02\x03\x04\x05\x06\x07\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8 |
Notes:
- the #defines listed are overrides on the default values that are defined in the code or additional to those defined in the code; they are not a complete list,
- the instances on which
at_client
is available to test use the same wiring as the other boards but allocate UARTs to pins differently: two UARTs are used for back-to-back testing, no flow control, and the CTS/RTS pins that are back-to-back connected forport
UART testing are instead allocated to the second UART; on these instances theport
UART test will be skipped, - the cellular tests take quite a long time to run and so where there are two SDKs on a single platform usually only one of them will run the cellular tests to keep the execution time down.
- When adding a new API make sure that it is present in at least one of the entries above, otherwise it may NOT be detected and tested at all on a branch that is NOT
master
(where a smaller, focused set of tests are carried out).