forked from project-chip/connectedhomeip
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
merge from master #45
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Add trace events to CASE and PASE Sessions * Add get trace script python deps to BUILD.gn * Replace pw_trace macro to proper ones * Add trace header to isolate the dependency to pw_trace * Restyle with gn and clang-format
General: * Add ota-upgrade AnnounceOTAProvider handling to lighting-app .zap QPG: * Add OTA upgrade to QPG platform and lighting-app * Enable DNS client to resolve OTA provider Restyled by whitespace Restyled by clang-format Restyled by gn * Update to latest API for OTARequestor
Re-use more of the generated code (Encode/Decode) from cluster-objects.cpp (and .h). Progress toward issue #13470
Matter does not use a separate manufacturer code.
* Fixed up Session ID logging This fixes the session ID logging in SessionManager to be more aligned with spec terminology as well as logging both local and peer session IDs to make debugging a lot easier. * Update src/transport/SessionManager.cpp Co-authored-by: Tennessee Carmel-Veilleux <[email protected]> * Update src/transport/SessionManager.cpp Co-authored-by: Tennessee Carmel-Veilleux <[email protected]> * Update src/transport/SessionManager.cpp Co-authored-by: Martin Turon <[email protected]> * Update src/transport/SessionManager.cpp Co-authored-by: Martin Turon <[email protected]> Co-authored-by: Tennessee Carmel-Veilleux <[email protected]> Co-authored-by: Martin Turon <[email protected]>
* Update Dockerfile Add OTAR to all-clusters-app and lighting-app Fix build pigweed-app * Update version Revise build script for otar
Removed applyupdate command from ota-requestor-app as ota-announce automatically apply the updates once trasnfer completes. Minor readme changes.
Get the subject descriptor (from the exchange context session handle) in the command handler so an access control check can be performed before executing a command. Unit tests did not always provide an exchange context for tests of command interaction. This required some special handling for test cases in actual command handling code, and blocked cases (e.g. access control) which require an exchange context. So provide an exchange context even in test cases.
* Update docker images to 0.5.47 * Update image version to latest: 0.5.48 Co-authored-by: Andrei Litvin <[email protected]>
…13338) * Some level control lighting behaviours were disable by ember and zll unused defines. Add runtime attribute metadata checks to validate that the need attributes exist for that code. Replace the #ifdef gates to compiled that code by default but still allow toggling it off by defining the right IGNORE_LEVEL_CONTROL_XXX defines Fix min and max Level usage and consideing the attributes and featuremap. add behaviour tied with lighting Enable Feature map for level control and update cluster revision * regen * enable test lvl control cluster revision and featuremap and update values * regen * Fix build for other platforms. Fix test LVL min max level changes with level controll ligthing feature Set max Level to 254 for all Set CurrentLevel And StatUpCurrentLevel to NVM storage to support Start up current level behaviour Change current level and Start up current level to NVM storage for the startup functionnality. Update yaml lvl control test support lighting device using a minimum level of 1 instead of 0 add level control effect on off commmands * rebase regen * Use move to handler as precondition level setter as it doesn't depend of the current level Address PR comments * Fix conflicts after rebase and use new nonVolatile method instead of tokenized * regen & restyle rebase and regen, fix conflicts and error * Init persistance storage before InitDatamodel to allow attribute nvm storage in init callbacks. Rework Levelcontrol StartupCurrentLevel. Workaround zap can't generate default value to null. Use 255 for StartupCurrentLevel * Rebase and regen to fix conflicts. LVL tests changed recently but do not match those new feature from this PR. Fix that * Rebase and fix conflicts, add some wait time to a test that sometimes get delayed in Darwin test and reads the value too soon * Update src/app/clusters/level-control/level-control.cpp Co-authored-by: Marc Lepage <[email protected]> * Fix Cirque test due to lvl ctrl changes Co-authored-by: Marc Lepage <[email protected]>
…bled. (#13544) * Start building a 'matter IDL' generator. I would like to see what data is being generated WITHOUT trying to parse code. This would make it easier on code reviews and generally understanding what xml + zap actually mean. * Some initial example: can generate clusters and attributes and a lot of data types * make fabric scoped by show up * Add listing of commands * make commands take arguments * Only add cluster enums to the IDL * Ran zap-all generate to get a lot of matter IDL files * Support full command request/response and start describing endpoints * Much better display: only used structs and group by cluster and global as well * regen all and this time the content seems smaller and focused * Update FIXME to actual doc ... fixme was done * ZAP regen all again * Restyle fixes * Split longer line ifs onto separate lines * Code review noticed readonly and readwrite were switched. Fix that * Add support for flagging list attributes with [] * Add detection of array types, optionallity and nullability in struct items * Optionality, nullability and list in request/response structs * regen all * Propper support for events, fix namings for structs * Add indices to request and response parameters. Do not include empty requests (they serve no purpose) * re-ran zap, made some things non-reportable
- SessionManager has symetrical processing steps for group and unsecured message, but some side-effects of unicast secure sessions are delegated to SecureMessageCodec that should actually just be encrypt/decrypt logic. - This is needed to assist in having a single point of tracing for incoming/outgoing messages (upcoming PR). Current organization requires putting that logic in several modules due to the side-effects occuring at the wrong layer. Done by this PR: - Hoists those side effects (e.g. updating counter) up from SecureMessageCodec where they do not belong, into SessionManager. - Fix documentation and argument names of SecureMessageCodec that had rotted over many refactors and terminological changes. - Add a bit of processing symmetry in SessionManager Testing done: unit tests pass, integration tests pass
Matter manufacturer codes go directly inside ids.
* A first version of regen all which renames matter IDLs to sit along with source zap file * Re-generate zap (which moves Clusters.matter to stay with zap files)
* Add ids/Events.h * Update generated code
* Add workflow for doing fuzzing builds. Summary of changes: 1) examples/all-clusters-app/all-clusters-common/BUILD.gn: Makes all-clusters-app compile when compiled on its own, without any client apps (like chip-tool) as part of the same build. It used to be sneaking in a use_default_client_callbacks from someone else's configuration, as best I can tell. 2) build/config/compiler/BUILD.gn: Add a define in the fuzzer config so we can compile slightly different main() code. 3) examples/all-clusters-app/linux/main.cpp: Add a fuzzer hook that tries to process the fuzzer-provided data as a message. 4) scripts/build: Add support for a "libfuzzer" variant. * Addressing review comments. * Add clean shutdown when the fuzzer decides to stop.
* Add tracing instructions in ESP32 README.md * Restyled by gn * Restyled by prettier-markdown * Add "tokenized" to wordlist.txt * Change in src/trace/BUILD.gn file for PW_TRACE_BACKEND_SET flag Co-authored-by: Restyled.io <[email protected]>
The SetupPayload (Onboarding Payload in spec terminology) should be fully self describing, but isn't because it does not record whether the discriminator is the short or long version. This commit makes the necessary additions to expose that information. This improvement is then used to simplify the code in SetUpCodePairer, which was passing around its own isShort bool. Instead, it now just uses the SetupPayload struct in all interfaces.
…3699) * Expose array size limit in IDL where size limit seems intentional * Only use sizes for strings and place it together with the data type * Remove if_valid_list_size usage * ZAP regen * Fix removal of list sizes - had an extra maxLength remaining, now removed * Add unless check in structure member for string size. Not that no output diff * Add size info for attribute string types as well
…e OTA Requestor (#13718) * Correct the info for the OTA devices * Add clean-up steps and example for the OTA reference apps on Linux * Add steps for buildind the bootable image * Restyled by prettier-markdown * Fix typos * Restyled by prettier-markdown * Add gbl file extension * Add extra step description * Restyled by prettier-markdown Co-authored-by: Restyled.io <[email protected]>
… restart OTA Requestor once ApplyUpdate is successful (#13620) * [ESP32] CLI option to set delayedActionTime in OTA Provider app Also, modify Linux OTA Provider help for delayedActionTime cli option * [ESP32] Schedule the restart once OTA image apply is successful Also, Apply suggestion from #13484 in lighting-app * Review comments * Fix a small typo * Apply suggestions from code review Co-authored-by: Carol Yang <[email protected]> Co-authored-by: Carol Yang <[email protected]>
This commit failed to update Ota.cpp, resulting in a breakage for builds that include the OTA shell: commit d0d6dda Date: Thu Jan 20 05:37:01 2022 -0800 [OTA] Implement event support for OTA Requestor cluster (#13727) This commit fixes the issue by adding the now necessary version argument to the NotifyImageHandler shell command. Fixes #13803
) * [nrfconnect] Add description of the OTA testing procedure Signed-off-by: Damian Krolik <[email protected]> * Restyled by prettier-markdown * Apply review comments * More review comments * Restyled by prettier-markdown * Silence mispell check Co-authored-by: Restyled.io <[email protected]>
…#13794) SetUpCodePairer was filtering devices by discriminator, but not checking for a nonzero CM value, so could end up trying to commission a device that's not commissionable and miss a device with a colliding discriminator that is.
* Implement Localization Time Format cluster server support * Run codegen * Update src/app/clusters/time-format-localization-server/time-format-localization-server.cpp Co-authored-by: Boris Zbarsky <[email protected]> Co-authored-by: Boris Zbarsky <[email protected]>
…tests) (#13725) * A IDL parser: Can parse current IDL format (but that may change). Has working unit tests. * one more test * minor comment * make the structs a bit more compact: easier to read * one more tests * more tests, fixed one bug * Add unit test for cluster commands * Unit test for cluster enums * Unit test for cluster events * Rename "structure_member" to field since that seems easier to type and is a good term * Match the newest attribute format for IDLs * Allow test_parsing to be run stand alone and hope that this fix also fixes mac * Rename "parser" to a more specific name: the name parser is used in python and is too generic to attempt a top level import on it * Restyle fixes * Add support for global tag parsing after idl updated in master * Add support for datatype sizes and unit tests * Add test for sized strings in structs as well * Ran restyler
…ration manager and attribute access override (#13633) * Implement ActiveLocale using NVM attribute storage instead of configuration manager and attribute access override * Run codegen
* Add plumbing for timeouts / add to commissioning This lets us set a custom timeout for specific command like network enable, where it is reasonable for them to take more than 12 seconds on certain platforms. * zapt file change. * zap generated. ZAP - Y U make so many copies of the same code? * Invoke command plumbing for timeout I don't see this actually being used. Where does InvokeCommand get called from? Anyway, here's some plumbing. May as well save it. * Address review comments * Remove non-default timeout on test. * Add todo to remove the timeout setter * Add comment about timeouts. * Update src/controller/AutoCommissioner.cpp Co-authored-by: Boris Zbarsky <[email protected]> * Update src/controller/AutoCommissioner.cpp Co-authored-by: Boris Zbarsky <[email protected]> Co-authored-by: Boris Zbarsky <[email protected]>
* Added ondone logic for group command * generated files * generation correction * block time invoke when group command * Removed error * break out SendGroupCommandRequest * Apply suggestions from code review Co-authored-by: Boris Zbarsky <[email protected]> * review comments * Apply suggestions from code review Co-authored-by: Boris Zbarsky <[email protected]> Co-authored-by: Boris Zbarsky <[email protected]>
* Add new Simulated Test. * Generated code.
* Restore configurability of abnormal termination #### Problem `CodeUtils.h` builds on `nlassert.h` and contains definitions documented as configuring it, but due to an early bulk rename they don't actually apply. #### Change overview - Rename `CHIP_ASSERT_ABORT` and `CHIP_ASSERT_LOG` back to the original `NL_` forms so that they affect `nlassert.h`. - Rename `ChipDie()` to `CHIP_CONFIG_ABORT()` to avoid confusion with `chipDie()`. This was defined in most `CHIPPlatformConfig.h` files but never actually referenced; now, use it as the lowest-level abnormal termination operation. - Replace direct calls to `abort()` with suitable CodeUtils calls. #### Testing CI, plus local verification (chip-tool+m5stack) with an alternate `CHIP_CONFIG_ABORT()`. * restyle * split chipDie to reduce size while preserving current logging
* Enable cient side clusters. * Generated Code.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
What is being fixed? Examples:
Change overview
What's in this PR
Testing
How was this tested? (at least one bullet point required)