Matter & Pigweed support:
- Fix serial exception when using descriptor service
- Matter controller implementation with chip-tool
- Create Matter Dimmable Light endpoint.
- Add descriptor service proto.
- Remove unnecessary check for OnOff in Level Control cluster test suite.
- Clean up: Delete legacy pigweed capabilities
- Add device power capability to matter device. Update reboot method to support hard, soft/pw_rpc method
- Add RaspberryPiMatterController auxiliary device
- Matter controller capability interface
- use *.flash.py file if provided to set correct flash setting for esp32.
- ESP32 flashing adjustments
- Clean up: Update Matter device doc for capabilities.
- Cleanup: Rename matter_door_lock to door_lock.
- Cleanup: Move matter_endpoint capability to base class.
- Enable matter endpoints in Matter sample apps.
- Add Matter door lock endpoint test suite and increase on_off test coverage.
- Implement and refactor Matter lighting test suite.
- Implement Door Lock endpoint and cluster.
- Add J-Link and esptool installation instructions
- Implement Matter Color Control cluster
- Matter on_off_light functional test suite.
- add support for esptool flashing
- Add WiFi RPC capability to esp32 all clusters app
- Implement Matter Level Control cluster.
- Add Toggle command and rename OnOff attribute to OnOff cluster.
- add matter pw wifi rpc proto files to GDM
- Add unit test for Matter on_off_light endpoint and on_off cluster.
- Unit test / device setup doc cleanup.
- Creates Matter OnOff light endpoint class.
- Add EFR32 Matter locking app.
- Fix bug of pw_rpc_light on setting color.
- Add get and set pairing info methods.
Mobly integration:
- Update open-source GDM test runner to use Mobly
- Fix Mobly Controller logline.
- Add mechanism to disable health check on Mobly controller registration
- Remove self.device.close as needed
- Replace self.logger with logging and remove self.logger from base class.
- Convert functional test asserts over to mobly asserts
- Convert GDM Test Base from GazooTest to Mobly.
- Move GDM's suite filter logic into a single file, enable unit testing and rename unit test file.
- Add get_manager to mobly_base
- Add gazoo_device.retry and change when device is created to setupClass.
Logging improvements:
- Improve error handling by logging and returning error tracebacks
- Fix DeprecationWarnings coming from pyudev usage
- Set logging to info level for switch power methods.
- Log method args and kwargs from log decorator
- 3x reduction in traceback frame noise from log decorator
- If recovery fails, include the original error in the traceback
- Clean up detect_criteria handling and detection logging
CPU efficiency improvements:
- Terminate Switchboard processes if process start times out
- Reduce LogFilter polling frequency 10x
- Do not power cycle communication ports for multiprocessing SwitchboardCreationErrors
- Better handling of long responses in ShellSSH
D-Link switch support (managed ethernet switch):
- Add device setup doc for dlink_switch.
- Add d-link switch auxiliary device and snmp communication type to GDM.
- Add SnmpComms communication type.
Other bug fixes and features:
- New adb_utils functions: wait_for_device, wait_for_device_offline
- Update command_with_regex to accept timeout argument
- Define LAUNCHER_PATH in config.py
- Open-source subprocess_utils
- Added a way to limit detection to specified communication types.
- Fixed device detection so that it will continue for serial number failures.
- Add "raise_if_already_open" argument to create_device() and a "create_and_close_device" context manager
- Update license header copyright year to 2022
- Add missing Apache license headers
- Add "has_package" to "package_management" interface
- Better support for ADB over IP/Wi-Fi
- Add recognition of all possible ADB states
- adb_utils cleanup
- Add ADB utilities
- Cleanup: add type annotations and code style improvements
- Filter out non-posix characters from filename
Tests:
- Fix flakiness in parallel_utils integration tests
- Move usb_info_test.py to gazoo_device
- Open-source decorators_test.py
- Remove ABSL log noise when running unit tests
- Skip expect() in "reboot_and_expect" test if log line is empty
- Use common logic for generating SSH device responses in unit tests
- Open-source device_detector_test.py