diff --git a/src/ANT/ANTChannel.cpp b/src/ANT/ANTChannel.cpp index f23832136..bfeba176e 100644 --- a/src/ANT/ANTChannel.cpp +++ b/src/ANT/ANTChannel.cpp @@ -55,7 +55,9 @@ ANTChannel::init() messages_received=0; messages_dropped=0; setId(); - srm_offset=400; // default relatively arbitrary, but matches common 'indoors' values + // retrieve srm_offset from last successful calibration, + // default relatively arbitrary, but matches common 'indoors' values + srm_offset=appsettings->value(this, SRM_OFFSET, 400).toDouble(); burstInit(); value2=value=0; status = Closed; @@ -413,6 +415,8 @@ void ANTChannel::broadcastEvent(unsigned char *ant_message) // 5 seconds have elapsed since starting calibration, so assume completed qDebug() << "ANT Sport calibration succeeded"; srm_offset = srm_offset_instant; + // persist offset value in global settings + appsettings->setValue(SRM_OFFSET, srm_offset); parent->setCalibrationZeroOffset(srm_offset); parent->setCalibrationSlope(srm_slope); parent->setCalibrationState(CALIBRATION_STATE_SUCCESS); diff --git a/src/Core/Settings.h b/src/Core/Settings.h index 29f008cb8..765423f5d 100644 --- a/src/Core/Settings.h +++ b/src/Core/Settings.h @@ -229,6 +229,7 @@ #define FORTIUS_FIRMWARE "fortius/firmware" #define FORTIUS_CALIBRATION "fortius/calibration" #define IMAGIC_FIRMWARE "imagic/firmware" +#define SRM_OFFSET "srm/offset" #define TRAIN_MULTI "train/multi" #define TRAIN_AUTOCONNECT "train/autoconnect" #define TRAIN_AUTOHIDE "train/autohide"