-
Notifications
You must be signed in to change notification settings - Fork 17
Make PowerManagingActor
more modular and generic
#773
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
Conversation
Because it an internal type that only holds system bounds. It can be used for other pools also, so it will be moved to a separate module in a subsequent commit. Signed-off-by: Sahas Subramanian <[email protected]>
This allows the type to be used by the other component pools and reduces the PowerManagingActor's dependence on the battery_pool package. Signed-off-by: Sahas Subramanian <[email protected]>
And replace them with the word `component`, so that it can be used as a generic report request type for all pools. Signed-off-by: Sahas Subramanian <[email protected]>
This allows the generic `Report` class to be typed in the BatteryPool as `BatteryPoolReport` with battery-related documentation. This commit also removed mentions of batteries from the `PowerManager.Report` class docstrings. Signed-off-by: Sahas Subramanian <[email protected]>
This is in preparation for using the PowerManagingActor with different component pools. The power manager needs to get system bounds for the given set of components from the right place, and only when necessary. This requires telling the power manager which pool to get bounds from, so that it can do it dynamically. Signed-off-by: Sahas Subramanian <[email protected]>
The only ones that remain are in the interactions with the PowerDistributingActor, which will be made general purpose separately. Signed-off-by: Sahas Subramanian <[email protected]>
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.
LGTM in general, but I have a few design concerns.
This is supposed to establish a link between the classes, making it easy to understand the code. Signed-off-by: Sahas Subramanian <[email protected]>
Signed-off-by: Sahas Subramanian <[email protected]>
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py
Outdated
Show resolved
Hide resolved
Signed-off-by: Sahas Subramanian <[email protected]>
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.
I only have a question about a possible missing entry into the release notes. LGTM otherwise
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.
I only have a question about a possible missing entry into the release notes. LGTM otherwise
The RELEASE_NOTES.md file has diverged and needs to be synced from the main branch, before it can be updated without conflicts. Signed-off-by: Sahas Subramanian <[email protected]>
Signed-off-by: Sahas Subramanian <[email protected]>
This PR updates the
PowerManagingActor
toare supported.
PowerManagingActor
, except in the interactions with thePowerDistributingActor
.The
PowerDistributingActor
needs to be modularized as well, beforethe either of these actors can be used with other types of components.
All changes in this PR are internal and don't affect the external
interface of the
BatteryPool
.