Compare commits

...

319 Commits

Author SHA1 Message Date
Roberto Viola
4a732edbd5 a lot of improvement on the charts! 2021-04-01 16:20:30 +02:00
Roberto Viola
1c20a2c77d power, heart and cadence chart working! 2021-04-01 12:21:53 +02:00
Roberto Viola
a6b7f4ff94 iOS version 2.5.16 2021-04-01 08:00:47 +02:00
Roberto Viola
a42d218eda Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-03-31 16:16:41 +02:00
Roberto Viola
48d985cf67 added peloton activity name to strava 2021-03-31 16:15:04 +02:00
Roberto Viola
43bb830c23 workout name on peloton and password hidden on peloton setting 2021-03-31 15:40:41 +02:00
Roberto Viola
82888440cf first version working on MacOS 2021-03-31 13:54:15 +02:00
Roberto Viola
f45de06bcf first commit with peloton following workout feature (NOT TESTED) 2021-03-31 11:33:40 +02:00
Roberto Viola
6f081cc6b4 all the API implemented! 2021-03-30 22:54:30 +02:00
Roberto Viola
11c137e0e3 Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-03-30 18:39:43 +02:00
Roberto Viola
dea69cc74a QT iOS patches in order to restore the correct functionality on the Echelon bikes 2021-03-30 18:38:29 +02:00
Roberto Viola
e7eb0822e7 Merge pull request #228 from ben75020/docs/usage
Documentation about usage
2021-03-30 17:38:55 +02:00
ben75020
1943a08632 Merge branch 'master' into docs/usage 2021-03-30 17:37:36 +02:00
Benjamin.Riou
167dc93a55 Documentation about usage 2021-03-30 17:33:49 +02:00
Roberto Viola
9159af36f7 Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-03-30 13:37:17 +02:00
Roberto Viola
2763ce6e8a added binary patched from iOS 2021-03-30 13:37:05 +02:00
Roberto Viola
f4c6dfaeb6 m3ibike kcal method setting 2021-03-30 11:58:52 +02:00
Roberto Viola
bda4f5cf6b Merge pull request #222 from ben75020/docs/update1
Docs Update on CLI usage and installation
2021-03-28 18:34:43 +02:00
Benjamin.Riou
5b33d479e0 Docs Update on CLI usage and installation 2021-03-28 18:28:11 +02:00
Roberto Viola
907d494803 esanglinker compatibility added 2021-03-28 14:38:35 +02:00
Roberto Viola
1c4a3e6185 Merge pull request #220 from ben75020/docs/supported
Docs/supported devices
2021-03-28 12:21:36 +02:00
ben75020
b11a0cca1c Update 20_supported_devices_and_applications.md 2021-03-28 10:03:40 +02:00
ben75020
dde586ecdd Update 20_supported_devices_and_applications.md 2021-03-28 10:02:45 +02:00
ben75020
390cf9bfef Update 21_applications_detail.md 2021-03-28 10:01:17 +02:00
Benjamin.Riou
758349b80f Add documentation on devices and software 2021-03-28 09:59:01 +02:00
Benjamin.Riou
896c641851 Documentation 2021-03-28 08:24:53 +02:00
Benjamin.Riou
5cb44c17e8 Documentation 2021-03-28 08:24:53 +02:00
Roberto Viola
2c124f4365 Merge pull request #219 from p3g4asus/QMLTests
Qml tests
2021-03-27 20:25:07 +01:00
Roberto Viola
6d4c030754 heartratebelt on iOS using UUID as for schwinnbike 2021-03-27 18:57:49 +01:00
Matteo Federico Zazzetta
0fad920c39 New design for peloton options 2021-03-27 18:42:53 +01:00
Matteo Federico Zazzetta
6bd2327165 Fix heart rate settings 2021-03-27 18:14:50 +01:00
Matteo Federico Zazzetta
497865f2e6 Some minor changes 2021-03-27 18:02:20 +01:00
Matteo Federico Zazzetta
b279344dbc Setting redesign 2021-03-27 16:59:45 +01:00
Roberto Viola
c0936c526b workaround in order to have schwinn bike connected to peloton and QZ at
the same time. Test needed. Heart rate on domyostreadmill fixed on iOS
also
2021-03-27 11:45:49 +01:00
Roberto Viola
46111ce52b Merge branch 'advertismentless' of https://github.com/cagnulein/qdomyos-zwift into advertismentless 2021-03-27 07:42:40 +01:00
Roberto Viola
a1c6052a1f Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-03-26 20:51:38 +01:00
Roberto Viola
f1af9e74ec lap time from absolute to relative 2021-03-26 20:51:21 +01:00
Roberto Viola
e0eeeb376a ios version 2.5.11 2021-03-26 16:11:24 +01:00
Roberto Viola
5be96fab9b trying advertismentless on domyostreadmill (NOT WORKING YET) 2021-03-26 16:03:05 +01:00
Roberto Viola
8e0acf6665 improved toorxtreadmill start phase 2021-03-26 15:42:43 +01:00
Roberto Viola
70a2e272f9 fixed peloton workaround on m3ibike 2021-03-26 13:53:32 +01:00
Roberto Viola
b305361df3 toorxtreadmill speed and inclination button supported (EXPERIMENTAL)
also disabled auto start
2021-03-26 10:17:28 +01:00
Roberto Viola
712de90179 inspirebike default peloton resistance setting added 2021-03-26 07:55:52 +01:00
Roberto Viola
28a85523fc lap.png added to ios 2021-03-25 15:35:56 +01:00
Roberto Viola
a4a1ff88c8 ios version 2.5.9 2021-03-25 15:30:15 +01:00
Roberto Viola
bacfa9c929 ios build fixed 2021-03-25 15:26:38 +01:00
Roberto Viola
b1835e44c0 version 2.5.9 2021-03-25 15:11:45 +01:00
Roberto Viola
ef29a2169d Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-03-25 15:10:12 +01:00
Roberto Viola
c227f7b6be elapsedTime for lap added 2021-03-25 15:06:55 +01:00
Roberto Viola
068a12c988 lap works on garmin connect! 2021-03-25 12:20:20 +01:00
Roberto Viola
8b1ad4e450 Merge pull request #216 from ben75020/main/logmanagement
Main/logmanagement
2021-03-25 09:48:10 +01:00
Benjamin.Riou
0f42e107d4 Remove any space, point from logfiles names 2021-03-25 09:39:36 +01:00
Benjamin.Riou
e89016cde3 make logging logic clearer 2021-03-25 09:39:26 +01:00
Benjamin.Riou
c4afb8e271 ignore debugs to git 2021-03-25 09:09:21 +01:00
Benjamin.Riou
673fb2b842 adjust logging operations 2021-03-25 09:09:03 +01:00
Benjamin.Riou
1562315d3a adjust documentation 2021-03-25 09:02:54 +01:00
Benjamin.Riou
cc3e290ff9 Log management by commandline 2021-03-25 09:02:54 +01:00
Roberto Viola
69270b0d34 Merge pull request #215 from ben75020/test1
Update gitignore
2021-03-25 08:18:34 +01:00
Roberto Viola
4c258b1732 removed QByteArray::fromRawData from all the machineries 2021-03-25 07:36:34 +01:00
Benjamin.Riou
a33c4b0b93 Update gitignore 2021-03-24 22:21:08 +01:00
Roberto Viola
d26b21d20c limit numbers managed on random programs 2021-03-24 20:29:34 +01:00
Roberto Viola
f18637cae6 peloton resistance conversion added to proformbike 2021-03-24 16:28:13 +01:00
Roberto Viola
98d064b56d wrong filling of the bluetooth drop down fixed 2021-03-24 16:20:43 +01:00
Roberto Viola
e8911216c4 pace conversion in miles 2021-03-24 14:27:08 +01:00
Roberto Viola
a7e71ef932 fix build on toorxtreadmill 2021-03-24 14:05:05 +01:00
Roberto Viola
37a0202d3a fixing toorxtreadmill init phase 2021-03-24 14:02:40 +01:00
Roberto Viola
459561e4e6 fixing startup phase on toorxtreadmill 2021-03-24 12:17:28 +01:00
Roberto Viola
c1d4a8dbb6 fixed toorxtreadmill build issue 2021-03-24 10:34:15 +01:00
Roberto Viola
f645be0be9 toorxtreadmill fixes 2021-03-24 10:26:23 +01:00
Roberto Viola
802e6ed88c Time tile renamed to Clock 2021-03-24 07:41:35 +01:00
Roberto Viola
2a25cc6b4e Merge pull request #209 from ben75020/virtualbike/bekool
VIRTUALBIKE Append 0 byte object after HR
2021-03-24 07:24:19 +01:00
Roberto Viola
4c565bbcf6 Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-03-24 07:23:49 +01:00
Roberto Viola
7ebd8fd606 disconnection virtualbike ghost on iOS fixed 2021-03-24 07:23:28 +01:00
Roberto Viola
dd7fdbaaee Merge pull request #212 from ben75020/docs/raspberry
Documentation
2021-03-23 19:22:10 +01:00
Roberto Viola
4b74b572e3 Update README.md 2021-03-23 19:21:29 +01:00
Roberto Viola
b091427870 added peloton gain and offset for inspirebike too 2021-03-23 19:05:07 +01:00
Benjamin.Riou
7db9f29ebd Documentation 2021-03-23 17:25:41 +01:00
Roberto Viola
a4876de5ec trying fixing discovery service on toorxtreadmill 2021-03-23 16:16:49 +01:00
Roberto Viola
002f9ca2d8 reverting toorxtreadmill android changes 2021-03-23 16:06:28 +01:00
Roberto Viola
122e59b6bf Merge pull request #208 from ben75020/sportstech/metrics
SPORTSTECH Debug Metrics
2021-03-23 15:22:55 +01:00
Roberto Viola
76d30d3d61 addede resistance to virtual echelon bike 2021-03-23 14:02:15 +01:00
Benjamin.Riou
04a84634e4 Append 0 byte object after HR 2021-03-23 13:57:05 +01:00
Benjamin.Riou
8c4e20a9c4 GetResistenceFromPacket fixed 2021-03-23 13:51:59 +01:00
Benjamin.Riou
caa3bc8754 GetElapsedFromPacket fixed 2021-03-23 13:50:37 +01:00
Roberto Viola
316ae5394a echelon virtualbike fixed 2021-03-23 11:28:53 +01:00
Roberto Viola
9e74781af1 adding experimental echelon virtual bike 2021-03-23 10:42:36 +01:00
Roberto Viola
fc7d8c59c4 trying managing FITBIKE 2021-03-23 09:16:47 +01:00
Roberto Viola
fdbc0fee65 trying to avoid crash on echelonconnectsport 2021-03-23 09:02:48 +01:00
Roberto Viola
d82f1a418f filtering out issue on flywheelbike 2021-03-23 07:15:04 +01:00
Roberto Viola
cf87bae997 added a setting to disabling the writing of resistance from virtualbike
interface
2021-03-22 17:29:41 +01:00
Roberto Viola
33b550736f debug print restored on desktop linux and windows 2021-03-22 17:25:14 +01:00
Roberto Viola
385170cb80 Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-03-22 15:24:18 +01:00
Roberto Viola
7f4af52e7a added compatibility with ICONSOLE+ bikes 2021-03-22 15:23:50 +01:00
Roberto Viola
2e84be9ff5 changed toorx bike setting description 2021-03-22 14:25:06 +01:00
Roberto Viola
c3702cfd55 restoring resistance value after a disconnection on echelonconnectsport 2021-03-22 11:55:48 +01:00
Roberto Viola
9edec0f966 fix ios build error 2021-03-22 11:40:26 +01:00
Roberto Viola
4b7314c878 removed signal debug and qbytearray:fromrawadata bug from domyosbike 2021-03-22 10:43:20 +01:00
Roberto Viola
ba258923f1 fixed signed bug on zwift ERG mode 2021-03-22 08:32:56 +01:00
Roberto Viola
80080b0b84 removed debug signal from echelonconnectsport and virtualbike 2021-03-22 08:20:31 +01:00
Roberto Viola
5e5db801d4 target resistance step from 0.1 to 0.03 in order to allow smaller
changes on echelon bikes
2021-03-21 17:41:46 +01:00
Roberto Viola
1bcaa60128 fixed strava and peloton issue on flywheelbike when crappy values
incomes
2021-03-21 17:22:07 +01:00
Roberto Viola
a48e99828b removed the writing of the inclination on domyoselliptical waiting for a
hci snoof
2021-03-21 17:21:13 +01:00
Roberto Viola
284a6c9298 heart avg and max restored on second line on QML 2021-03-21 14:09:03 +01:00
Roberto Viola
f94fdbcb03 bike power sensor setting added 2021-03-21 14:05:24 +01:00
Roberto Viola
946e366a89 peloton gain and offset settings added to schwinnic4bike 2021-03-21 14:00:59 +01:00
Roberto Viola
ec6d6f060f trying to fix toorxtreadmill 2021-03-20 19:08:31 +01:00
Roberto Viola
7bddd3f419 heart rate added on sportstechbike 2021-03-20 18:40:28 +01:00
Roberto Viola
3e27ca9378 sportstechbike speed issue fixed 2021-03-20 18:03:02 +01:00
Roberto Viola
631bf67311 fixed inclination button on domyoselliptical 2021-03-20 12:19:39 +01:00
Roberto Viola
deb87524c3 add watts for inclination on the domyoselliptical and experimental
inclination write
2021-03-19 14:45:42 +01:00
Roberto Viola
cd33fed4a5 added inclination to elliptical 2021-03-19 10:17:19 +01:00
Roberto Viola
77d1f29d4b random training program added 2021-03-19 10:16:35 +01:00
Roberto Viola
8e3594fb86 on linux/windows QML should be on full screen 2021-03-19 08:25:15 +01:00
Roberto Viola
e223432dda added UI zoom setting 2021-03-18 08:34:58 +01:00
Roberto Viola
56eac13d0e fixed speed on domyosbike #203 2021-03-18 08:34:27 +01:00
Roberto Viola
55c812acf7 heart rate zones are customizable 2021-03-17 15:33:59 +01:00
Roberto Viola
f51fbd61a4 elapsed time fixed on trxappgateusbbike 2021-03-17 13:38:12 +01:00
Roberto Viola
f792dbb52c custom suffix on strava activites setting added 2021-03-17 10:42:08 +01:00
Roberto Viola
074ac15ede ios version 2.4.26 2021-03-17 10:14:38 +01:00
Roberto Viola
f1fb529831 Merge pull request #202 from p3g4asus/M3iIOS
M3i ios
2021-03-17 08:34:48 +01:00
Roberto Viola
d92d959dc2 Merge branch 'master' into M3iIOS 2021-03-17 08:33:49 +01:00
Matteo Federico Zazzetta
a9722ebc16 Merge with master 2021-03-17 08:26:24 +01:00
Roberto Viola
0cf483cc1e flywheelbike samples filter added in the settings 2021-03-17 07:14:15 +01:00
Roberto Viola
48e5b219bf Bowflex C7 support 2021-03-17 05:50:15 +01:00
Matteo Federico Zazzetta
e56916502e Reverting changes in iOS build folder 2021-03-16 21:48:23 +01:00
Matteo Federico Zazzetta
590a3f98f2 Restore iOS target and prefix for PR 2021-03-16 21:35:42 +01:00
Matteo Federico Zazzetta
c7840bb835 Inverted parameter values 2021-03-16 21:13:05 +01:00
Matteo Federico Zazzetta
93acc3e95f Fine tuning pause detection parameters on android 2021-03-16 20:59:32 +01:00
Matteo Federico Zazzetta
1a4324cae2 Merge master 2021-03-16 20:08:57 +01:00
Roberto Viola
511482e9ab heart rate issue on schwinnic4bike 2021-03-16 14:46:31 +01:00
Matteo Federico Zazzetta
e1b9fea1aa Merge with master 2021-03-16 14:35:56 +01:00
Roberto Viola
558c755feb start fixing fromRawData issue 2021-03-16 14:10:06 +01:00
Roberto Viola
a644c14938 sending poll every 2 seconds instead of 0.2 on echelonconnectsport 2021-03-16 08:23:58 +01:00
Roberto Viola
a372064528 Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-03-16 07:48:06 +01:00
Roberto Viola
774c113656 reverted mutable list iterator on bluetooth scanning 2021-03-16 07:47:42 +01:00
Matteo Federico Zazzetta
0334f3fd1b Merge with master 2021-03-15 22:05:24 +01:00
Matteo Federico Zazzetta
59011b4c82 Merge with master 2021-03-15 21:58:26 +01:00
Roberto Viola
0343c3078f Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-03-15 20:41:01 +01:00
Roberto Viola
c570bd5950 watt on UI fixed when the gain is different from 1 2021-03-15 20:40:51 +01:00
Roberto Viola
5593b69c81 changing the peloton resistance again on inspirebike 2021-03-15 20:37:07 +01:00
Roberto Viola
fdafab79c4 peloton resistance for inspirebike updated 2021-03-15 19:21:12 +01:00
Roberto Viola
d7489d56bc ios version 2.4.21: added some debug print on the watt metric 2021-03-15 14:55:15 +01:00
Roberto Viola
6a06288c93 fixing watt table of inspirebike 2021-03-15 09:52:20 +01:00
Roberto Viola
1a176eed87 get sleep command to echelonconnectsport added 2021-03-15 07:41:36 +01:00
Roberto Viola
bb4827dca4 hr Z1 color changed 2021-03-15 07:01:05 +01:00
p3g4asus
c58c08e45b Still offsets with timer but success is close (??) 2021-03-14 21:22:28 +01:00
Roberto Viola
faf8f94fe8 filtering crappy datas on flywheelbike 2021-03-14 18:14:52 +01:00
Roberto Viola
7f59a78c6c run cadence sensor setting added 2021-03-14 17:18:28 +01:00
Roberto Viola
e4a9872922 kcal and distance fixed on horizontreadmill 2021-03-14 17:14:49 +01:00
Matteo Federico Zazzetta
535919c588 Elapsed time is now managed in way that should be comparable to the one that m-series App uses 2021-03-14 14:27:05 +01:00
p3g4asus
ebdf5a35b2 Fixes and optimizations 2021-03-13 22:31:44 +01:00
p3g4asus
3a619c42af Fixes 2021-03-13 11:45:04 +01:00
p3g4asus
d62d45b1e4 Small fixes 2021-03-12 16:10:52 +01:00
Roberto Viola
7362332322 added a reminder to the echelonconnectsport module 2021-03-12 15:22:08 +01:00
Matteo Federico Zazzetta
d8d06bd59b Minor fixes 2021-03-12 15:00:25 +01:00
Roberto Viola
82131e9824 echelonconnectsport objc_msgsend fixed 2021-03-12 14:43:03 +01:00
p3g4asus
a9389c7646 Compilation errors fixed 2021-03-12 14:10:42 +01:00
Matteo Federico Zazzetta
f5c88992d9 Minor improvements 2021-03-12 13:51:40 +01:00
Roberto Viola
a82c7aa3f2 kcal fixed on all domyos devices 2021-03-12 08:29:20 +01:00
p3g4asus
95dcc2bb52 Now it compiles: untested 2021-03-11 22:27:36 +01:00
Matteo Federico Zazzetta
3d99fc9814 First try to implement better ios search: DOES not even compile 2021-03-11 21:08:28 +01:00
Roberto Viola
82b74d60a7 m3ibike fixed on android 2021-03-11 17:03:56 +01:00
Roberto Viola
b5f2a52829 buffer overflow fixed on F80(horizontreadmill) 2021-03-11 15:19:42 +01:00
Roberto Viola
0e5de57a70 F80 treadmill managed by FTMS 2021-03-11 09:26:59 +01:00
Roberto Viola
f9fa524a55 build error fixed on m3ibike 2021-03-10 09:40:04 +01:00
Roberto Viola
79a429115f added compatibility to XT485 treadmill from Spirit 2021-03-10 08:16:12 +01:00
Roberto Viola
c7a3b19592 bikeResistanceGain transformed to double 2021-03-10 08:11:47 +01:00
Roberto Viola
fd9fc74b42 reenabling the wake lock setting 2021-03-09 15:31:19 +01:00
Roberto Viola
3f2b133bc2 Update README.md 2021-03-09 08:12:15 +01:00
Roberto Viola
1a1c1d7cac fixing watt on m3ibike 2021-03-08 19:29:40 +01:00
Roberto Viola
56f676cba4 resistance fixed on skandikawiribike 2021-03-08 19:27:18 +01:00
Roberto Viola
ed2d60aec6 skandikawiribike resistance requested reverted 2021-03-08 16:34:06 +01:00
Roberto Viola
7090a63177 fixed cadence on skandikawiribike 2021-03-08 16:23:01 +01:00
Roberto Viola
e0e847c3d1 fix m3ibike on iOS 2021-03-08 15:54:13 +01:00
Roberto Viola
bb8697ee2b fixed watts, jouls, peloton resistance and resistance on m3ibike 2021-03-08 15:23:13 +01:00
Roberto Viola
63f72ee9a0 itoa function added 2021-03-08 15:04:16 +01:00
Roberto Viola
5217c48129 conversions fixed on skandikawiribike 2021-03-08 14:51:54 +01:00
Roberto Viola
4fc06936a4 fixed speed (again!) on skandikawiribike 2021-03-08 10:15:58 +01:00
Roberto Viola
41c2a6558f difficult added to requested resistance 2021-03-08 09:55:02 +01:00
Roberto Viola
1195652159 heart rate zones added based on age 2021-03-08 09:29:29 +01:00
Roberto Viola
81261a86c5 distance fixed on horizontreadmill 2021-03-08 09:16:41 +01:00
Roberto Viola
36f2e66e5e fixed speed and watt on skandikawiribike 2021-03-08 09:08:50 +01:00
Roberto Viola
22e98baddc fixed apple watch heart rate on m3ibike 2021-03-08 08:25:26 +01:00
Roberto Viola
393412d78a bike_resistance_gain is a real value 2021-03-08 08:21:33 +01:00
Roberto Viola
57e2993021 ignore negative resistance value for echelonconnectsport 2021-03-08 08:21:06 +01:00
Roberto Viola
398c496213 Merge pull request #192 from p3g4asus/M3iOptimization1
Minor optimizations in m3ibike class
2021-03-07 21:43:04 +01:00
Matteo Federico Zazzetta
7729494f0a M3i device must be selected only after parsing correctly the first advertise even if the configured ID is invalid 2021-03-07 21:33:43 +01:00
Matteo Federico Zazzetta
af41e159d3 Minor optimizations in m3ibike class. ID is no more required if you have only one bike (which is very likely) 2021-03-07 21:24:34 +01:00
Roberto Viola
703a20bfd6 build fixed on iOS 2021-03-07 21:23:28 +01:00
Roberto Viola
b80870eaae fitshowtreadmill build fix on ios 2021-03-07 17:20:19 +01:00
Roberto Viola
ce38e17b99 skandikawiribike crash fixed 2021-03-07 16:55:33 +01:00
Roberto Viola
024f8341f8 added some control before sending packet on bluetooth on domyostreadmill
and echelonconnectsport (for now)
2021-03-07 16:45:24 +01:00
Roberto Viola
4cd2ad7247 Revert "trying an iOS workaround in order to fix the undisconnection issue on the echelon EX-3"
This reverts commit 80a85c54ef.
2021-03-07 16:39:20 +01:00
Roberto Viola
29bf5eba01 skandikawiribike build fixed 2021-03-06 16:30:25 +01:00
Roberto Viola
abf86162ef linear peloton conversion for m3ibike 2021-03-06 16:24:53 +01:00
Roberto Viola
ee059809ec odometer fixed in snodebike 2021-03-06 16:21:55 +01:00
Roberto Viola
874e430c19 skandikawiribike module added 2021-03-06 16:20:12 +01:00
Roberto Viola
8b185c58c9 Merge pull request #190 from p3g4asus/M3iSupport
M3i support (not tested on iOS)
2021-03-06 13:35:53 +01:00
Roberto Viola
d7dfc7ad96 Merge branch 'master' into M3iSupport 2021-03-06 13:32:45 +01:00
Matteo Federico Zazzetta
e106d3059c Added peloton resistance control 2021-03-06 13:08:09 +01:00
Roberto Viola
4d60d81073 target resistance tile added 2021-03-06 11:15:28 +01:00
Roberto Viola
992878f0a2 distance fixed on snodebike and heartrate limited to 0 decimal into the
UI QML
2021-03-06 10:54:21 +01:00
Roberto Viola
88bf9f9a34 Skandika Wiry bike services fixed 2021-03-06 10:39:28 +01:00
Roberto Viola
8596953b2d wakelock on android 6 forced only the first time 2021-03-06 10:23:42 +01:00
Roberto Viola
30b5022e70 Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-03-06 10:03:29 +01:00
Roberto Viola
8024dee5ca peloton resistance for yesoulbike 2021-03-06 10:03:18 +01:00
Matteo Federico Zazzetta
134633e081 Releasing memory in JNI for byte array. 2021-03-06 09:24:44 +01:00
Matteo Federico Zazzetta
5dfafb3e0b Cosmetic changes on android code 2021-03-06 08:22:52 +01:00
Matteo Federico Zazzetta
88fa071ee2 Forgot to realign those two files 2021-03-05 22:16:49 +01:00
Matteo Federico Zazzetta
9dcc5cae94 Fixed last details: should be ready for PR now 2021-03-05 21:55:54 +01:00
Matteo Federico Zazzetta
79781d99f6 Better management of scan type on android 2021-03-05 17:56:25 +01:00
Matteo Federico Zazzetta
dd98f4dc28 Seems OK: still testing 2021-03-05 16:09:37 +01:00
Roberto Viola
adb8820a23 ios storyboard updated 2021-03-05 15:47:54 +01:00
Roberto Viola
80a85c54ef trying an iOS workaround in order to fix the undisconnection issue on the echelon EX-3 2021-03-05 12:35:32 +01:00
Roberto Viola
1f70de026e Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-03-04 19:39:15 +01:00
Roberto Viola
2cd656e127 proformbike resistance fixed 2021-03-04 19:38:02 +01:00
Roberto Viola
4f23151563 reverting the disconnection from the bluetooth when homeform is about to
closing. I guess it's not the right solution.
2021-03-04 14:41:19 +01:00
Roberto Viola
51c8adc79e Skandika Wiri bike compatibility added 2021-03-04 12:07:08 +01:00
Roberto Viola
8c55ae9d42 adding default user resistance value 2021-03-04 10:40:26 +01:00
Roberto Viola
0c691c8008 virtualbike only heart setting added 2021-03-04 10:16:35 +01:00
Roberto Viola
7c0826f73c fixing resistance value from proformbike 2021-03-04 10:07:34 +01:00
Roberto Viola
6e4ace59f2 fixed resistance on trainprogram 2021-03-04 09:38:56 +01:00
Roberto Viola
8d117df855 attempting to disconnect gracefully when the app closes (need to test on
ios and android)
2021-03-04 09:33:18 +01:00
Roberto Viola
eb162f906a bigger font on second line metrics 2021-03-04 08:38:47 +01:00
Matteo Federico Zazzetta
6d4b560b3e Realign to master. I have to modify M3iBite again 2021-03-03 22:21:13 +01:00
Roberto Viola
18d73eb309 starting version 2.4.6 2021-03-03 21:44:30 +01:00
Roberto Viola
0f73492c21 fixed echelonconnectsport virtual bike resistance offset and gain 2021-03-03 21:39:19 +01:00
Roberto Viola
fd1ade1c41 snodebike compatibility added 2021-03-03 17:35:13 +01:00
Roberto Viola
7e4aff7fa0 cycling 2 WIP files on the autobackup feature 2021-03-03 16:53:34 +01:00
Roberto Viola
ffa182da8b save screenshot when save a fit file 2021-03-03 16:43:37 +01:00
Roberto Viola
dd5af87aed fit file backup every minute added 2021-03-03 12:20:13 +01:00
Roberto Viola
8888cc00ec disabled some useless settings 2021-03-03 12:09:41 +01:00
Roberto Viola
85838c0992 added ftpzone range on QML UI 2021-03-03 11:58:25 +01:00
Roberto Viola
8a8c0575b2 fanspeed on trainprogram's XML 2021-03-03 09:00:03 +01:00
Roberto Viola
ae267fde72 trying to add controlled resistance to proformbike 2021-03-03 08:34:06 +01:00
Roberto Viola
4abb597f41 improving the echelonconnectsport resistance on UI when the user change
it from the plus/minus button
2021-03-02 14:52:43 +01:00
Roberto Viola
c50af657ef debug log disabled by default 2021-03-02 14:44:42 +01:00
Roberto Viola
01a6bfc98e fix cadence error over 99 on trxappgateusbbike ;) 2021-03-02 14:22:50 +01:00
Roberto Viola
c8d0bd8ec6 controlled resistance for proformbike (experimental) 2021-03-01 16:48:00 +01:00
Roberto Viola
3ac17b4c2c android version 2.4.4 2021-03-01 14:55:49 +01:00
Roberto Viola
a607ff2b31 echelon.xml example program added 2021-03-01 08:29:29 +01:00
Roberto Viola
cb7c75db14 resistance added to trainprogram 2021-03-01 08:26:08 +01:00
Roberto Viola
76a1a34d01 autorepeat for plus and minus buttons on QML 2021-03-01 08:14:31 +01:00
Roberto Viola
2ef1112f86 qt bluetooth android patches added 2021-03-01 08:06:07 +01:00
Roberto Viola
7f0b6e1818 echelon max resistance is 32 2021-02-28 21:35:21 +01:00
Matteo Federico Zazzetta
e5630c1fc8 Fix. Still no good 2021-02-28 20:52:56 +01:00
Roberto Viola
943693be7d other attempt on echelon controlled resistance 2021-02-28 20:19:17 +01:00
Roberto Viola
447bfe46b1 experimental controlled resistance on echelonconnectsport 2021-02-28 18:21:33 +01:00
Matteo Federico Zazzetta
8de731ea8d Changed ifdef directive to include only msvc compiled case 2021-02-28 15:07:52 +01:00
Roberto Viola
5cd7a5a4c9 android version 2.4.0 2021-02-28 14:34:40 +01:00
Roberto Viola
092e964ac1 controlled resistance for sportstechbike 2021-02-28 14:30:17 +01:00
p3g4asus
fbef6b491c Fix discovery stop when m3iid is valid but we found a non m3i device 2021-02-28 14:11:54 +01:00
Matteo Federico Zazzetta
4f42a9b1b3 Minor Fixes 2021-02-28 13:07:09 +01:00
p3g4asus
5e24e7927f Fixes + Debug more verbose 2021-02-28 11:57:58 +01:00
p3g4asus
93eaaba389 Fix print 2021-02-28 10:24:09 +01:00
Matteo Federico Zazzetta
6d73ad9537 BuxFix 2021-02-28 10:14:02 +01:00
Roberto Viola
a7f78c769c Merge pull request #179 from p3g4asus/FitshowSupport
Fitshow support
2021-02-28 08:59:37 +01:00
p3g4asus
c10c147716 Fixes 2021-02-27 16:23:05 +01:00
p3g4asus
dc945e255b Add support to Keiser M3i: untested 2021-02-27 13:22:44 +01:00
Roberto Viola
075df393ef qt patches in order to have schwinn and inspire bike working 2021-02-26 17:52:22 +01:00
Roberto Viola
70db68c3ed qt original file 2021-02-26 17:50:50 +01:00
p3g4asus
83ae424e1a emit search stop when found 2021-02-26 16:21:13 +01:00
p3g4asus
41d0a5bc52 Better support for Fitshow Treadmills. 2021-02-26 14:51:12 +01:00
Roberto Viola
17c7ec1eea ios version 2.3.34 2021-02-26 09:23:13 +01:00
Roberto Viola
f34f7163f9 add heart rate to trxappgateusbbike 2021-02-26 07:23:32 +01:00
Roberto Viola
e5f540b170 decimal point in the setting fields 2021-02-26 07:17:25 +01:00
Roberto Viola
1b5103313d echelonconnectsport watt table updated 2021-02-26 07:10:52 +01:00
Roberto Viola
f722974bce small fixes on the sportstechbike 2021-02-25 16:39:32 +01:00
Roberto Viola
674af528dc sportstechbike managed 2021-02-25 16:19:53 +01:00
Roberto Viola
b543179ef0 zwift android compatibility fixed on trxappgateusbbike 2021-02-25 15:28:22 +01:00
Roberto Viola
9b8523ed9c echelonconnectsport watt table updated 2021-02-25 09:54:42 +01:00
Roberto Viola
2c9e1ca620 Toorx BRX300ERGO managed 2021-02-25 08:48:09 +01:00
Roberto Viola
e34f3d5485 ios version 2.3.31 released 2021-02-24 20:06:45 +01:00
Roberto Viola
d5ef3fb476 2.3.30 version on ios 2021-02-24 15:41:20 +01:00
Roberto Viola
4bb4a72883 added compatibility with F63 "sole" treadmill 2021-02-24 15:40:39 +01:00
Roberto Viola
326329fbcd android version 2.3.29 2021-02-24 11:08:54 +01:00
Roberto Viola
38267fcedf horizontreadmill managed 2021-02-24 11:07:04 +01:00
Roberto Viola
28fe353420 added watt ratio and offset for all the devices 2021-02-24 08:45:06 +01:00
Roberto Viola
ea724efd37 added help and community buttons 2021-02-24 08:42:00 +01:00
Roberto Viola
d8bc88dad7 added flywheelbike peloton resistance 2021-02-24 07:28:55 +01:00
Roberto Viola
59f650eac4 disabled android wake lock on android 6 2021-02-24 07:09:16 +01:00
Roberto Viola
c580e566f8 schwinnic4bike heart rate belt fixed 2021-02-24 07:01:52 +01:00
Roberto Viola
cd899da241 toorx bike compatibility added 2021-02-23 18:15:05 +01:00
Roberto Viola
0bd207f73c schwinn bike peloton resistance fixed on 2.3.26 2021-02-23 16:28:42 +01:00
Roberto Viola
7e8fc3c510 android version 2.3.25 2021-02-23 15:13:12 +01:00
Roberto Viola
bcc2168bcf fixed watts and forceResistance on trxappgateusbbike 2021-02-23 14:10:12 +01:00
Roberto Viola
0adb78eb6e only start button on Apple Watch 2021-02-23 11:13:46 +01:00
Roberto Viola
f9df3c8df3 trxappgateusbbike fixed packet length 2021-02-23 10:55:57 +01:00
Roberto Viola
73c655721b ios version 2.3.23 2021-02-23 10:04:52 +01:00
Roberto Viola
e000b9f9c4 avoid crashing on trxappgateusbtreadmill and trxappgateusbbike 2021-02-23 07:12:29 +01:00
Roberto Viola
de87e15a03 resistance casted to 0 decimals to UI and added resistance debug output
on schwinnic4bike
2021-02-22 16:09:29 +01:00
Roberto Viola
282d41f984 fixed resistance formula on schwinnic4bike 2021-02-22 15:56:24 +01:00
Roberto Viola
0de82a2008 fixed watt and speed for trxappgateusbbike 2021-02-22 11:14:00 +01:00
Roberto Viola
e5cd669267 first implementation of toorx bike 2021-02-22 10:05:56 +01:00
Roberto Viola
9a84d842a8 first peloton resistance conversion to schwinnic4bike 2021-02-22 08:26:02 +01:00
Roberto Viola
ae98bf6238 fix cadence issue on schwinn bike 2021-02-21 19:36:06 +01:00
Roberto Viola
e434e80314 ios version 2.3.21 commited again: the project was corrupted T_T 2021-02-21 11:07:57 +01:00
Roberto Viola
06c34d5d7f ios version 2.3.21: ftms and schwinn bike catings fixed 2021-02-21 10:50:40 +01:00
Roberto Viola
17304849d7 Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-02-18 09:47:04 +01:00
Roberto Viola
104c2a43f1 adding peloton resistance to inspirebike 2021-02-18 08:08:23 +01:00
Roberto Viola
5b353bffac removed *2 on the domyosbike console for cadence and remove for now the
garmin ANT+ compatibility setting
2021-02-17 07:40:07 +01:00
Roberto Viola
c36d910da1 Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-02-16 11:01:43 +01:00
Roberto Viola
539976c089 fix build errors on ANT+ 2021-02-15 15:27:17 +01:00
Roberto Viola
0ae62e19d2 added ant+ garmin private key setting 2021-02-15 14:43:53 +01:00
Roberto Viola
ae045a927b elliptical running type on fit file 2021-02-15 14:42:21 +01:00
Roberto Viola
eea5ce5a02 managing cadence on domyosbike telink display 2021-02-15 08:11:45 +01:00
Roberto Viola
da7cf76ce7 elliptical fixes 2021-02-14 16:35:15 +01:00
Roberto Viola
6e2b8e645f eslinkertreadmill first implementation 2021-02-14 14:08:44 +01:00
Roberto Viola
d750baa595 build issues 2021-02-14 11:53:32 +01:00
Roberto Viola
a690cb4aa0 trying to fix inspirebike connection 2021-02-13 18:50:00 +01:00
Roberto Viola
1fb5331632 time tile added 2021-02-13 15:16:18 +01:00
Roberto Viola
b97bf760b5 domyoselliptical speed ratio setting added 2021-02-13 14:56:42 +01:00
Roberto Viola
b83eb3ba98 Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-02-13 07:11:08 +01:00
Roberto Viola
90db083ada Merge branch 'schwinn' 2021-02-12 20:33:50 +01:00
Roberto Viola
a27f9b3600 schiwnn workaround 2021-02-12 20:33:13 +01:00
Roberto Viola
85c11f2aeb version 2.3.15 2021-02-10 18:39:22 +01:00
Roberto Viola
e498e6c9f3 icon changed on iOS 2021-02-10 11:28:31 +01:00
Roberto Viola
326075315c Merge branch 'master' of https://github.com/cagnulein/qdomyos-zwift 2021-02-10 10:15:05 +01:00
Roberto Viola
c484c8b3a5 ios version updated 2021-02-10 10:14:17 +01:00
333 changed files with 15650 additions and 2941 deletions

