mirror of
https://github.com/cagnulein/qdomyos-zwift.git
synced 2026-02-18 00:17:41 +01:00
Compare commits
3 Commits
version-2.
...
build-912
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cc7757bfcd | ||
|
|
49c7a96c81 | ||
|
|
05d598ffcf |
@@ -4068,7 +4068,7 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_ENTITLEMENTS = "../src/ios/qdomyos-zwift.entitlements";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 911;
|
||||
CURRENT_PROJECT_VERSION = 912;
|
||||
DEVELOPMENT_TEAM = 6335M7T29D;
|
||||
ENABLE_BITCODE = NO;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "ADB_HOST=1";
|
||||
@@ -4259,7 +4259,7 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_ENTITLEMENTS = "../src/ios/qdomyos-zwift.entitlements";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 911;
|
||||
CURRENT_PROJECT_VERSION = 912;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
DEVELOPMENT_TEAM = 6335M7T29D;
|
||||
ENABLE_BITCODE = NO;
|
||||
@@ -4486,7 +4486,7 @@
|
||||
CODE_SIGN_ENTITLEMENTS = "watchkit Extension/WatchKit Extension.entitlements";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 911;
|
||||
CURRENT_PROJECT_VERSION = 912;
|
||||
DEVELOPMENT_TEAM = 6335M7T29D;
|
||||
ENABLE_BITCODE = YES;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
@@ -4582,7 +4582,7 @@
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = "watchkit Extension/WatchKit Extension.entitlements";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 911;
|
||||
CURRENT_PROJECT_VERSION = 912;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEVELOPMENT_TEAM = 6335M7T29D;
|
||||
ENABLE_BITCODE = YES;
|
||||
@@ -4674,7 +4674,7 @@
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = "watchkit Extension/WatchKit Extension.entitlements";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 911;
|
||||
CURRENT_PROJECT_VERSION = 912;
|
||||
DEVELOPMENT_ASSET_PATHS = "\"watchkit Extension/Preview Content\"";
|
||||
ENABLE_BITCODE = YES;
|
||||
ENABLE_PREVIEWS = YES;
|
||||
@@ -4788,7 +4788,7 @@
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = "watchkit Extension/WatchKit Extension.entitlements";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 911;
|
||||
CURRENT_PROJECT_VERSION = 912;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEVELOPMENT_ASSET_PATHS = "\"watchkit Extension/Preview Content\"";
|
||||
ENABLE_BITCODE = YES;
|
||||
|
||||
@@ -192,10 +192,16 @@ void wahookickrsnapbike::update() {
|
||||
}
|
||||
QThread::msleep(700);
|
||||
|
||||
QByteArray d = setWheelCircumference(gearsToWheelDiameter(gears()));
|
||||
uint8_t e[20];
|
||||
setGears(1);
|
||||
memcpy(e, d.constData(), d.length());
|
||||
writeCharacteristic(e, d.length(), "setWheelCircumference", false, true);
|
||||
|
||||
// required to the SS2K only one time
|
||||
Resistance = 0;
|
||||
emit resistanceRead(Resistance.value());
|
||||
initRequest = false;
|
||||
initRequest = false;
|
||||
} else if (bluetoothDevice.isValid() &&
|
||||
m_control->state() == QLowEnergyController::DiscoveredState //&&
|
||||
// gattCommunicationChannelService &&
|
||||
@@ -259,7 +265,10 @@ void wahookickrsnapbike::update() {
|
||||
memcpy(b, a.constData(), a.length());
|
||||
writeCharacteristic(b, a.length(), "setResistance", false, true);
|
||||
} else if (virtualBike && virtualBike->ftmsDeviceConnected() && lastGearValue != gears()) {
|
||||
inclinationChanged(lastGrade, lastGrade);
|
||||
QByteArray a = setWheelCircumference(gearsToWheelDiameter(gears()));
|
||||
uint8_t b[20];
|
||||
memcpy(b, a.constData(), a.length());
|
||||
writeCharacteristic(b, a.length(), "setWheelCircumference", false, true);
|
||||
}
|
||||
lastGearValue = gears();
|
||||
requestResistance = -1;
|
||||
@@ -280,6 +289,16 @@ void wahookickrsnapbike::update() {
|
||||
}
|
||||
}
|
||||
|
||||
double wahookickrsnapbike::gearsToWheelDiameter(double gear) {
|
||||
GearTable table;
|
||||
if(gear < 1) gear = 1;
|
||||
else if(gear > 12) gear = 12;
|
||||
double original_ratio = crankset / rear_cog_size;
|
||||
GearTable::GearInfo g = table.getGear((int)gear);
|
||||
double current_ratio = g.crankset / g.rearCog;
|
||||
return (wheel_size / current_ratio) * original_ratio;
|
||||
}
|
||||
|
||||
void wahookickrsnapbike::serviceDiscovered(const QBluetoothUuid &gatt) {
|
||||
emit debug(QStringLiteral("serviceDiscovered ") + gatt.toString());
|
||||
}
|
||||
@@ -823,7 +842,6 @@ void wahookickrsnapbike::inclinationChanged(double grade, double percentage) {
|
||||
emit debug(QStringLiteral("writing inclination ") + QString::number(grade));
|
||||
QSettings settings;
|
||||
double g = grade;
|
||||
g += gears();
|
||||
QByteArray a = setSimGrade(g);
|
||||
uint8_t b[20];
|
||||
memcpy(b, a.constData(), a.length());
|
||||
|
||||
@@ -56,7 +56,7 @@ class wahookickrsnapbike : public bike {
|
||||
_setWheelCircumference = 72,
|
||||
};
|
||||
|
||||
private:
|
||||
private:
|
||||
QByteArray unlockCommand();
|
||||
QByteArray setResistanceMode(double resistance);
|
||||
QByteArray setStandardMode(uint8_t level);
|
||||
@@ -109,6 +109,71 @@ class wahookickrsnapbike : public bike {
|
||||
|
||||
resistance_t lastForcedResistance = -1;
|
||||
|
||||
// cranks & co.
|
||||
double crankset = 40;
|
||||
double rear_cog_size = 14;
|
||||
double wheel_size = 2230; // mm 700x44
|
||||
double gearsToWheelDiameter(double gear);
|
||||
|
||||
class GearTable {
|
||||
public:
|
||||
struct GearInfo {
|
||||
int gear;
|
||||
int crankset;
|
||||
int rearCog;
|
||||
};
|
||||
|
||||
GearTable() {
|
||||
gears = {
|
||||
{1, 38, 44},
|
||||
{2, 38, 38},
|
||||
{3, 38, 32},
|
||||
{4, 38, 28},
|
||||
{5, 38, 24},
|
||||
{6, 38, 21},
|
||||
{7, 38, 19},
|
||||
{8, 38, 17},
|
||||
{9, 38, 15},
|
||||
{10, 38, 13},
|
||||
{11, 38, 11},
|
||||
{12, 38, 10}
|
||||
};
|
||||
}
|
||||
|
||||
void addGear(int gear, int crankset, int rearCog) {
|
||||
gears.push_back({gear, crankset, rearCog});
|
||||
}
|
||||
|
||||
void removeGear(int gear) {
|
||||
gears.erase(std::remove_if(gears.begin(), gears.end(),
|
||||
[gear](const GearInfo& info) { return info.gear == gear; }),
|
||||
gears.end());
|
||||
}
|
||||
|
||||
void printTable() const {
|
||||
qDebug() << "| Gear | Crankset | Rear Cog |\n";
|
||||
qDebug() << "|------|----------|----------|\n";
|
||||
for (const auto& gear : gears) {
|
||||
qDebug() << "| " << gear.gear << " | " << gear.crankset
|
||||
<< " | " << gear.rearCog << " |\n";
|
||||
}
|
||||
}
|
||||
|
||||
GearInfo getGear(int gearNumber) const {
|
||||
auto it = std::find_if(gears.begin(), gears.end(),
|
||||
[gearNumber](const GearInfo& info) { return info.gear == gearNumber; });
|
||||
|
||||
if (it != gears.end()) {
|
||||
return *it;
|
||||
}
|
||||
return GearInfo();
|
||||
}
|
||||
|
||||
private:
|
||||
std::vector<GearInfo> gears;
|
||||
};
|
||||
|
||||
|
||||
#ifdef Q_OS_IOS
|
||||
lockscreen *h = 0;
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user