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
core/lpm_arch: Clarification of the lpm arch interface #2247
Comments
Ping @haukepetersen. Here's the discussed new issue report from yesterday. |
@OlegHahm do you remember the notion behind the different modes? |
No, these defines already existed when I started to work with FireKernel. @kaspar030? |
I've used these mappings for SAM D21 LPM if it helps!
Datasheet Ref: http://www.atmel.com/Images/Atmel-42223-SAM-R21_Datasheet.pdf (Page: 115) |
So as there are some devices whith multiple idle modes it seems to make sense that there are for example five different power modes. Correct? One could maybe rename them so it becomes clear that they differ in "strengh" but I don't mind staying with the existing solution. |
The Kinetis devices have even more power modes:
Having five different LPM enums is probably enough for most use-cases though. |
I had a quick discussion with @OlegHahm about this. The most important transition seems to be the one called by the idle thread. In my opinion we could even go with less modes (as the kernel uses only IDLE and RUN), but put some platform specific code in place, so that each time the system goes into IDLE it will figure out the best mode available (depending on running peripherals and the hardware platform). Does this make sense to you? |
Obsolete (see #6160) |
I provided an implementation of the lpm_arch interface for the STM32F4 cpu (see #2246).
During that process, I wondered what the difference behind RIOT's LPM_POWERDOWN and LPM_OFF mode is. From my perspective, I couldn't find a difference and documentation doesn't help either. Maybe someone could explain the intention behind separating these two mode options?
If there is no difference, I'd vote for removing the LPM_OFF mode.
The text was updated successfully, but these errors were encountered: