Skip to content

Latest commit

 

History

History
55 lines (51 loc) · 15.7 KB

DATABASE.md

File metadata and controls

55 lines (51 loc) · 15.7 KB

Instance Matrix

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)
  • 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 with U_CELL_MODULE_TYPE_ and then assigned to a compilation flag U_CFG_TEST_CELL_MODULE_TYPE for use during testing;
    • if a module name begins with NINA, ANNA or ODIN it will be prefixed by the test automation code with U_SHORT_RANGE_MODULE_TYPE_ and then assigned to a compilation flag U_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 flag U_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 flag U_CFG_TEST_GNSS_MODULE_TYPE for use during testing,
  • 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 for port UART testing are instead allocated to the second UART; on these instances the port 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.

Maintenance

  • 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).