summaryrefslogtreecommitdiff
path: root/src/heartratetask
diff options
context:
space:
mode:
authorJean-François Milants <jf@codingfield.com>2021-06-12 08:58:28 (GMT)
committerJean-François Milants <jf@codingfield.com>2021-06-12 08:58:28 (GMT)
commit6d524ebea2c97e309633d5e01c3a1e37c182f27d (patch)
tree3f9c7f96f0fab64f581035c72480596a4cc4db43 /src/heartratetask
parentb1925ff28638dd4b8400c4d0c49d796d8990b1af (diff)
Move most of the code from the constructor of the objects statically initialized in main() into Start()/Init() functions to avoid Static Initialization Order Fiasco (https://en.cppreference.com/w/cpp/language/siof). See https://github.com/JF002/InfiniTime/pull/415#issuecomment-859004238.
Diffstat (limited to 'src/heartratetask')
-rw-r--r--src/heartratetask/HeartRateTask.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/heartratetask/HeartRateTask.cpp b/src/heartratetask/HeartRateTask.cpp
index 1c21db7..fddc05d 100644
--- a/src/heartratetask/HeartRateTask.cpp
+++ b/src/heartratetask/HeartRateTask.cpp
@@ -7,11 +7,12 @@ using namespace Pinetime::Applications;
HeartRateTask::HeartRateTask(Drivers::Hrs3300& heartRateSensor, Controllers::HeartRateController& controller)
: heartRateSensor {heartRateSensor}, controller {controller}, ppg{} {
- messageQueue = xQueueCreate(10, 1);
- controller.SetHeartRateTask(this);
}
void HeartRateTask::Start() {
+ messageQueue = xQueueCreate(10, 1);
+ controller.SetHeartRateTask(this);
+
if (pdPASS != xTaskCreate(HeartRateTask::Process, "Heartrate", 500, this, 0, &taskHandle))
APP_ERROR_HANDLER(NRF_ERROR_NO_MEM);
}