mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			Out-of-line LowPowerTimeout etc, lock
To match Timer etc, make LowPowerTimer et al out-of-line. Correct LowPowerTimeout to not lock deep sleep.pull/12425/head
							parent
							
								
									8e3e19837a
								
							
						
					
					
						commit
						58388b7e5e
					
				| 
						 | 
				
			
			@ -40,11 +40,8 @@ namespace mbed {
 | 
			
		|||
 * @note Synchronization level: Interrupt safe
 | 
			
		||||
 */
 | 
			
		||||
class LowPowerTicker : public TickerBase {
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    LowPowerTicker() : TickerBase(get_lp_ticker_data())
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
    LowPowerTicker();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/** @}*/
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,12 +37,8 @@ namespace mbed {
 | 
			
		|||
 * @note Synchronization level: Interrupt safe
 | 
			
		||||
 */
 | 
			
		||||
class LowPowerTimer : public TimerBase {
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    LowPowerTimer() : TimerBase(get_lp_ticker_data())
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    LowPowerTimer();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/** @}*/
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,8 +15,10 @@
 | 
			
		|||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
#include "drivers/Ticker.h"
 | 
			
		||||
#include "drivers/LowPowerTicker.h"
 | 
			
		||||
 | 
			
		||||
#include "hal/us_ticker_api.h"
 | 
			
		||||
#include "hal/lp_ticker_api.h"
 | 
			
		||||
#include "platform/CriticalSectionLock.h"
 | 
			
		||||
#include "platform/mbed_power_mgmt.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -103,4 +105,10 @@ Ticker::Ticker() : TickerBase(get_us_ticker_data(), true)
 | 
			
		|||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if DEVICE_LPTICKER
 | 
			
		||||
LowPowerTicker::LowPowerTicker() : TickerBase(get_lp_ticker_data(), false)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
} // namespace mbed
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,6 +39,12 @@ Timeout::Timeout() : TimeoutBase(get_us_ticker_data(), true)
 | 
			
		|||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if DEVICE_LPTICKER
 | 
			
		||||
LowPowerTimeout::LowPowerTimeout() : TimeoutBase(get_lp_ticker_data(), false)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* A few miscellaneous out-of-line static members from various related classes,
 | 
			
		||||
 * just to save them getting needing their own cpp file for one line.
 | 
			
		||||
 * (In C++17 could avoid the need for this by making the members inline).
 | 
			
		||||
| 
						 | 
				
			
			@ -49,10 +55,4 @@ const bool LowPowerClock::is_steady;
 | 
			
		|||
#endif
 | 
			
		||||
const bool RealTimeClock::is_steady;
 | 
			
		||||
 | 
			
		||||
#if DEVICE_LPTICKER
 | 
			
		||||
LowPowerTimeout::LowPowerTimeout() : TimeoutBase(get_lp_ticker_data(), true)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
} // namespace mbed
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,8 +15,10 @@
 | 
			
		|||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
#include "drivers/Timer.h"
 | 
			
		||||
#include "drivers/LowPowerTimer.h"
 | 
			
		||||
#include "hal/ticker_api.h"
 | 
			
		||||
#include "hal/us_ticker_api.h"
 | 
			
		||||
#include "hal/lp_ticker_api.h"
 | 
			
		||||
#include "platform/CriticalSectionLock.h"
 | 
			
		||||
#include "platform/mbed_critical.h"
 | 
			
		||||
#include "platform/mbed_power_mgmt.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -121,4 +123,10 @@ Timer::Timer() : TimerBase(get_us_ticker_data(), true)
 | 
			
		|||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if DEVICE_LPTICKER
 | 
			
		||||
LowPowerTimer::LowPowerTimer() : TimerBase(get_lp_ticker_data(), false)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
} // namespace mbed
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue