Skip to content

Commit

Permalink
Hack solution for aggregator recursive parts list (#6)
Browse files Browse the repository at this point in the history
When trying to bridge composed devices (devices which functionality is
spread hierarchically over multiple endpoints) the aggregator needs to
know all endpoints including all children of all aggregated devices.

Normally we should use the `SetFlatCompositionForEndpoint` for this
purpose, yet this doesn't work as the endpoint needs to be deactivated
before setting the flat composition (recursive look up of children
endpoints).

Therefore we tell the system that all endpoints are flat composition.

This will become a problem when we have composed devices of multiple
depths levels. In that case we need to set thos devices to tree
composition or reset tree composition to the default and find a solution
how to set flat composition for the aggregator device type
  • Loading branch information
Caldwell1988 authored Jan 29, 2024
2 parents c444238 + d59d63f commit da2e0f4
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions src/app/util/attribute-storage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ void emberAfEndpointConfigure()
for (ep = FIXED_ENDPOINT_COUNT; ep < MAX_ENDPOINT_COUNT; ep++)
{
emAfEndpoints[ep] = EmberAfDefinedEndpoint();
emAfEndpoints[ep].bitmask.Set(EmberAfEndpointOptions::isFlatComposition);
}
}
#endif
Expand Down

0 comments on commit da2e0f4

Please sign in to comment.