wiliot-certificate 4.5.0a4__py3-none-any.whl → 4.5.0a5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -198,7 +198,7 @@ def gw_app_reponse(ble_serial):
198
198
  start_time = datetime.datetime.now()
199
199
  while (datetime.datetime.now() - start_time).seconds < 2:
200
200
  input = read_from_ble(ble_serial)
201
- if GW_APP_VERSION_HEADER in input:
201
+ if input is not None and GW_APP_VERSION_HEADER in input:
202
202
  print(input)
203
203
  ble_chip_sw_ver = re.search(r'WILIOT_GW_BLE_CHIP_SW_VER=(\d+\.\d+\.\d+)', input).group(1)
204
204
  ble_mac_address = re.search(r'WILIOT_GW_BLE_CHIP_MAC_ADDRESS=([0-9A-F]{12})', input).group(1)
@@ -333,6 +333,22 @@ def handle_cmds(input, ble_serial):
333
333
  utPrint(f"COM tester recovered", "CYAN")
334
334
  write_to_ble(ble_serial, f"{CONNECTIVITY_STATUS} 1 1")
335
335
 
336
+ def validate_port(port):
337
+ try:
338
+ with serial.serial_for_url(url=port, baudrate=921600, timeout=SERIAL_TIMEOUT) as ser:
339
+ ser.flushInput()
340
+ write_to_ble(ser, txt=VERSION, print_enable=True)
341
+ start_time = datetime.datetime.now()
342
+ while (datetime.datetime.now() - start_time).seconds < 2:
343
+ input = read_from_ble(ser)
344
+ if input is not None and GW_APP_VERSION_HEADER in input:
345
+ return True
346
+ return False
347
+ except Exception as e:
348
+ utPrint(f"Failed to open serial: {e}", "RED")
349
+ return False
350
+
351
+
336
352
  def gw_sim_run(port, gw_id, custom_broker, disable_interference_analyzer=False):
337
353
 
338
354
  # Init serial side
@@ -340,8 +356,11 @@ def gw_sim_run(port, gw_id, custom_broker, disable_interference_analyzer=False):
340
356
  print("\nNo COM port given. Scanning for available ports:")
341
357
  for port, desc, hwid in sorted(serial.tools.list_ports.comports()):
342
358
  print("{}: {} [{}]".format(port, desc, hwid))
359
+ if validate_port(port):
360
+ utPrint(f"Found the tester's port ({port})", "GREEN")
361
+ break
343
362
  if not port:
344
- print("\nNo available COM port found!")
363
+ print("\nNo available COM port found! Please verify a tester is connected and set the correct --port parameter.")
345
364
  sys.exit(-1)
346
365
  print(f"###>>> GW SIM STARTED WITH PORT {port}")
347
366
  ble_serial = serial.serial_for_url(url=port, baudrate=921600, timeout=SERIAL_TIMEOUT)
@@ -370,8 +389,8 @@ def gw_sim_run(port, gw_id, custom_broker, disable_interference_analyzer=False):
370
389
  write_to_ble(ble_serial, RESET_GW, sleep=5)
371
390
  gw_app_res = gw_app_reponse(ble_serial)
372
391
  if gw_app_res[0] == TEST_FAILED:
373
- print("ERROR: didn't get version response!")
374
- return
392
+ utPrint("ERROR: didn't get version response! Please verify a tester is connected and set the correct --port parameter.", "RED")
393
+ sys.exit(1)
375
394
  os.environ[GW_SIM_BLE_MAC_ADDRESS] = gw_app_res[1]
376
395
  os.environ[GW_APP_VERSION_HEADER] = gw_app_res[2]
377
396
  write_to_ble(ble_serial, STOP_ADVERTISING, sleep=2)
@@ -40,7 +40,7 @@ class CertificateCLI:
40
40
  self.parser.add_argument('--dut', required=True, help="Tested device ID. When DUT is a combo device, use <Gateway_ID>:<BLE_MAC>")
41
41
  self.parser.add_argument('--combo_ble_addr', default="", help="Combo device BLE MAC address" + argparse.SUPPRESS)
42
42
  self.parser.add_argument('--tester', default=GW_SIM_PREFIX, help='Tester id to run on the test, SIM prefix is default and used for COM tester')
