From 77ebbe7c6dc187b1437de51c7c007f6045e31fb0 Mon Sep 17 00:00:00 2001 From: Roberto Viola Date: Wed, 8 Feb 2023 10:46:18 +0100 Subject: [PATCH] Domyos EL 520 auto resistance #1252 --- src/characteristicwriteprocessor.cpp | 6 ++++-- src/domyoselliptical.cpp | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/characteristicwriteprocessor.cpp b/src/characteristicwriteprocessor.cpp index 487d73335..e9e747bbb 100644 --- a/src/characteristicwriteprocessor.cpp +++ b/src/characteristicwriteprocessor.cpp @@ -72,13 +72,15 @@ void CharacteristicWriteProcessor::changeSlope(int16_t iresistance, uint8_t crr, emit changeInclination(((iresistance / 100.0) * gain) + offset, ((qTan(qDegreesToRadians(iresistance / 100.0)) * 100.0) * gain) + offset); } else if (dt == bluetoothdevice::ELLIPTICAL) { + bool inclinationAvailableByHardware = ((elliptical *)Bike)->inclinationAvailableByHardware(); + qDebug() << "inclinationAvailableByHardware" << inclinationAvailableByHardware << "erg_mode" << erg_mode; emit changeInclination(((iresistance / 100.0) * gain) + offset, ((qTan(qDegreesToRadians(iresistance / 100.0)) * 100.0) * gain) + offset); - if (!((elliptical *)Bike)->inclinationAvailableByHardware()) { + if (!inclinationAvailableByHardware) { if (force_resistance && !erg_mode) { // same on the training program - Bike->changeResistance((resistance_t)(round(resistance * bikeResistanceGain)) + bikeResistanceOffset + + ((elliptical *)Bike)->changeResistance((resistance_t)(round(resistance * bikeResistanceGain)) + bikeResistanceOffset + 1 + CRR_offset + CW_offset); // resistance start from 1 } } diff --git a/src/domyoselliptical.cpp b/src/domyoselliptical.cpp index bff723029..0c4269f19 100644 --- a/src/domyoselliptical.cpp +++ b/src/domyoselliptical.cpp @@ -214,7 +214,7 @@ void domyoselliptical::update() { forceResistance(requestResistance); } requestResistance = -1; - } else if (requestInclination != -100) { + } else if (requestInclination != -100 && inclinationAvailableByHardware()) { if (requestInclination > 15) { requestInclination = 15; } else if (requestInclination == 0) {