diff --git a/examples/ArmTimerCallbacks - C++/ArmTimerCallbacks.uvprojx b/examples/ArmTimerCallbacks - C++/ArmTimerCallbacks.uvprojx
index ed494f20..b7fa094b 100644
--- a/examples/ArmTimerCallbacks - C++/ArmTimerCallbacks.uvprojx
+++ b/examples/ArmTimerCallbacks - C++/ArmTimerCallbacks.uvprojx
@@ -336,7 +336,7 @@
- ..\..\src;..\ArmTimerCallbacks - C++
+ ..\..\include;..\ArmTimerCallbacks - C++
diff --git a/examples/ArmTimerCallbacks - C++/etl_profile.h b/examples/ArmTimerCallbacks - C++/etl_profile.h
index 4560ba1e..a2e2f33f 100644
--- a/examples/ArmTimerCallbacks - C++/etl_profile.h
+++ b/examples/ArmTimerCallbacks - C++/etl_profile.h
@@ -9,13 +9,14 @@
#define ETL_IVECTOR_REPAIR_ENABLE
#define ETL_IDEQUE_REPAIR_ENABLE
#define ETL_IN_UNIT_TEST
+#define ETL_CALLBACK_TIMER_USE_ATOMIC_LOCK
#if (__CC_ARM == 1)
// ARM5 compiler
- #include "profiles/armv5.h"
+ #include "etl/profiles/armv5.h"
#else
// ARM6 compiler
- #include "profiles/armv6.h"
+ #include "etl/profiles/armv6.h"
#endif
#endif
diff --git a/examples/ArmTimerCallbacks - C++/main.cpp b/examples/ArmTimerCallbacks - C++/main.cpp
index 05f19b17..d2d0e5a3 100644
--- a/examples/ArmTimerCallbacks - C++/main.cpp
+++ b/examples/ArmTimerCallbacks - C++/main.cpp
@@ -9,8 +9,23 @@ extern "C"
#include "stm32f4xx.h" // Device header
}
-#include "function.h"
-#include "callback_timer.h"
+#include "etl/function.h"
+#include "etl/callback_timer.h"
+#include "etl/vector.h"
+
+struct FP
+{
+ void (*function)();
+};
+
+static etl::vector power_callbacks;
+
+void register_poweroff_callback(void (*function)())
+{
+ FP fp = { function };
+ power_callbacks.push_back(fp);
+}
+
const int N_TIMERS = 4;