43
- self.parser.add_argument('--port', '-p', default='', help='UART PORT connection to use for the run, if not provided last available port is used')
43
+ self.parser.add_argument('--port', '-p', default='', help='UART PORT connection to use for the run, if not provided tries to scan for tester port')
44
44
  self.parser.add_argument('--custom_broker', '-cb', required=True, help='Choose custom MQTT broker configuration json file to use for the run,' \
45
45
  ' for explanation of the format see https://community.wiliot.com/customers/s/article/Wiliot-Gateway-Certification')
46
46
  self.parser.add_argument('--clean', default=False, action='store_true', help='Clean old logs before running the tests')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wiliot_certificate
3
- Version: 4.5.0a4
3
+ Version: 4.5.0a5
4
4
  Summary: A library for certifying Wiliot-compliant boards
5
5
  Author-email: Wiliot <support@wiliot.com>
6
6
  License-Expression: MIT
@@ -38,10 +38,10 @@ This python package includes the following tools:
38
38
  - Certification Wizard (`wlt-cert`)
39
39
  - Certificate CLI (`wlt-cert-cli`)
40
40
  - Tester Upgrade (`wlt-cert-tester-upgrade`)
41
- - Registration Certificate (`wlt-cert-reg`)
41
+ - Registration Certificate Test (`wlt-cert-reg`)
42
42
 
43
43
  # Versioning:
44
- wiliot-certificate versions 4.5.x are compatible with firmware version >=4.5.0 (API VERSION: 13)
44
+ wiliot-certificate versions 4.5.x are compatible with firmware version >=4.4.0 (API VERSION: 12)
45
45
 
46
46
  ## Installing wiliot-certificate
47
47
  ````commandline
@@ -55,7 +55,7 @@ wlt-cert
55
55
  ````
56
56
  This tool is the default to test and certify your device.
57
57
  It runs a setup wizard that walks you through the initialization steps before running the tests.
58
- You'll need a [validation schema](https://community.wiliot.com/customers/s/article/Validation-Schema), tester device and custom broker json file (more info [here](https://community.wiliot.com/customers/s/article/Wiliot-Certification)).
58
+ You'll need a [validation schema](https://community.wiliot.com/customers/s/article/Validation-Schema) and a [tester device](https://community.wiliot.com/customers/s/article/Wiliot-Certification).
59
59
  Once set up it opens a terminal and tests your device.
60
60
 
61
61
 
