Skip to content

Commit ca719a9

Browse files
committed
mbedtls: Use LowPowerTimeout for mbedtls_set_alarm() if available
The function `mbedtls_set_alarm()` is only precise to seconds, so `LowPowerTimeout` is enough and saves power.
1 parent e16f59a commit ca719a9

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

connectivity/mbedtls/platform/src/timing_mbed.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929

3030
#include "mbedtls/timing.h"
3131
#include "drivers/Timeout.h"
32+
#include "drivers/LowPowerTimeout.h"
3233
#include "drivers/Timer.h"
3334
#include "drivers/LowPowerTimer.h"
3435
#include <chrono>
@@ -44,7 +45,14 @@ static void handle_alarm(void)
4445

4546
extern "C" void mbedtls_set_alarm(int seconds)
4647
{
48+
#if DEVICE_LPTICKER
49+
static mbed::LowPowerTimeout t;
50+
#elif DEVICE_USTICKER
4751
static mbed::Timeout t;
52+
#else
53+
#error "MBEDTLS_TIMING_C requires either LPTICKER or USTICKER"
54+
#endif
55+
4856
mbedtls_timing_alarmed = 0;
4957

5058
t.attach(handle_alarm, std::chrono::seconds(seconds));

0 commit comments

Comments
 (0)