Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-dev by
targets/TARGET_ONSEMI/TARGET_NCS36510/sleep_api.c
- Committer:
- <>
- Date:
- 2016-10-28
- Revision:
- 149:156823d33999
- Child:
- 150:02e0a0aed4ec
File content as of revision 149:156823d33999:
/** ******************************************************************************* * @file sleep_api.c * @brief Implementation of a sleep functionality * @internal * @author ON Semiconductor * $Rev: $ * $Date: $ ****************************************************************************** * Copyright 2016 Semiconductor Components Industries LLC (d/b/a ON Semiconductor). * All rights reserved. This software and/or documentation is licensed by ON Semiconductor * under limited terms and conditions. The terms and conditions pertaining to the software * and/or documentation are available at http://www.onsemi.com/site/pdf/ONSEMI_T&C.pdf * (ON Semiconductor Standard Terms and Conditions of Sale, Section 8 Software) and * if applicable the software license agreement. Do not use this software and/or * documentation unless you have carefully read and you agree to the limited terms and * conditions. By using this software and/or documentation, you agree to the limited * terms and conditions. * * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. * ON SEMICONDUCTOR SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, * INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. * @endinternal * * @ingroup sleep * * @details * Sleep implementation TBD - Dummy function is fine for first release * */ #if DEVICE_SLEEP #include "sleep.h" #include "sleep_api.h" #include "cmsis_nvic.h" void mbed_enter_sleep(sleep_t *obj) { #ifdef SLEEP_TYPE_DEFAULT if(SLEEP_TYPE_DEFAULT == SLEEP_TYPE_SLEEP) { /* Sleep mode */ sleep(); } else if(SLEEP_TYPE_DEFAULT == SLEEP_TYPE_DEEPSLEEP) { /* Deep Sleep mode */ deepsleep(); } else { /* Coma mode */ coma(); } #else if(obj->SleepType == SLEEP_TYPE_NONE) { /* Select low power mode based on sleep duration */ if(obj->timeToSleep <= SLEEP_DURATION_SLEEP_MAX) { /* Sleep mode */ sleep(); } else if(obj->timeToSleep <= SLEEP_DURATION_DEEPSLEEP_MAX) { /* Deep sleep */ deepsleep(); } else { /* Coma */ coma(); } } else if(obj->SleepType == SLEEP_TYPE_SLEEP) { /* Sleep mode */ sleep(); } else if(obj->SleepType == SLEEP_TYPE_DEEPSLEEP) { /* Deep Sleep mode */ deepsleep(); } else { /* Coma mode */ coma(); } #endif } void mbed_exit_sleep(sleep_t *obj) { (void)obj; } #endif /* DEVICE_SLEEP */