@@ -87,10 +87,6 @@ Use -h for details on the arguments (see [Registration](https://community.wiliot
87
87
  ##### Cloud Connectivity & Misc
88
88
  - Board type registered within the Board Type Management system
89
89
  - Bridge OTA progress reporting
90
- ##### Power management
91
- - Functionality of energize and transmit in sleep mode
92
- ##### Edge management
93
- - Timing of heartbeat and interface packets
94
90
  ##### Module Energy 2400
95
91
  - Functionality of energy pattern, output power and duty cycle
96
92
  ##### Module Energy SUB1G
@@ -98,12 +94,6 @@ Use -h for details on the arguments (see [Registration](https://community.wiliot
98
94
  ##### Module Datapath
99
95
  - RSSI edge cases: -127 and 0
100
96
  - Functionality of transmission pattern, output power
101
- - Pacer interval with channel 10 and 500k modulation
102
- - Pacer interval using GEN3 Pixels
103
- - Packet filter: the following configuration - DEBUG, TEMP & DEBUG, TEMPS & DEBUG & ADVANCE
104
- - Rx rate feature with extended advertising
105
- - Functionality of adaptive pacer algorithm
106
- - Supported Pixels for extended advertising and GEN3
107
97
  ##### Calibration
108
98
  - Functionality of output power and interval calibration
109
99
  - Functionality of calibration transmission patterns for the configuration STANDARD & EU & DISABLE
@@ -3,14 +3,14 @@ certificate/cert_common.py,sha256=M28Jt7ehM3K4KYc1ZdrRNMV0gtK4iiihPhF7bmpP_m0,72
3
3
  certificate/cert_config.py,sha256=zgs0taYur_tKX18B8PHLREwrf1XWTUCVszCUzVkz-mY,22318
4
4
  certificate/cert_data_sim.py,sha256=Oe8sUaIh-NqLFr3QUkhcyUu8ZH0osy1VoOY3fRx-mmk,13785
5
5
  certificate/cert_defines.py,sha256=v1PTOAz6v9lTzGUoR6S5COlBcn7DyP8ds6pEmCa9S_Y,17386
6
- certificate/cert_gw_sim.py,sha256=c1OdfVWRphLL6ZA1J-TgSqwMrfckRyvm1lOxWqxIl_E,16641
6
+ certificate/cert_gw_sim.py,sha256=mxa591grg-JhcSKXiqgBwjTm6xuqekVFEpwBaqD1lyU,17568
7
7
  certificate/cert_mqtt.py,sha256=l7of-UGvZiVTHorq3SN8aKc4kESQKaLjElr8I6ndrxI,22445
8
8
  certificate/cert_prints.py,sha256=z8Bw3ZHiLr6yN3EbRkVvmUMkwLt6VNj0MUX1mUvdHQI,7025
9
9
  certificate/cert_protobuf.py,sha256=j8Tmm86VXONMvSTBl4Tmwt5G1jJRcJg05nJj7YHbpoM,3824
10
10
  certificate/cert_results.py,sha256=Lux5UQGSZG_0wq1uSO7ETri-JrYT4nXNOHdriZUmcCg,30051
11
11
  certificate/cert_utils.py,sha256=ADPFJXLOZFzKtJoql3j1OKpkB9JgnJiv8VwEJW7kYJk,29038
12
12
  certificate/certificate.py,sha256=KYOtROsBIZE9vYZKtPMnU9LyvQQ60fXodi3WZqRMluA,9310
13
- certificate/certificate_cli.py,sha256=gQdvXkzcC9TScqOCqvfQxl1eOKWZ8jCRKALBpvlS2pc,5028
13
+ certificate/certificate_cli.py,sha256=wd4X-ih6gPVGUWKLIXluIW40wYPJnMGfP_rD-dwPWk8,5030
14
14
  certificate/certificate_eth_test_list.txt,sha256=xlfEd7AMDG1d30c6AxKUZg2uDfI5YtkqpRWEfYgJAwQ,6216
15
15
  certificate/certificate_sanity_test_list.txt,sha256=JjpFxyxjWbylxnH8FyjPFgO2w-WaT3Nm0bcYhD0shhk,3487
16
16
  certificate/certificate_test_list.txt,sha256=O1nA_QUgFujppEQURlrMpfYh0jWXmU6JwgoI4ZLfzhs,6156
@@ -160,9 +160,9 @@ gui_certificate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
160
  gui_certificate/gui_certificate_cli.py,sha256=371nNCVmRtUePYKp_w-DVTr3C8hLAzKR2q5ZAMsaxt0,448
161
161
  gui_certificate/server.py,sha256=qlKlpgBSAQa9zlPR12k3rB2m0mAvxO9aZxUVgGLfoRE,60159
162
162
  gui_certificate/templates/cert_run.html,sha256=nnfolVZ2u1bsiH-u3vbKt1HCcP7CvAzWRZnJe-g3yyo,68803
163
- wiliot_certificate-4.5.0a4.dist-info/licenses/LICENSE,sha256=OL5ajUNVx888yC2ogol0BKwPRLdQAF1noGuQ7WrYiAA,1068
164
- wiliot_certificate-4.5.0a4.dist-info/METADATA,sha256=XWkz7Lm5XPljS47WzgtlGhaDZ-nCVfaLjS0mHLB8eEU,4015
165
- wiliot_certificate-4.5.0a4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
166
- wiliot_certificate-4.5.0a4.dist-info/entry_points.txt,sha256=_wnYk2F4bFn9H7ZGRwYV6WcpK8a3WNon8K7Y5xusFz4,274
167
- wiliot_certificate-4.5.0a4.dist-info/top_level.txt,sha256=WF6PUfxJ5n2-DxcXTA4oFrTlV6PX_pOYkYaQDk4Mk3g,35
168
- wiliot_certificate-4.5.0a4.dist-info/RECORD,,
163
+ wiliot_certificate-4.5.0a5.dist-info/licenses/LICENSE,sha256=OL5ajUNVx888yC2ogol0BKwPRLdQAF1noGuQ7WrYiAA,1068
164
+ wiliot_certificate-4.5.0a5.dist-info/METADATA,sha256=xdp-FCExbU9eRnSMIofSxV7ygaWljQ4tUYPERtjpmYs,3496
165
+ wiliot_certificate-4.5.0a5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
166
+ wiliot_certificate-4.5.0a5.dist-info/entry_points.txt,sha256=_wnYk2F4bFn9H7ZGRwYV6WcpK8a3WNon8K7Y5xusFz4,274
167
+ wiliot_certificate-4.5.0a5.dist-info/top_level.txt,sha256=WF6PUfxJ5n2-DxcXTA4oFrTlV6PX_pOYkYaQDk4Mk3g,35
168
+ wiliot_certificate-4.5.0a5.dist-info/RECORD,,