Skip to content

Latest commit

 

History

History
57 lines (53 loc) · 14.7 KB

DATABASE.md

File metadata and controls

57 lines (53 loc) · 14.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),
  • 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)
0.0 Run Lint 1
0.1 Run Lint with logging off 1 U_CFG_ENABLE_LOGGING=0
0.2 Run Lint with stubs files 1 U_CFG_LINT_USE_STUBS
0.3 Run Lint with internal BLE 1 U_CFG_BLE_MODULE_INTERNAL
0.4 Run Lint with mutex debug 1 U_CFG_MUTEX_DEBUG
1 Run Doxygen 1
2 Run AStyle style checker (for advice only) 1
3 Run Pylint 2
4 Run static size check 2
5 Run no floating point check 2
6 Reserved
7 Reserved
8 Reserved
9 Reserved
x10 WHRE board (NINA-W1), Cat M1 20 ESP32 ESP-IDF SARA_R410M_03B M8 port network sock cell mqtt_client gnss location 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_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
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 network sock ble wifi cell short_range security mqtt_client gnss location 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
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
13.1 Nordic DK board (NRF52840) + EVK 10 NRF52840 nrf52840dk_nrf52840 Zephyr port at_client ubx_protocol U_CFG_TEST_UART_B=0
14 STM32F4 Discovery (STM32F407) + EVK, Cat M1 25 STM32F4 STM32Cube SARA_R422 M8 port network sock security cell mqtt_client gnss location 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
15.0.0 Nordic DK board (NRF52840) + EVK 10 NRF52840 nRF5SDK GCC port
15.1 Nordic DK board (NRF52840) + EVK 10 NRF52840 nrf52840dk_nrf52840 Zephyr port network ble short_range U_CFG_TEST_UART_A=-1 U_BLE_TEST_CFG_REMOTE_SPS_CENTRAL=2462ABB6CC42p
x16 C030-U201 board (STM32F437), 3G 25 STM32F4 STM32Cube SARA_U201 M8 port 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 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
18 Nordic NRF5340 DK board + EVK, Cat M1 20 NRF5340 nrf5340dk_nrf5340_cpuapp Zephyr SARA_R5 M8 port network sock security cell lib_common mqtt_client gnss location 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
19 C030-R5 board (STM32F437), Cat M1 25 STM32F4 STM32Cube SARA_R5 NINA_W15 M8 port network sock ble wifi cell short_range security mqtt_client ubx_protocol gnss location 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
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
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
22 NINA-W1 + EVK, Cat M1 20 ESP32 esp32:esp32:nina_w10 Arduino ESP-IDF SARA_R422 M8 port network sock security cell mqtt_client gnss location 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
23 Windows + EVK, Cat M1 30 WIN32 WINDOWS MSVC SARA_R5 M8 port network sock ble wifi cell short_range security mqtt_client gnss location U_CFG_TEST_UART_A=100 U_CFG_APP_CELL_UART=66 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

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