Skip to content
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

Work on power down sequence #1121

Merged
merged 1 commit into from
Dec 21, 2018

Conversation

josesimoes
Copy link
Member

Description

  • Moved PowerLevel enum to nanoHAL_Power. Rework code accordingly.
  • Add check for reboot request and power mode after execution engine exits.
  • Add new function (to implemente at target level) to handle setting CPU power mode.
  • Update Win32 nanoCLR project accodingly.

Motivation and Context

  • The current "go-to-sleep" implementation is too simplistic because it does not have a way to gracefully exiting the execution engine (threads execution isn't terminated, disposed isn't called). Besides that it requires (at least formally) that the underlying OS is properly executing a recommended shut-down sequence.
  • The new approach requires that the "go-to-sleep" C# call just flags the reboot and power mode to the requested level, the execution engine gracefuller exits and after that each target has the opportunity to handle the shut-down sequence on it's own way.

How Has This Been Tested?

Screenshots

Types of changes

  • Improvement (non-breaking change that improves a feature, code or algorithm)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Signed-off-by: José Simões jose.simoes@eclo.solutions

- Moved PowerLevel enum to nanoHAL_Power. Rework code accordingly.
- Add check for reboot request and power mode after execution engine exits.
- Add new function (to implemente at target level) to handle setting CPU power mode.
- Update Win32 nanoCLR project accodingly.

Signed-off-by: José Simões <jose.simoes@eclo.solutions>
@josesimoes josesimoes added Type: enhancement Area: Targets Area: Common libs Everything related with common libraries labels Dec 20, 2018
@nfbot
Copy link
Member

nfbot commented Dec 20, 2018

Hi @josesimoes,

I'm nanoFramework bot.
Thank you for your contribution!

A human will be reviewing it shortly. 😉

@josesimoes
Copy link
Member Author

josesimoes commented Dec 20, 2018

@nanoframework/esp32-developers any comments on this?

The next step to make this happen is adjusting the code in nanoFramework_Hardware_Esp32_Sleep::NativeStartDeepSleep.

@josesimoes josesimoes merged commit 8a5f82d into nanoframework:develop Dec 21, 2018
@josesimoes josesimoes deleted the work-power-down-sequence branch December 21, 2018 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Common libs Everything related with common libraries Area: Targets Type: enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants