-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Chime Cluster Definition and server code #35729
Conversation
Review changes with SemanticDiff. Analyzed 3 of 10 files.
|
Will add generated code in second commit as soon as I get some feedback on this. |
PR #35729: Size comparison from 8750c55 to 4d9380a Full report (33 builds for cc13x4_26x4, cyw30739, efr32, nxp, psoc6)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ideally, the implementation would be a separate PR from adding the XML.
return aEncoder.Encode(mDelegate.GetInstalledChimeSounds()); | ||
|
||
case ActiveChimeSoundId::Id: | ||
return aEncoder.Encode(mDelegate.GetActiveChimeSoundId()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be better if the simple things that can be stored in the cluster were stored there, so we can mark things dirty properly on changes.
return CHIP_NO_ERROR; | ||
} | ||
|
||
CHIP_ERROR ChimeServer::SetEnabled(bool enabled) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, but the write path is not calling this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, that's an error
virtual ~ChimeDelegate() = default; | ||
|
||
// Get Attribute Methods | ||
virtual DataModel::List<const Chime::Structs::ChimeSoundStruct::Type>& GetInstalledChimeSounds() = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the lifetime of the buffer backing that list? How does the delegate know to not deallocate it?
Also, it it intentional that this implementation does not allow chunking the list?
<item name="Name" type="char_string" max="48"/> | ||
</struct> | ||
|
||
<cluster apiMaturity="provisional"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where is the spec for this? I don't see it in the Matter appclusters spec on "master"....
It's impossible to review this XML without the spec.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's in the Cameras branch
FYI chime cluster PR went in @ #35806 Apologies did not realize you were working on this as well or would've reached out - started a chat on slack so we can coordinate |
Chime cluster definition and server code