19
.gitignore vendored Normal file
View File

@@ -0,0 +1,19 @@
.idea/
src/Makefile
src/.qmake.stash
src/*.o
src/moc_*
src/qrc_*
src/qdomyos-zwift
src/ui_charts.h
src/ui_mainwindow.h
src/debug-*
*.swo
*.swp

View File

@@ -1,20 +1,20 @@
# qdomyos-zwift
Zwift bridge for Treadmills and Bike!
[<img src="docs/google_play.png">](https://play.google.com/store/apps/details?id=org.cagnulen.qdomyoszwift&fbclid=IwAR3CVoYb0scvGf7gb0Y20VFh5Na5fDWwe7VACk-2c45Tm0x5s8sXpIGhGyw)
[<img src="docs/app_store.png">](https://apps.apple.com/app/id1543684531?fbclid=IwAR10H6y3mEgwkTlGJON3e8voYOh2wt3kLFOpFzoIXaYZ_N0y0pDvKxHMUaM)
[<img src="docs/img/google_play.png">](https://play.google.com/store/apps/details?id=org.cagnulen.qdomyoszwift&fbclid=IwAR3CVoYb0scvGf7gb0Y20VFh5Na5fDWwe7VACk-2c45Tm0x5s8sXpIGhGyw)
[<img src="docs/img/app_store.png">](https://apps.apple.com/app/id1543684531?fbclid=IwAR10H6y3mEgwkTlGJON3e8voYOh2wt3kLFOpFzoIXaYZ_N0y0pDvKxHMUaM)
<a href="https://www.buymeacoffee.com/cagnulein" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a>
![UI](docs/treadmill-bridge-schema.png)
![UI](docs/img/treadmill-bridge-schema.png)
[![Video](https://img.youtube.com/vi/GgG3dMhmo2Y/0.jpg)](https://www.youtube.com/watch?v=GgG3dMhmo2Y)
![UI](docs/ui.png)
![UI](docs/realtime-chart.png)
![UI](docs/img/ui.png)
![UI](docs/img/realtime-chart.png)
UI on Linux
![UI](docs/ui-mac.png)
![UI](docs/img/ui-mac.png)
UI on MacOS
@@ -29,58 +29,19 @@ UI on MacOS
7. Gpx import (with difficulty slider)
8. Realtime Charts
![First Success](docs/first_success.jpg)
![First Success](docs/img/first_success.jpg)
### Installation from source
### Installation
$ sudo apt update && sudo apt upgrade # this is very important on raspberry pi: you need the bluetooth firmware updated!
You can install on multiple platforms.
Read the [installation procedure](docs/10_Installation.md)
$ sudo apt install git libqt5bluetooth5 libqt5widgets5 libqt5positioning5 libqt5xml5 qtconnectivity5-dev qtpositioning5-dev libqt5charts5-dev libqt5charts5 qt5-default libqt5networkauth5-dev
$ git clone https://github.com/cagnulein/qdomyos-zwift.git
$ cd src
$ qmake
$ make -j4
$ sudo ./qdomyos-zwift
### MacOs installation
You will need to (at a minimum) to install the xcode Command Line Tools (CLI) thanks to @richardwait
https://developer.apple.com/download/more/?=xcode
Download and install http://download.qt.io/official_releases/qt/5.12/5.12.9/qt-opensource-mac-x64-5.12.9.dmg and simply run the qdomyos-zwift relase for MacOs
### Tested on
- Raspberry PI 0W and Domyos Intense Run
You can run the app on [Macintosh or Linux devices](docs/10_Installation.md). IOS and Android are also supported.
- MacBook Air 2011 and Domyos Intense Run
- Raspberry 3b+ and Domyos T900C
- Raspberry 3b+ and Toorx TRX Route Key
- Android Pixel 2 and Echelon Connect Sport
### Your machine is not compatible?
Open an issue and follow these steps!
1. first of all you need an android device (phone or tablet)
2. you need to become developer on your phone https://wccftech.com/how-to/how-to-enable-developer-options-on-android-10-tutorial/
3. Go to Settings
4. Go into developer options
5. Enable the option Enable Bluetooth HCI snoop log
6. restart your phone
7. open your machine app and play with it collecting inclination and speed
8. Disable the option Enable Bluetooth HCI snoop log
9. on your phone you should have a file called btsnoop_hci.log
10. attach the log file in a new issue with a short description of the steps you did in the app when you used it
QDomyos-Zwift works on every [FTMS-compatible application](docs/20_supported_devices_and_applications.md), and virtually any [bluetooth enabled device](docs/20_supported_devices_and_applications.md).
### No gui version
@@ -94,6 +55,8 @@ https://github.com/ProH4Ck/treadmill-bridge
https://www.livestrong.com/article/422012-what-is-10-degrees-in-incline-on-a-treadmill/
Icons used in this documentation comes from [flaticon.com](https://www.flaticon.com)
### Blog
https://robertoviola.cloud

View File

@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13142" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="17506" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12042"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17505"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@@ -12,37 +13,35 @@
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="obG-Y5-kRd">
<rect key="frame" x="0.0" y="626.5" width="375" height="20.5"/>
<rect key="frame" x="0.0" y="876" width="414" height="0.0"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="qdomyoszwift" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb">
<rect key="frame" x="0.0" y="202" width="375" height="43"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="launcher" translatesAutoresizingMaskIntoConstraints="NO" id="VVq-0c-S8O">
<rect key="frame" x="20" y="348" width="374" height="201"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
</imageView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<viewLayoutGuide key="safeArea" id="Bcu-3y-fUS"/>
<color key="backgroundColor" red="0.10980264100000001" green="0.11007446799999999" blue="0.1176523939" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="Bcu-3y-fUS" firstAttribute="centerX" secondItem="obG-Y5-kRd" secondAttribute="centerX" id="5cz-MP-9tL"/>
<constraint firstItem="Bcu-3y-fUS" firstAttribute="centerX" secondItem="GJd-Yh-RWb" secondAttribute="centerX" id="Q3B-4B-g5h"/>
<constraint firstItem="obG-Y5-kRd" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" constant="20" symbolic="YES" id="SfN-ll-jLj"/>
<constraint firstAttribute="bottom" secondItem="obG-Y5-kRd" secondAttribute="bottom" constant="20" id="Y44-ml-fuU"/>
<constraint firstItem="GJd-Yh-RWb" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="bottom" multiplier="1/3" constant="1" id="moa-c2-u7t"/>
<constraint firstItem="GJd-Yh-RWb" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" constant="20" symbolic="YES" id="x7j-FC-K8j"/>
</constraints>
<viewLayoutGuide key="safeArea" id="Bcu-3y-fUS"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
<point key="canvasLocation" x="52.173913043478265" y="375"/>
</scene>
</scenes>
<resources>
<image name="launcher" width="512" height="512"/>
</resources>
</document>

View File

@@ -125,6 +125,9 @@
87368825259C602800C71C7E /* watchAppStart.swift in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87368824259C602800C71C7E /* watchAppStart.swift */; };
87586A4125B8340E00A243C4 /* proformbike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87586A4025B8340E00A243C4 /* proformbike.cpp */; };
87586A4325B8341B00A243C4 /* moc_proformbike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87586A4225B8341B00A243C4 /* moc_proformbike.cpp */; };
8762D50F2601F7EA00F6F049 /* M3iNS.mm in Compile Sources */ = {isa = PBXBuildFile; fileRef = 8762D50B2601F7EA00F6F049 /* M3iNS.mm */; };
8762D5102601F7EA00F6F049 /* M3iNSQT.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 8762D50C2601F7EA00F6F049 /* M3iNSQT.cpp */; };
8762D5132601F89500F6F049 /* scanrecordresult.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 8762D5112601F89500F6F049 /* scanrecordresult.cpp */; };
876E4E142594748000BD5714 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 876E4E132594748000BD5714 /* Assets.xcassets */; };
876E4E1B2594748000BD5714 /* watchkit Extension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 876E4E1A2594748000BD5714 /* watchkit Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
876E4E202594748000BD5714 /* qdomyoszwiftApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 876E4E1F2594748000BD5714 /* qdomyoszwiftApp.swift */; };
@@ -144,17 +147,37 @@
876ED21925C3E9000065F3DC /* moc_ftmsbike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 876ED21725C3E9000065F3DC /* moc_ftmsbike.cpp */; };
876ED21A25C3E9010065F3DC /* moc_material.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 876ED21825C3E9000065F3DC /* moc_material.cpp */; };
876EE3CDDF69DA139329ADD8 /* qquicklayoutsplugin in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 307B2F8E9A717B514EA118E0 /* qquicklayoutsplugin */; };
878A331925AB4FF800BD13E1 /* fassitreadmill.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 878A331625AB4FF800BD13E1 /* fassitreadmill.cpp */; };
8772A0E625E43ADB0080718C /* trxappgateusbbike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 8772A0E525E43ADA0080718C /* trxappgateusbbike.cpp */; };
8772A0E825E43AE70080718C /* moc_trxappgateusbbike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 8772A0E725E43AE70080718C /* moc_trxappgateusbbike.cpp */; };
8781907E2615089D0085E656 /* peloton.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 8781907C2615089D0085E656 /* peloton.cpp */; };
87819080261508B10085E656 /* moc_peloton.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 8781907F261508B10085E656 /* moc_peloton.cpp */; };
8781908526150C8E0085E656 /* libqtlabsplatformplugin.a in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 8781908126150B490085E656 /* libqtlabsplatformplugin.a */; };
8783153B25E8D81E0007817C /* moc_sportstechbike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 8783153A25E8D81E0007817C /* moc_sportstechbike.cpp */; };
8783153C25E8DAFD0007817C /* sportstechbike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87A3EBBA25D2CFED0040EB4C /* sportstechbike.cpp */; };
878A331A25AB4FF800BD13E1 /* yesoulbike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 878A331725AB4FF800BD13E1 /* yesoulbike.cpp */; };
878A331D25AB50C300BD13E1 /* moc_yesoulbike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 878A331B25AB50C200BD13E1 /* moc_yesoulbike.cpp */; };
878A331E25AB50C300BD13E1 /* moc_fassitreadmill.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 878A331C25AB50C300BD13E1 /* moc_fassitreadmill.cpp */; };
8791A8AA25C8603F003B50B2 /* moc_inspirebike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 8791A8A925C8603F003B50B2 /* moc_inspirebike.cpp */; };
8791A8AB25C861BD003B50B2 /* inspirebike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 8791A8A825C8602A003B50B2 /* inspirebike.cpp */; };
87A4B76125AF27CB0027EF3C /* metric.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87A4B75F25AF27CB0027EF3C /* metric.cpp */; };
87B617EC25F25FED0094A1CB /* screencapture.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87B617E725F25FEC0094A1CB /* screencapture.cpp */; };
87B617ED25F25FED0094A1CB /* fitshowtreadmill.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87B617EA25F25FED0094A1CB /* fitshowtreadmill.cpp */; };
87B617EE25F25FED0094A1CB /* snodebike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87B617EB25F25FED0094A1CB /* snodebike.cpp */; };
87B617F225F260150094A1CB /* moc_fitshowtreadmill.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87B617EF25F260140094A1CB /* moc_fitshowtreadmill.cpp */; };
87B617F325F260150094A1CB /* moc_snodebike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87B617F025F260140094A1CB /* moc_snodebike.cpp */; };
87B617F425F260150094A1CB /* moc_screencapture.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87B617F125F260150094A1CB /* moc_screencapture.cpp */; };
87CC3B9D25A08812001EC5A8 /* moc_domyoselliptical.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87CC3B9B25A08812001EC5A8 /* moc_domyoselliptical.cpp */; };
87CC3B9E25A08812001EC5A8 /* moc_elliptical.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87CC3B9C25A08812001EC5A8 /* moc_elliptical.cpp */; };
87CC3BA325A0885F001EC5A8 /* domyoselliptical.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87CC3B9F25A0885D001EC5A8 /* domyoselliptical.cpp */; };
87CC3BA425A0885F001EC5A8 /* elliptical.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87CC3BA025A0885D001EC5A8 /* elliptical.cpp */; };
87D2699F25F535200076AA48 /* m3ibike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87D2699A25F535160076AA48 /* m3ibike.cpp */; };
87D269A025F535200076AA48 /* skandikawiribike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87D2699D25F535180076AA48 /* skandikawiribike.cpp */; };
87D269A325F535340076AA48 /* moc_skandikawiribike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87D269A125F535300076AA48 /* moc_skandikawiribike.cpp */; };
87D269A425F535340076AA48 /* moc_m3ibike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87D269A225F535300076AA48 /* moc_m3ibike.cpp */; };
87DF68B825E2673B00FCDA46 /* eslinkertreadmill.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87DF68B625E2673600FCDA46 /* eslinkertreadmill.cpp */; };
87DF68BD25E2675100FCDA46 /* moc_eslinkertreadmill.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87DF68BA25E2675100FCDA46 /* moc_eslinkertreadmill.cpp */; };
87DF68BF25E2675100FCDA46 /* moc_schwinnic4bike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87DF68BC25E2675100FCDA46 /* moc_schwinnic4bike.cpp */; };
87E5D2C625E69F3100BDBE6C /* horizontreadmill.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87E5D2C525E69F3100BDBE6C /* horizontreadmill.cpp */; };
87E5D2C825E69F4700BDBE6C /* moc_horizontreadmill.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87E5D2C725E69F4700BDBE6C /* moc_horizontreadmill.cpp */; };
87E6A85825B5C88E00371D28 /* moc_flywheelbike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87E6A85725B5C88E00371D28 /* moc_flywheelbike.cpp */; };
87E6A85B25B5C8B900371D28 /* flywheelbike.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87E6A85925B5C8B900371D28 /* flywheelbike.cpp */; };
87EFB56E25BD703D0039DD5A /* proformtreadmill.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 87EFB56C25BD703C0039DD5A /* proformtreadmill.cpp */; };
@@ -494,6 +517,12 @@
87586A3F25B8340D00A243C4 /* proformbike.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = proformbike.h; path = ../src/proformbike.h; sourceTree = "<group>"; };
87586A4025B8340E00A243C4 /* proformbike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = proformbike.cpp; path = ../src/proformbike.cpp; sourceTree = "<group>"; };
87586A4225B8341B00A243C4 /* moc_proformbike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_proformbike.cpp; sourceTree = "<group>"; };
8762D50B2601F7EA00F6F049 /* M3iNS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = M3iNS.mm; path = ../src/ios/M3iNS.mm; sourceTree = "<group>"; };
8762D50C2601F7EA00F6F049 /* M3iNSQT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = M3iNSQT.cpp; path = ../src/ios/M3iNSQT.cpp; sourceTree = "<group>"; };
8762D50D2601F7EA00F6F049 /* M3iNS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = M3iNS.h; path = ../src/ios/M3iNS.h; sourceTree = "<group>"; };
8762D50E2601F7EA00F6F049 /* M3iIOS-Interface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "M3iIOS-Interface.h"; path = "../src/ios/M3iIOS-Interface.h"; sourceTree = "<group>"; };
8762D5112601F89500F6F049 /* scanrecordresult.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = scanrecordresult.cpp; path = ../src/scanrecordresult.cpp; sourceTree = "<group>"; };
8762D5122601F89500F6F049 /* scanrecordresult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scanrecordresult.h; path = ../src/scanrecordresult.h; sourceTree = "<group>"; };
876E4E112594747F00BD5714 /* watchkit.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = watchkit.app; sourceTree = BUILT_PRODUCTS_DIR; };
876E4E132594748000BD5714 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
876E4E152594748000BD5714 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
@@ -527,27 +556,57 @@
876ED21425C3E8DE0065F3DC /* schwinnic4bike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = schwinnic4bike.cpp; path = ../src/schwinnic4bike.cpp; sourceTree = "<group>"; };
876ED21725C3E9000065F3DC /* moc_ftmsbike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_ftmsbike.cpp; sourceTree = "<group>"; };
876ED21825C3E9000065F3DC /* moc_material.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_material.cpp; sourceTree = "<group>"; };
8772A0E425E43AD90080718C /* trxappgateusbbike.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = trxappgateusbbike.h; path = ../src/trxappgateusbbike.h; sourceTree = "<group>"; };
8772A0E525E43ADA0080718C /* trxappgateusbbike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = trxappgateusbbike.cpp; path = ../src/trxappgateusbbike.cpp; sourceTree = "<group>"; };
8772A0E725E43AE70080718C /* moc_trxappgateusbbike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_trxappgateusbbike.cpp; sourceTree = "<group>"; };
8781907C2615089D0085E656 /* peloton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = peloton.cpp; path = ../src/peloton.cpp; sourceTree = "<group>"; };
8781907D2615089D0085E656 /* peloton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = peloton.h; path = ../src/peloton.h; sourceTree = "<group>"; };
8781907F261508B10085E656 /* moc_peloton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_peloton.cpp; sourceTree = "<group>"; };
8781908126150B490085E656 /* libqtlabsplatformplugin.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libqtlabsplatformplugin.a; path = ../../Qt/5.15.2/ios/qml/Qt/labs/platform/libqtlabsplatformplugin.a; sourceTree = "<group>"; };
8781908326150C5B0085E656 /* libqtlabsplatformplugin_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libqtlabsplatformplugin_debug.a; path = ../../Qt/5.15.2/ios/qml/Qt/labs/platform/libqtlabsplatformplugin_debug.a; sourceTree = "<group>"; };
878225C234983ACB863D2D29 /* fit_nmea_sentence_mesg.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fit_nmea_sentence_mesg.hpp; path = "/Users/cagnulein/qdomyos-zwift/src/fit-sdk/fit_nmea_sentence_mesg.hpp"; sourceTree = "<absolute>"; };
8783153A25E8D81E0007817C /* moc_sportstechbike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_sportstechbike.cpp; sourceTree = "<group>"; };
87842E7E25AF88FB00321E69 /* secret.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = secret.h; path = ../src/secret.h; sourceTree = "<group>"; };
8789DCDB6A4F681A76DF3F92 /* Qt5Widgets */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Widgets; path = "/Users/cagnulein/Qt/5.15.2/ios/lib/libQt5Widgets$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
878A331525AB4FF800BD13E1 /* fassitreadmill.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fassitreadmill.h; path = ../src/fassitreadmill.h; sourceTree = "<group>"; };
878A331625AB4FF800BD13E1 /* fassitreadmill.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = fassitreadmill.cpp; path = ../src/fassitreadmill.cpp; sourceTree = "<group>"; };
878A331725AB4FF800BD13E1 /* yesoulbike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = yesoulbike.cpp; path = ../src/yesoulbike.cpp; sourceTree = "<group>"; };
878A331825AB4FF800BD13E1 /* yesoulbike.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = yesoulbike.h; path = ../src/yesoulbike.h; sourceTree = "<group>"; };
878A331B25AB50C200BD13E1 /* moc_yesoulbike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_yesoulbike.cpp; sourceTree = "<group>"; };
878A331C25AB50C300BD13E1 /* moc_fassitreadmill.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_fassitreadmill.cpp; sourceTree = "<group>"; };
8791A8A725C8602A003B50B2 /* inspirebike.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inspirebike.h; path = ../src/inspirebike.h; sourceTree = "<group>"; };
8791A8A825C8602A003B50B2 /* inspirebike.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = inspirebike.cpp; path = ../src/inspirebike.cpp; sourceTree = "<group>"; };
8791A8A925C8603F003B50B2 /* moc_inspirebike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_inspirebike.cpp; sourceTree = "<group>"; };
87A3EBB925D2CFED0040EB4C /* sportstechbike.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = sportstechbike.h; path = ../src/sportstechbike.h; sourceTree = "<group>"; };
87A3EBBA25D2CFED0040EB4C /* sportstechbike.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sportstechbike.cpp; path = ../src/sportstechbike.cpp; sourceTree = "<group>"; };
87A4B75F25AF27CB0027EF3C /* metric.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = metric.cpp; path = ../src/metric.cpp; sourceTree = "<group>"; };
87A4B76025AF27CB0027EF3C /* metric.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = metric.h; path = ../src/metric.h; sourceTree = "<group>"; };
87A659DB8BE7DBAA7B395EF4 /* fit_monitoring_info_mesg_listener.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fit_monitoring_info_mesg_listener.hpp; path = "/Users/cagnulein/qdomyos-zwift/src/fit-sdk/fit_monitoring_info_mesg_listener.hpp"; sourceTree = "<absolute>"; };
87B617E625F25FEC0094A1CB /* fitshowtreadmill.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fitshowtreadmill.h; path = ../src/fitshowtreadmill.h; sourceTree = "<group>"; };
87B617E725F25FEC0094A1CB /* screencapture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = screencapture.cpp; path = ../src/screencapture.cpp; sourceTree = "<group>"; };
87B617E825F25FEC0094A1CB /* screencapture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = screencapture.h; path = ../src/screencapture.h; sourceTree = "<group>"; };
87B617E925F25FED0094A1CB /* snodebike.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = snodebike.h; path = ../src/snodebike.h; sourceTree = "<group>"; };
87B617EA25F25FED0094A1CB /* fitshowtreadmill.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = fitshowtreadmill.cpp; path = ../src/fitshowtreadmill.cpp; sourceTree = "<group>"; };
87B617EB25F25FED0094A1CB /* snodebike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = snodebike.cpp; path = ../src/snodebike.cpp; sourceTree = "<group>"; };
87B617EF25F260140094A1CB /* moc_fitshowtreadmill.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_fitshowtreadmill.cpp; sourceTree = "<group>"; };
87B617F025F260140094A1CB /* moc_snodebike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_snodebike.cpp; sourceTree = "<group>"; };
87B617F125F260150094A1CB /* moc_screencapture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_screencapture.cpp; sourceTree = "<group>"; };
87CC3B9B25A08812001EC5A8 /* moc_domyoselliptical.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_domyoselliptical.cpp; sourceTree = "<group>"; };
87CC3B9C25A08812001EC5A8 /* moc_elliptical.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_elliptical.cpp; sourceTree = "<group>"; };
87CC3B9F25A0885D001EC5A8 /* domyoselliptical.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = domyoselliptical.cpp; path = ../src/domyoselliptical.cpp; sourceTree = "<group>"; };
87CC3BA025A0885D001EC5A8 /* elliptical.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = elliptical.cpp; path = ../src/elliptical.cpp; sourceTree = "<group>"; };
87CC3BA125A0885E001EC5A8 /* elliptical.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = elliptical.h; path = ../src/elliptical.h; sourceTree = "<group>"; };
87CC3BA225A0885E001EC5A8 /* domyoselliptical.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = domyoselliptical.h; path = ../src/domyoselliptical.h; sourceTree = "<group>"; };
87D2699925F535160076AA48 /* m3ibike.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = m3ibike.h; path = ../src/m3ibike.h; sourceTree = "<group>"; };
87D2699A25F535160076AA48 /* m3ibike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = m3ibike.cpp; path = ../src/m3ibike.cpp; sourceTree = "<group>"; };
87D2699C25F535170076AA48 /* skandikawiribike.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = skandikawiribike.h; path = ../src/skandikawiribike.h; sourceTree = "<group>"; };
87D2699D25F535180076AA48 /* skandikawiribike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = skandikawiribike.cpp; path = ../src/skandikawiribike.cpp; sourceTree = "<group>"; };
87D269A125F535300076AA48 /* moc_skandikawiribike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_skandikawiribike.cpp; sourceTree = "<group>"; };
87D269A225F535300076AA48 /* moc_m3ibike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_m3ibike.cpp; sourceTree = "<group>"; };
87DF68B625E2673600FCDA46 /* eslinkertreadmill.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = eslinkertreadmill.cpp; path = ../src/eslinkertreadmill.cpp; sourceTree = "<group>"; };
87DF68B725E2673600FCDA46 /* eslinkertreadmill.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = eslinkertreadmill.h; path = ../src/eslinkertreadmill.h; sourceTree = "<group>"; };
87DF68BA25E2675100FCDA46 /* moc_eslinkertreadmill.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_eslinkertreadmill.cpp; sourceTree = "<group>"; };
87DF68BC25E2675100FCDA46 /* moc_schwinnic4bike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_schwinnic4bike.cpp; sourceTree = "<group>"; };
87E5D2C425E69F3100BDBE6C /* horizontreadmill.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = horizontreadmill.h; path = ../src/horizontreadmill.h; sourceTree = "<group>"; };
87E5D2C525E69F3100BDBE6C /* horizontreadmill.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = horizontreadmill.cpp; path = ../src/horizontreadmill.cpp; sourceTree = "<group>"; };
87E5D2C725E69F4700BDBE6C /* moc_horizontreadmill.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_horizontreadmill.cpp; sourceTree = "<group>"; };
87E6A85725B5C88E00371D28 /* moc_flywheelbike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moc_flywheelbike.cpp; sourceTree = "<group>"; };
87E6A85925B5C8B900371D28 /* flywheelbike.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = flywheelbike.cpp; path = ../src/flywheelbike.cpp; sourceTree = "<group>"; };
87E6A85A25B5C8B900371D28 /* flywheelbike.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = flywheelbike.h; path = ../src/flywheelbike.h; sourceTree = "<group>"; };
@@ -765,6 +824,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8781908526150C8E0085E656 /* libqtlabsplatformplugin.a in Link Binary With Libraries */,
38B66B7A90741F136A02EDEB /* qios in Link Binary With Libraries */,
B460F624007324313696BE86 /* QuartzCore.framework in Link Binary With Libraries */,
4EB68D0C8182BCE33529C421 /* AudioToolbox.framework in Link Binary With Libraries */,
@@ -877,13 +937,23 @@
25B08E2869634E9BCBA333A2 /* Generated Sources */ = {
isa = PBXGroup;
children = (
8781907F261508B10085E656 /* moc_peloton.cpp */,
87D269A225F535300076AA48 /* moc_m3ibike.cpp */,
87D269A125F535300076AA48 /* moc_skandikawiribike.cpp */,
87B617EF25F260140094A1CB /* moc_fitshowtreadmill.cpp */,
87B617F125F260150094A1CB /* moc_screencapture.cpp */,
87B617F025F260140094A1CB /* moc_snodebike.cpp */,
8783153A25E8D81E0007817C /* moc_sportstechbike.cpp */,
87E5D2C725E69F4700BDBE6C /* moc_horizontreadmill.cpp */,
8772A0E725E43AE70080718C /* moc_trxappgateusbbike.cpp */,
87DF68BA25E2675100FCDA46 /* moc_eslinkertreadmill.cpp */,
87DF68BC25E2675100FCDA46 /* moc_schwinnic4bike.cpp */,
8791A8A925C8603F003B50B2 /* moc_inspirebike.cpp */,
876ED21725C3E9000065F3DC /* moc_ftmsbike.cpp */,
876ED21825C3E9000065F3DC /* moc_material.cpp */,
87EFB56F25BD704A0039DD5A /* moc_proformtreadmill.cpp */,
87586A4225B8341B00A243C4 /* moc_proformbike.cpp */,
87E6A85725B5C88E00371D28 /* moc_flywheelbike.cpp */,
878A331C25AB50C300BD13E1 /* moc_fassitreadmill.cpp */,
878A331B25AB50C200BD13E1 /* moc_yesoulbike.cpp */,
87CC3B9B25A08812001EC5A8 /* moc_domyoselliptical.cpp */,
87CC3B9C25A08812001EC5A8 /* moc_elliptical.cpp */,
@@ -915,6 +985,32 @@
2EB56BE3C2D93CDAB0C52E67 /* Sources */ = {
isa = PBXGroup;
children = (
8781907C2615089D0085E656 /* peloton.cpp */,
8781907D2615089D0085E656 /* peloton.h */,
8762D5112601F89500F6F049 /* scanrecordresult.cpp */,
8762D5122601F89500F6F049 /* scanrecordresult.h */,
8762D50E2601F7EA00F6F049 /* M3iIOS-Interface.h */,
8762D50D2601F7EA00F6F049 /* M3iNS.h */,
8762D50B2601F7EA00F6F049 /* M3iNS.mm */,
8762D50C2601F7EA00F6F049 /* M3iNSQT.cpp */,
87D2699A25F535160076AA48 /* m3ibike.cpp */,
87D2699925F535160076AA48 /* m3ibike.h */,
87D2699D25F535180076AA48 /* skandikawiribike.cpp */,
87D2699C25F535170076AA48 /* skandikawiribike.h */,
87B617EA25F25FED0094A1CB /* fitshowtreadmill.cpp */,
87B617E625F25FEC0094A1CB /* fitshowtreadmill.h */,
87B617E725F25FEC0094A1CB /* screencapture.cpp */,
87B617E825F25FEC0094A1CB /* screencapture.h */,
87B617EB25F25FED0094A1CB /* snodebike.cpp */,
87B617E925F25FED0094A1CB /* snodebike.h */,
87E5D2C525E69F3100BDBE6C /* horizontreadmill.cpp */,
87E5D2C425E69F3100BDBE6C /* horizontreadmill.h */,
8772A0E525E43ADA0080718C /* trxappgateusbbike.cpp */,
8772A0E425E43AD90080718C /* trxappgateusbbike.h */,
87DF68B625E2673600FCDA46 /* eslinkertreadmill.cpp */,
87DF68B725E2673600FCDA46 /* eslinkertreadmill.h */,
87A3EBBA25D2CFED0040EB4C /* sportstechbike.cpp */,
87A3EBB925D2CFED0040EB4C /* sportstechbike.h */,
8791A8A825C8602A003B50B2 /* inspirebike.cpp */,
8791A8A725C8602A003B50B2 /* inspirebike.h */,
876ED21025C3E8DD0065F3DC /* ftmsbike.cpp */,
@@ -931,8 +1027,6 @@
87842E7E25AF88FB00321E69 /* secret.h */,
87A4B75F25AF27CB0027EF3C /* metric.cpp */,
87A4B76025AF27CB0027EF3C /* metric.h */,
878A331625AB4FF800BD13E1 /* fassitreadmill.cpp */,
878A331525AB4FF800BD13E1 /* fassitreadmill.h */,
878A331725AB4FF800BD13E1 /* yesoulbike.cpp */,
878A331825AB4FF800BD13E1 /* yesoulbike.h */,
87CC3B9F25A0885D001EC5A8 /* domyoselliptical.cpp */,
@@ -1063,6 +1157,8 @@
AF39DD055C3EF8226FBE929D /* Frameworks */ = {
isa = PBXGroup;
children = (
8781908326150C5B0085E656 /* libqtlabsplatformplugin_debug.a */,
8781908126150B490085E656 /* libqtlabsplatformplugin.a */,
2D4A13931169E5681CE465F0 /* Qt5NetworkAuth */,
BC3A8C3E433A8FA00BB15F07 /* qios */,
7EC00404ACD5AB0E97726B0E /* QuartzCore.framework */,
@@ -1615,20 +1711,27 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8772A0E825E43AE70080718C /* moc_trxappgateusbbike.cpp in Compile Sources */,
87062646259480B200D06586 /* ViewController.swift in Compile Sources */,
87D269A425F535340076AA48 /* moc_m3ibike.cpp in Compile Sources */,
EA780CE97E201242E33E6EEE /* bike.cpp in Compile Sources */,
87B617F225F260150094A1CB /* moc_fitshowtreadmill.cpp in Compile Sources */,
8556B13A3D02D52A21FC5E3E /* bluetooth.cpp in Compile Sources */,
87586A4125B8340E00A243C4 /* proformbike.cpp in Compile Sources */,
878A331A25AB4FF800BD13E1 /* yesoulbike.cpp in Compile Sources */,
871E4CD125A6FB5A00E18D6D /* BLEPeripheralManager.swift in Compile Sources */,
20A50533946A39CBD2C89104 /* bluetoothdevice.cpp in Compile Sources */,
87E5D2C625E69F3100BDBE6C /* horizontreadmill.cpp in Compile Sources */,
87E5D2C825E69F4700BDBE6C /* moc_horizontreadmill.cpp in Compile Sources */,
F1F4043967BC815770C8BEEA /* domyostreadmill.cpp in Compile Sources */,
62D26402BFE7552BD542F6DF /* echelonconnectsport.cpp in Compile Sources */,
E858A5D7A16BAF2837B51B61 /* fit.cpp in Compile Sources */,
87DF68BD25E2675100FCDA46 /* moc_eslinkertreadmill.cpp in Compile Sources */,
C6B3CD471768392E18F85819 /* fit_accumulated_field.cpp in Compile Sources */,
3D7395B0A17915A06361C7F3 /* fit_accumulator.cpp in Compile Sources */,
2A61806454201575EDB3F94F /* fit_buffer_encode.cpp in Compile Sources */,
BE93C6EF2C2A6BFEEC9EA565 /* fit_buffered_mesg_broadcaster.cpp in Compile Sources */,
87B617EE25F25FED0094A1CB /* snodebike.cpp in Compile Sources */,
873063C0259DF2C500DA0F44 /* moc_heartratebelt.cpp in Compile Sources */,
DD5ED224478CB82859C61B9F /* fit_buffered_record_mesg_broadcaster.cpp in Compile Sources */,
87368825259C602800C71C7E /* watchAppStart.swift in Compile Sources */,
@@ -1642,11 +1745,14 @@
952DBD14DF6369E885020EF4 /* fit_developer_field.cpp in Compile Sources */,
876ED21525C3E8DE0065F3DC /* ftmsbike.cpp in Compile Sources */,
A4BD6DF51CFFF867B7B5AED4 /* fit_developer_field_definition.cpp in Compile Sources */,
8762D5132601F89500F6F049 /* scanrecordresult.cpp in Compile Sources */,
3015F9B9FF4CA6D653D46CCA /* fit_developer_field_description.cpp in Compile Sources */,
87CC3BA425A0885F001EC5A8 /* elliptical.cpp in Compile Sources */,
4AD2C93A2B8FD5855E521630 /* fit_encode.cpp in Compile Sources */,
8772A0E625E43ADB0080718C /* trxappgateusbbike.cpp in Compile Sources */,
BBBE7689F5792CB3FD1997EC /* fit_factory.cpp in Compile Sources */,
876ED21625C3E8DE0065F3DC /* schwinnic4bike.cpp in Compile Sources */,
87D269A325F535340076AA48 /* moc_skandikawiribike.cpp in Compile Sources */,
25F2400F80DAFBD41FE5CC75 /* fit_field.cpp in Compile Sources */,
87EFB56E25BD703D0039DD5A /* proformtreadmill.cpp in Compile Sources */,
333C629F93DB3941862924F7 /* fit_field_base.cpp in Compile Sources */,
@@ -1656,6 +1762,8 @@
48BA9CE9D6F256A15E8FB25D /* fit_mesg.cpp in Compile Sources */,
DD2E0091F3318F053D2995AA /* fit_mesg_broadcaster.cpp in Compile Sources */,
FE77C778768741F1A161682E /* fit_mesg_definition.cpp in Compile Sources */,
87DF68B825E2673B00FCDA46 /* eslinkertreadmill.cpp in Compile Sources */,
8781907E2615089D0085E656 /* peloton.cpp in Compile Sources */,
2B800DC34C91D8B080DEFBE8 /* fit_mesg_with_event_broadcaster.cpp in Compile Sources */,
6DC5D7C695B8763F9E2E029F /* fit_profile.cpp in Compile Sources */,
23191C28CB29474279752FD3 /* fit_protocol_validator.cpp in Compile Sources */,
@@ -1663,21 +1771,22 @@
ACB47DC464A2BC9D39C544AD /* gpx.cpp in Compile Sources */,
6361329E515248BB41640C07 /* homeform.cpp in Compile Sources */,
7CF08714869DA569C2EA551C /* keepawakehelper.cpp in Compile Sources */,
878A331E25AB50C300BD13E1 /* moc_fassitreadmill.cpp in Compile Sources */,
C719682D8D421AF6B2DAAEA9 /* main.cpp in Compile Sources */,
878A331925AB4FF800BD13E1 /* fassitreadmill.cpp in Compile Sources */,
25FCD41CCCAF49293B9369E8 /* qfit.cpp in Compile Sources */,
27E452D452B62D0948DF0755 /* sessionline.cpp in Compile Sources */,
E40895A73216AC52D35083D9 /* signalhandler.cpp in Compile Sources */,
87DF68BF25E2675100FCDA46 /* moc_schwinnic4bike.cpp in Compile Sources */,
BE1D17BBF32F04829E1B3767 /* toorxtreadmill.cpp in Compile Sources */,
4697729B15991E98D6A2533D /* treadmill.cpp in Compile Sources */,
20AA270C9F447F42F5DC2FF2 /* trainprogram.cpp in Compile Sources */,
47E45EE0BB22C1E4332F1D1D /* trxappgateusbtreadmill.cpp in Compile Sources */,
6943DA124B60175E1F9EBD1B /* virtualbike.cpp in Compile Sources */,
0317752B0C295CAB82D37E45 /* virtualtreadmill.cpp in Compile Sources */,
87819080261508B10085E656 /* moc_peloton.cpp in Compile Sources */,
7EC1321DD83EAAFAA2B7109C /* domyosbike.cpp in Compile Sources */,
614192CB787D12C3E98ADE55 /* lockscreen.mm in Compile Sources */,
0F974CB18B3E792B42270F19 /* FitDecode.mm in Compile Sources */,
87B617EC25F25FED0094A1CB /* screencapture.cpp in Compile Sources */,
FB2566376FE0FB17ED3DE94D /* FitDeveloperField.mm in Compile Sources */,
43FA2D5EA73D9C89F1A333B6 /* FitEncode.mm in Compile Sources */,
3FF025D99EBD71B7E6DCA033 /* FitField.mm in Compile Sources */,
@@ -1688,9 +1797,11 @@
8791A8AA25C8603F003B50B2 /* moc_inspirebike.cpp in Compile Sources */,
03F49BBCF19B73B18385B13D /* FitMesgDefinition.mm in Compile Sources */,
2D4684BE88B9B0456A50B3F0 /* qdomyoszwift_plugin_import.cpp in Compile Sources */,
8783153C25E8DAFD0007817C /* sportstechbike.cpp in Compile Sources */,
210F6A0A7E2FA7CDD3CA0084 /* qdomyoszwift_qml_plugin_import.cpp in Compile Sources */,
87062644259480A600D06586 /* APIFetcher.swift in Compile Sources */,
39FAA19B9285AB16AE3A39BA /* qrc_icons.cpp in Compile Sources */,
87D2699F25F535200076AA48 /* m3ibike.cpp in Compile Sources */,
7352E0F0EE5366AC809B9D64 /* qrc_qml.cpp in Compile Sources */,
B38F3288D4AE4025465C1953 /* moc_bike.cpp in Compile Sources */,
87EFB57025BD704A0039DD5A /* moc_proformtreadmill.cpp in Compile Sources */,
@@ -1706,17 +1817,24 @@
E62DA5FF2436135448C94671 /* moc_toorxtreadmill.cpp in Compile Sources */,
87586A4325B8341B00A243C4 /* moc_proformbike.cpp in Compile Sources */,
87CC3BA325A0885F001EC5A8 /* domyoselliptical.cpp in Compile Sources */,
87B617F325F260150094A1CB /* moc_snodebike.cpp in Compile Sources */,
8762D5102601F7EA00F6F049 /* M3iNSQT.cpp in Compile Sources */,
E8B499F921FB0AB55C7A8A8B /* moc_gpx.cpp in Compile Sources */,
87E6A85825B5C88E00371D28 /* moc_flywheelbike.cpp in Compile Sources */,
140BAAA8823E05940EF35A38 /* moc_treadmill.cpp in Compile Sources */,
87B617F425F260150094A1CB /* moc_screencapture.cpp in Compile Sources */,
87B617ED25F25FED0094A1CB /* fitshowtreadmill.cpp in Compile Sources */,
692540CF811B06A8710A0A52 /* moc_mainwindow.cpp in Compile Sources */,
87D269A025F535200076AA48 /* skandikawiribike.cpp in Compile Sources */,
8791A8AB25C861BD003B50B2 /* inspirebike.cpp in Compile Sources */,
87062647259480B400D06586 /* WatchKitConnection.swift in Compile Sources */,
AFEC086E92015064EB841234 /* moc_trainprogram.cpp in Compile Sources */,
8762D50F2601F7EA00F6F049 /* M3iNS.mm in Compile Sources */,
EE29228550794460E7654533 /* moc_trxappgateusbtreadmill.cpp in Compile Sources */,
3DB7B5F0CE1E2390CEFFC1E8 /* moc_virtualbike.cpp in Compile Sources */,
5FE99682776C1DE51F508F6B /* moc_virtualtreadmill.cpp in Compile Sources */,
74C43649C9C4E2E5F9378019 /* moc_domyosbike.cpp in Compile Sources */,
8783153B25E8D81E0007817C /* moc_sportstechbike.cpp in Compile Sources */,
);
name = "Compile Sources";
runOnlyForDeploymentPostprocessing = 0;
@@ -2062,7 +2180,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = "../src/ios/qdomyos-zwift.entitlements";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 2.3.9;
CURRENT_PROJECT_VERSION = 2.5.16;
DEVELOPMENT_TEAM = 6335M7T29D;
ENABLE_BITCODE = YES;
HEADER_SEARCH_PATHS = (
@@ -2085,7 +2203,38 @@
"../../Qt/5.15.2/ios/mkspecs/macx-ios-clang",
../../Qt/5.15.2/ios/include/QtNetworkAuth,
);
MARKETING_VERSION = 2.3;
LIBRARY_SEARCH_PATHS = (
/Users/cagnulein/Qt/5.15.2/ios/plugins/platforms,
/System/Library/Frameworks/,
/Users/cagnulein/Qt/5.15.2/ios/lib,
/Users/cagnulein/Qt/5.15.2/ios/plugins/imageformats,
/Users/cagnulein/Qt/5.15.2/ios/plugins/position,
/Users/cagnulein/Qt/5.15.2/ios/lib,
/Users/cagnulein/Qt/5.15.2/ios/plugins/qmltooling,
/Users/cagnulein/Qt/5.15.2/ios/plugins/bearer,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtGraphicalEffects/private,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQml/Models.2,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQml/WorkerScript.2,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Dialogs,
/Users/cagnulein/Qt/5.15.2/ios/qml/Qt/labs/folderlistmodel,
/Users/cagnulein/Qt/5.15.2/ios/qml/Qt/labs/platform,
/Users/cagnulein/Qt/5.15.2/ios/qml/Qt/labs/settings,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Dialogs/Private,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Controls,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/PrivateWidgets,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQml,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Layouts,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Window.2,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick.2,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Templates.2,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Controls.2,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Controls.2/Material,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Controls.2/Fusion,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Controls.2/Universal,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtGraphicalEffects,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Controls.2/Imagine,
);
MARKETING_VERSION = 2.5;
PRODUCT_BUNDLE_IDENTIFIER = "org.cagnulein.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = qdomyoszwift;
QMAKE_FULL_VERSION = 1.7.0;
@@ -2114,7 +2263,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = "../src/ios/qdomyos-zwift.entitlements";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 2.3.9;
CURRENT_PROJECT_VERSION = 2.5.16;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = 6335M7T29D;
ENABLE_BITCODE = YES;
@@ -2139,7 +2288,38 @@
"../../Qt/5.15.2/ios/mkspecs/macx-ios-clang",
../../Qt/5.15.2/ios/include/QtNetworkAuth,
);
MARKETING_VERSION = 2.3;
LIBRARY_SEARCH_PATHS = (
/Users/cagnulein/Qt/5.15.2/ios/plugins/platforms,
/System/Library/Frameworks/,
/Users/cagnulein/Qt/5.15.2/ios/lib,
/Users/cagnulein/Qt/5.15.2/ios/plugins/imageformats,
/Users/cagnulein/Qt/5.15.2/ios/plugins/position,
/Users/cagnulein/Qt/5.15.2/ios/lib,
/Users/cagnulein/Qt/5.15.2/ios/plugins/qmltooling,
/Users/cagnulein/Qt/5.15.2/ios/plugins/bearer,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtGraphicalEffects/private,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQml/Models.2,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQml/WorkerScript.2,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Dialogs,
/Users/cagnulein/Qt/5.15.2/ios/qml/Qt/labs/folderlistmodel,
/Users/cagnulein/Qt/5.15.2/ios/qml/Qt/labs/platform,
/Users/cagnulein/Qt/5.15.2/ios/qml/Qt/labs/settings,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Dialogs/Private,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Controls,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/PrivateWidgets,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQml,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Layouts,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Window.2,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick.2,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Templates.2,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Controls.2,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Controls.2/Material,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Controls.2/Fusion,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Controls.2/Universal,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtGraphicalEffects,
/Users/cagnulein/Qt/5.15.2/ios/qml/QtQuick/Controls.2/Imagine,
);
MARKETING_VERSION = 2.5;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "org.cagnulein.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = qdomyoszwift;
@@ -2202,7 +2382,7 @@
CODE_SIGN_ENTITLEMENTS = "watchkit Extension/WatchKit Extension.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2.3.9;
CURRENT_PROJECT_VERSION = 2.5.16;
DEVELOPMENT_TEAM = 6335M7T29D;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
@@ -2222,7 +2402,7 @@
IBSC_MODULE = watchkit_Extension;
INFOPLIST_FILE = watchkit/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
MARKETING_VERSION = 2.3;
MARKETING_VERSION = 2.5;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = (
@@ -2292,7 +2472,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_ENTITLEMENTS = "watchkit Extension/WatchKit Extension.entitlements";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2.3.9;
CURRENT_PROJECT_VERSION = 2.5.16;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 6335M7T29D;
ENABLE_NS_ASSERTIONS = NO;
@@ -2308,7 +2488,7 @@
IBSC_MODULE = watchkit_Extension;
INFOPLIST_FILE = watchkit/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
MARKETING_VERSION = 2.3;
MARKETING_VERSION = 2.5;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = (
@@ -2376,7 +2556,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_ENTITLEMENTS = "watchkit Extension/WatchKit Extension.entitlements";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2.3.9;
CURRENT_PROJECT_VERSION = 2.5.16;
DEVELOPMENT_ASSET_PATHS = "\"watchkit Extension/Preview Content\"";
ENABLE_PREVIEWS = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -2396,7 +2576,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = "watchkit Extension/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 2.3;
MARKETING_VERSION = 2.5;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = (
@@ -2463,7 +2643,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_ENTITLEMENTS = "watchkit Extension/WatchKit Extension.entitlements";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2.3.9;
CURRENT_PROJECT_VERSION = 2.5.16;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_ASSET_PATHS = "\"watchkit Extension/Preview Content\"";
ENABLE_NS_ASSERTIONS = NO;
@@ -2479,7 +2659,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = "watchkit Extension/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 2.3;
MARKETING_VERSION = 2.5;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = (

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildSystemType</key>
<string>Original</string>
<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
<false/>
</dict>
</plist>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildLocationStyle</key>
<string>UseTargetSettings</string>
</dict>
</plist>

View File

@@ -54,7 +54,7 @@ qrc_icons.cpp: ../src/icons.qrc \
../src/icons/weight.png \
../src/icons/start.png \
../src/icons/icon.png \
../src/icons/zwift-on.png \
../src/icons/lap.png \
../src/icons/kcal.png \
../src/icons/chart.png \
../src/icons/joul.png \

View File

@@ -54,10 +54,8 @@
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<RemoteRunnable
runnableDebuggingMode = "2"
BundleIdentifier = "com.apple.Carousel"
RemotePath = "/qdomyoszwift">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "876E4E102594747F00BD5714"
@@ -65,7 +63,7 @@
BlueprintName = "watchkit"
ReferencedContainer = "container:qdomyoszwift.xcodeproj">
</BuildableReference>
</RemoteRunnable>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
@@ -73,10 +71,8 @@
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<RemoteRunnable
runnableDebuggingMode = "2"
BundleIdentifier = "com.apple.Carousel"
RemotePath = "/qdomyoszwift">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "876E4E102594747F00BD5714"
@@ -84,16 +80,7 @@
BlueprintName = "watchkit"
ReferencedContainer = "container:qdomyoszwift.xcodeproj">
</BuildableReference>
</RemoteRunnable>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "876E4E102594747F00BD5714"
BuildableName = "watchkit.app"
BlueprintName = "watchkit"
ReferencedContainer = "container:qdomyoszwift.xcodeproj">
</BuildableReference>
</MacroExpansion>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">

View File

@@ -64,8 +64,8 @@
endingColumnNumber = "9223372036854775807"
startingLineNumber = "102"
endingLineNumber = "102"
landmarkName = "session(_:didReceiveMessage:replyHandler:)"
landmarkType = "7">
landmarkName = "unknown"
landmarkType = "0">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
@@ -80,8 +80,8 @@
endingColumnNumber = "9223372036854775807"
startingLineNumber = "96"
endingLineNumber = "96"
landmarkName = "session(_:didReceiveMessage:replyHandler:)"
landmarkType = "7">
landmarkName = "unknown"
landmarkType = "0">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
@@ -112,8 +112,8 @@
endingColumnNumber = "9223372036854775807"
startingLineNumber = "40"
endingLineNumber = "40"
landmarkName = "handleSendStatisticsData(_:)"
landmarkType = "7">
landmarkName = "unknown"
landmarkType = "0">
<Locations>
<Location
uuid = "329EF26B-A7BA-4771-A121-BA4060E60201 - 7dd9506ded50816f"
@@ -627,5 +627,69 @@
landmarkType = "9">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "F9025FE0-00E2-4B5A-91DF-AA80BE1EA37A"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "watchkit Extension/WatchWorkoutTracking.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "137"
endingLineNumber = "137"
landmarkName = "unknown"
landmarkType = "0">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "DF9F3A22-3044-4C88-9931-25D149D3C148"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "watchkit Extension/WatchWorkoutTracking.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "139"
endingLineNumber = "139"
landmarkName = "unknown"
landmarkType = "0">
<Locations>
<Location
uuid = "DF9F3A22-3044-4C88-9931-25D149D3C148 - 7623c20327e345a6"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "watchkit_Extension.WorkoutTracking.stopWorkOut() -&gt; ()"
moduleName = "watchkit Extension"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/cagnulein/qdomyos-zwift/build-qdomyos-zwift-Qt_5_15_2_for_iOS-Debug/watchkit%20Extension/WatchWorkoutTracking.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "139"
endingLineNumber = "139"
offsetFromSymbolStart = "580">
</Location>
<Location
uuid = "DF9F3A22-3044-4C88-9931-25D149D3C148 - 4583aa7bb599528a"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #1 (Swift.Bool, Swift.Optional&lt;Swift.Error&gt;) -&gt; () in watchkit_Extension.WorkoutTracking.stopWorkOut() -&gt; ()"
moduleName = "watchkit Extension"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/cagnulein/qdomyos-zwift/build-qdomyos-zwift-Qt_5_15_2_for_iOS-Debug/watchkit%20Extension/WatchWorkoutTracking.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "141"
endingLineNumber = "141"
offsetFromSymbolStart = "28">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>

View File

@@ -13,6 +13,8 @@ class MainController: WKInterfaceController {
@IBOutlet weak var userNameLabel: WKInterfaceLabel!
@IBOutlet weak var stepCountsLabel: WKInterfaceLabel!
@IBOutlet weak var heartRateLabel: WKInterfaceLabel!
@IBOutlet weak var startButton: WKInterfaceButton!
static var start: Bool! = false
override func awake(withContext context: Any?) {
super.awake(withContext: context)
@@ -36,17 +38,23 @@ class MainController: WKInterfaceController {
}
extension MainController {
@IBAction func startWorkout() {
WorkoutTracking.authorizeHealthKit()
WorkoutTracking.shared.startWorkOut()
WorkoutTracking.shared.delegate = self
WatchKitConnection.shared.delegate = self
WatchKitConnection.shared.startSession()
}
@IBAction func stopWorkout() {
WorkoutTracking.shared.stopWorkOut()
@IBAction func startWorkout() {
if(!MainController.start){
MainController.start = true
startButton.setTitle("Stop")
WorkoutTracking.authorizeHealthKit()
WorkoutTracking.shared.startWorkOut()
WorkoutTracking.shared.delegate = self
WatchKitConnection.shared.delegate = self
WatchKitConnection.shared.startSession()
}
else {
MainController.start = false
startButton.setTitle("Start")
WorkoutTracking.shared.stopWorkOut()
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -1,115 +1,115 @@
{
"images" : [
{
"filename" : "Icon-App-20x20@2x.png",
"filename" : "20@2x-3.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "20x20"
},
{
"filename" : "Icon-App-20x20@3x.png",
"filename" : "20@3x-1.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "20x20"
},
{
"filename" : "Icon-App-29x29@2x.png",
"filename" : "29@2x-4.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "29x29"
},
{
"filename" : "Icon-App-29x29@3x.png",
"filename" : "29@3x-3.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "29x29"
},
{
"filename" : "Icon-App-40x40@2x.png",
"filename" : "40@2x-3.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "40x40"
},
{
"filename" : "Icon-App-40x40@3x.png",
"filename" : "40@3x-1.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "40x40"
},
{
"filename" : "Icon-App-60x60@2x.png",
"filename" : "60@2x-1.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "60x60"
},
{
"filename" : "Icon-App-60x60@3x.png",
"filename" : "60@3x-1.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "60x60"
},
{
"filename" : "Icon-App-20x20@1x.png",
"filename" : "20@1x-1.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "20x20"
},
{
"filename" : "Icon-App-20x20@2x-1.png",
"filename" : "20@2x-2.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "20x20"
},
{
"filename" : "Icon-App-29x29@1x.png",
"filename" : "29@1x-1.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "29x29"
},
{
"filename" : "Icon-App-29x29@2x-1.png",
"filename" : "29@2x-3.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "29x29"
},
{
"filename" : "Icon-App-40x40@1x.png",
"filename" : "40@1x-1.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "40x40"
},
{
"filename" : "Icon-App-40x40@2x-1.png",
"filename" : "40@2x-2.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "40x40"
},
{
"filename" : "Icon-App-76x76@1x.png",
"filename" : "76@1x-1.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "76x76"
},
{
"filename" : "Icon-App-76x76@2x.png",
"filename" : "76@2x-1.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "76x76"
},
{
"filename" : "Icon-App-83.5x83.5@2x.png",
"filename" : "83.5@2x-1.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "83.5x83.5"
},
{
"filename" : "ItunesArtwork@2x.png",
"filename" : "iTunesArtwork@2x.png",
"idiom" : "ios-marketing",
"scale" : "1x",
"size" : "1024x1024"
},
{
"filename" : "48.png",
"filename" : "24@2x-1.png",
"idiom" : "watch",
"role" : "notificationCenter",
"scale" : "2x",
@@ -117,7 +117,7 @@
"subtype" : "38mm"
},
{
"filename" : "55.png",
"filename" : "27.5@2x-1.png",
"idiom" : "watch",
"role" : "notificationCenter",
"scale" : "2x",
@@ -125,21 +125,21 @@
"subtype" : "42mm"
},
{
"filename" : "58.png",
"filename" : "29@2x-2.png",
"idiom" : "watch",
"role" : "companionSettings",
"scale" : "2x",
"size" : "29x29"
},
{
"filename" : "87.png",
"filename" : "29@3x-2.png",
"idiom" : "watch",
"role" : "companionSettings",
"scale" : "3x",
"size" : "29x29"
},
{
"filename" : "80.png",
"filename" : "80x80-1.png",
"idiom" : "watch",
"role" : "appLauncher",
"scale" : "2x",
@@ -147,7 +147,7 @@
"subtype" : "38mm"
},
{
"filename" : "88.png",
"filename" : "44@2x.png",
"idiom" : "watch",
"role" : "appLauncher",
"scale" : "2x",
@@ -155,7 +155,7 @@
"subtype" : "40mm"
},
{
"filename" : "Icon100.png",
"filename" : "50@2x-1.png",
"idiom" : "watch",
"role" : "appLauncher",
"scale" : "2x",
@@ -163,7 +163,7 @@
"subtype" : "44mm"
},
{
"filename" : "172.png",
"filename" : "86@2x-1.png",
"idiom" : "watch",
"role" : "quickLook",
"scale" : "2x",
@@ -171,7 +171,7 @@
"subtype" : "38mm"
},
{
"filename" : "196.png",
"filename" : "98@2x-1.png",
"idiom" : "watch",
"role" : "quickLook",
"scale" : "2x",
@@ -179,7 +179,7 @@
"subtype" : "42mm"
},
{
"filename" : "216.png",
"filename" : "108@2x-1.png",
"idiom" : "watch",
"role" : "quickLook",
"scale" : "2x",
@@ -187,7 +187,7 @@
"subtype" : "44mm"
},
{
"filename" : "Icon1024.png",
"filename" : "1024@1x.png",
"idiom" : "watch-marketing",
"scale" : "1x",
"size" : "1024x1024"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View File

@@ -20,14 +20,10 @@
<action selector="startWorkout" destination="Tpn-rd-UUX" id="UaW-pR-tn6"/>
</connections>
</button>
<button width="1" alignment="left" title="Stop" id="mVg-K9-PI9">
<connections>
<action selector="stopWorkout" destination="Tpn-rd-UUX" id="Jy7-gN-USZ"/>
</connections>
</button>
</items>
<connections>
<outlet property="heartRateLabel" destination="Nda-m1-XRw" id="1la-8R-3jG"/>
<outlet property="startButton" destination="vZg-X8-uY5" id="pJc-09-kfV"/>
<outlet property="stepCountsLabel" destination="HpA-e9-6YV" id="Z88-ej-6oG"/>
<outlet property="userNameLabel" destination="SlU-M7-WGB" id="Y2O-Lg-bDx"/>
</connections>

Some files were not shown because too many files have changed in this diff Show More