diff options
Diffstat (limited to 'src/heartrate')
-rw-r--r-- | src/heartrate/HeartrateDetailPage.qml | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/heartrate/HeartrateDetailPage.qml b/src/heartrate/HeartrateDetailPage.qml index 611d720..3f4e897 100644 --- a/src/heartrate/HeartrateDetailPage.qml +++ b/src/heartrate/HeartrateDetailPage.qml @@ -1,5 +1,7 @@ /* * Copyright (C) 2023 Arseniy Movshev <dodoradio@outlook.com> + * 2021 Timo Könnecke <github.com/eLtMosen> + * 2021 Darrel Griët <dgriet@gmail.com> * 2019 Florent Revest <revestflo@gmail.com> * * This program is free software: you can redistribute it and/or modify @@ -18,12 +20,33 @@ import QtQuick 2.15 import org.asteroid.controls 1.0 +import QtSensors 5.11 import org.asteroid.sensorlogd 1.0 import "../graphs" Item { + id: root + property int currentHr: 0 //we ought to get the last value from hrdataloader - but it currently doesn't do any caching so operation would be a bit slow, and we run the hr sensor when app starts anyway, so we'll ignore that for now + HrmSensor { + active: true + onReadingChanged: { + currentHr = reading.bpm + } + } + + property bool pulseToggle: true + property int pulseWidth: pulseToggle ? root.height*0.2 : root.height*0.26 + Behavior on pulseWidth { NumberAnimation { duration: pulseAnimationDuration; easing.type: Easing.OutInSine } } + + Timer { + id: pulseTimer + interval: 1000 / (currentHr / 30) + running: currentHr + repeat: true + onTriggered: pulseToggle = !pulseToggle + } Flickable { anchors.fill: parent contentHeight: contentColumn.implicitHeight @@ -33,6 +56,32 @@ Item { Item { width: parent.width; height: parent.width*0.2} + // this chunk of code is modified from https://github.com/AsteroidOS/asteroid-hrm/blob/master/src/main.qml + Item { + width: parent.width*0.5 + height: root.height*0.26 + anchors.horizontalCenter: parent.horizontalCenter + Label { + text: currentHr + " bpm" + anchors { + verticalCenter: parent.verticalCenter + left: parent.left + } + } + + Text { + id: heartPicture + anchors { + verticalCenter: parent.verticalCenter + horizontalCenter: parent.right + } + font.pixelSize: pulseWidth + text: "\u2764" + } + } + // end asteroid-hrm code + Item { width: parent.width; height: parent.width*0.2} + HrGraph { id: graph anchors.horizontalCenter: parent.horizontalCenter |