Skip to content

Commit

Permalink
Add support for MARQ (Gen 2) Athlete / Adventurer / Captain / Golfer/…
Browse files Browse the repository at this point in the history
… Aviator, D2 Mach 1, Edge Explore 2, epix PRO Gen2 42mm, epix PRO Gen2 47mm, epix PRO Gen2 51mm, fenix 6 Pro System 5 Preview, fenix 7 PRO, fenix 7S PRO, fenix

Co-Authored-By: Chuanyi <26034018+Likenttt@users.noreply.github.com>
  • Loading branch information
gcormier9 and Likenttt committed Jul 18, 2023
1 parent 973bc96 commit 10cd094
Show file tree
Hide file tree
Showing 6 changed files with 332 additions and 165 deletions.
170 changes: 98 additions & 72 deletions README.md

Large diffs are not rendered by default.

197 changes: 105 additions & 92 deletions manifest.xml
Original file line number Diff line number Diff line change
@@ -1,92 +1,105 @@
<?xml version="1.0"?>
<!-- This is a generated file. It is highly recommended that you DO NOT edit this file. -->
<iq:manifest xmlns:iq="http://www.garmin.com/xml/connectiq" version="3">
<iq:application entry="GRunApp" id="330ea7d24e114df0bebf05b1dcb74788" launcherIcon="@Drawables.LauncherIcon" minSdkVersion="3.0.0" name="@Strings.AppName" type="datafield" version="1.0.0">
<iq:products>
<iq:product id="approachs62"/>
<iq:product id="d2air"/>
<iq:product id="d2airx10"/>
<iq:product id="d2charlie"/>
<iq:product id="d2delta"/>
<iq:product id="d2deltapx"/>
<iq:product id="d2deltas"/>
<iq:product id="descentmk1"/>
<iq:product id="descentmk2"/>
<iq:product id="descentmk2s"/>
<iq:product id="edge1030"/>
<iq:product id="edge1030bontrager"/>
<iq:product id="edge1030plus"/>
<iq:product id="edge130"/>
<iq:product id="edge130plus"/>
<iq:product id="edge520plus"/>
<iq:product id="edge530"/>
<iq:product id="edge820"/>
<iq:product id="edge830"/>
<iq:product id="edgeexplore"/>
<iq:product id="enduro"/>
<iq:product id="epix2"/>
<iq:product id="fenix5"/>
<iq:product id="fenix5plus"/>
<iq:product id="fenix5s"/>
<iq:product id="fenix5splus"/>
<iq:product id="fenix5x"/>
<iq:product id="fenix5xplus"/>
<iq:product id="fenix6"/>
<iq:product id="fenix6pro"/>
<iq:product id="fenix6s"/>
<iq:product id="fenix6spro"/>
<iq:product id="fenix6xpro"/>
<iq:product id="fenix7"/>
<iq:product id="fenix7s"/>
<iq:product id="fenix7x"/>
<iq:product id="fenixchronos"/>
<iq:product id="fr245"/>
<iq:product id="fr245m"/>
<iq:product id="fr255"/>
<iq:product id="fr255m"/>
<iq:product id="fr255s"/>
<iq:product id="fr255sm"/>
<iq:product id="fr55"/>
<iq:product id="fr645"/>
<iq:product id="fr645m"/>
<iq:product id="fr745"/>
<iq:product id="fr935"/>
<iq:product id="fr945"/>
<iq:product id="fr945lte"/>
<iq:product id="fr955"/>
<iq:product id="legacyherocaptainmarvel"/>
<iq:product id="legacyherofirstavenger"/>
<iq:product id="legacysagadarthvader"/>
<iq:product id="legacysagarey"/>
<iq:product id="marqadventurer"/>
<iq:product id="marqathlete"/>
<iq:product id="marqaviator"/>
<iq:product id="marqcaptain"/>
<iq:product id="marqcommander"/>
<iq:product id="marqdriver"/>
<iq:product id="marqexpedition"/>
<iq:product id="marqgolfer"/>
<iq:product id="oregon7xx"/>
<iq:product id="rino7xx"/>
<iq:product id="venu"/>
<iq:product id="venu2"/>
<iq:product id="venu2plus"/>
<iq:product id="venu2s"/>
<iq:product id="venud"/>
<iq:product id="vivoactive3"/>
<iq:product id="vivoactive3d"/>
<iq:product id="vivoactive3m"/>
<iq:product id="vivoactive3mlte"/>
<iq:product id="vivoactive4"/>
<iq:product id="vivoactive4s"/>
</iq:products>
<iq:permissions>
<iq:uses-permission id="Positioning"/>
<iq:uses-permission id="UserProfile"/>
</iq:permissions>
<iq:languages>
<iq:language>eng</iq:language>
</iq:languages>
<iq:barrels/>
</iq:application>
</iq:manifest>
<!-- This is a generated file. It is highly recommended that you DO NOT edit this file. --><iq:manifest xmlns:iq="http://www.garmin.com/xml/connectiq" version="3">
<iq:application entry="GRunApp" id="330ea7d24e114df0bebf05b1dcb74788" launcherIcon="@Drawables.LauncherIcon" minSdkVersion="3.0.0" name="@Strings.AppName" type="datafield" version="1.0.0">
<iq:products>
<iq:product id="approachs62"/>
<iq:product id="d2air"/>
<iq:product id="d2airx10"/>
<iq:product id="d2charlie"/>
<iq:product id="d2delta"/>
<iq:product id="d2deltapx"/>
<iq:product id="d2deltas"/>
<iq:product id="d2mach1"/>
<iq:product id="descentg1"/>
<iq:product id="descentmk1"/>
<iq:product id="descentmk2"/>
<iq:product id="descentmk2s"/>
<iq:product id="edge1030"/>
<iq:product id="edge1030bontrager"/>
<iq:product id="edge1030plus"/>
<iq:product id="edge130"/>
<iq:product id="edge130plus"/>
<iq:product id="edge520plus"/>
<iq:product id="edge530"/>
<iq:product id="edge820"/>
<iq:product id="edge830"/>
<iq:product id="edgeexplore"/>
<iq:product id="edgeexplore2"/>
<iq:product id="enduro"/>
<iq:product id="epix2"/>
<iq:product id="epix2pro42mm"/>
<iq:product id="epix2pro47mm"/>
<iq:product id="epix2pro51mm"/>
<iq:product id="fenix5"/>
<iq:product id="fenix5plus"/>
<iq:product id="fenix5s"/>
<iq:product id="fenix5splus"/>
<iq:product id="fenix5x"/>
<iq:product id="fenix5xplus"/>
<iq:product id="fenix6"/>
<iq:product id="fenix6pro"/>
<iq:product id="fenix6prosystem5preview"/>
<iq:product id="fenix6s"/>
<iq:product id="fenix6spro"/>
<iq:product id="fenix6xpro"/>
<iq:product id="fenix7"/>
<iq:product id="fenix7pro"/>
<iq:product id="fenix7s"/>
<iq:product id="fenix7spro"/>
<iq:product id="fenix7x"/>
<iq:product id="fenix7xpro"/>
<iq:product id="fenixchronos"/>
<iq:product id="fr245"/>
<iq:product id="fr245m"/>
<iq:product id="fr255"/>
<iq:product id="fr255m"/>
<iq:product id="fr255s"/>
<iq:product id="fr255sm"/>
<iq:product id="fr265"/>
<iq:product id="fr265s"/>
<iq:product id="fr55"/>
<iq:product id="fr645"/>
<iq:product id="fr645m"/>
<iq:product id="fr745"/>
<iq:product id="fr935"/>
<iq:product id="fr945"/>
<iq:product id="fr945lte"/>
<iq:product id="fr955"/>
<iq:product id="fr965"/>
<iq:product id="legacyherocaptainmarvel"/>
<iq:product id="legacyherofirstavenger"/>
<iq:product id="legacysagadarthvader"/>
<iq:product id="legacysagarey"/>
<iq:product id="marq2"/>
<iq:product id="marq2aviator"/>
<iq:product id="marqadventurer"/>
<iq:product id="marqathlete"/>
<iq:product id="marqaviator"/>
<iq:product id="marqcaptain"/>
<iq:product id="marqcommander"/>
<iq:product id="marqdriver"/>
<iq:product id="marqexpedition"/>
<iq:product id="marqgolfer"/>
<iq:product id="oregon7xx"/>
<iq:product id="rino7xx"/>
<iq:product id="venu"/>
<iq:product id="venu2"/>
<iq:product id="venu2plus"/>
<iq:product id="venu2s"/>
<iq:product id="venud"/>
<iq:product id="vivoactive3"/>
<iq:product id="vivoactive3d"/>
<iq:product id="vivoactive3m"/>
<iq:product id="vivoactive3mlte"/>
<iq:product id="vivoactive4"/>
<iq:product id="vivoactive4s"/>
</iq:products>
<iq:permissions>
<iq:uses-permission id="Positioning"/>
<iq:uses-permission id="UserProfile"/>
</iq:permissions>
<iq:languages>
<iq:language>eng</iq:language>
</iq:languages>
<iq:barrels/>
</iq:application>
</iq:manifest>
28 changes: 28 additions & 0 deletions monkey.jungle
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,25 @@ base.sourcePath = source

# High Memory (252.6 KB)
d2airx10.sourcePath = source;source-highmem;source-highmem-venu2plus
d2mach1.sourcePath = source;source-highmem;source-highmem-venu2plus
epix2.sourcePath = source;source-highmem;source-highmem-epix2
epix2pro42mm.sourcePath = source;source-highmem;source-highmem-epix2
epix2pro47mm.sourcePath = source;source-highmem;source-highmem-epix2
epix2pro51mm.sourcePath = source;source-highmem;source-highmem-fenix7
fenix7.sourcePath = source;source-highmem;source-highmem-fenix7
fenix7pro.sourcePath = source;source-highmem;source-highmem-fenix7
fenix7spro.sourcePath = source;source-highmem;source-highmem-fenix7
fenix7xpro.sourcePath = source;source-highmem;source-highmem-fenix7
fenix7s.sourcePath = source;source-highmem;source-highmem-fenix7s
fenix7x.sourcePath = source;source-highmem;source-highmem-fenix7
fr255.sourcePath = source;source-highmem;source-highmem-fenix7
fr255m.sourcePath = source;source-highmem;source-highmem-fenix7
fr255s.sourcePath = source;source-highmem;source-highmem-fr255s
fr255sm.sourcePath = source;source-highmem;source-highmem-fr255s
fr265.sourcePath = source;source-highmem;source-highmem-fenix7
fr265s.sourcePath = source;source-highmem;source-highmem-fr265s
fr955.sourcePath = source;source-highmem;source-highmem-fenix7
fr965.sourcePath = source;source-highmem;source-highmem-fr265s
venu2plus.sourcePath = source;source-highmem;source-highmem-venu2plus

# High Memory (124.7 KB)
Expand All @@ -35,6 +45,7 @@ edge530.sourcePath = source;source-highmem;source-highmem-edge530
edge820.sourcePath = source;source-highmem;source-highmem-edge520plus
edge830.sourcePath = source;source-highmem;source-highmem-edge830
edgeexplore.sourcePath = source;source-highmem;source-highmem-edgeexplore
edgeexplore2.sourcePath = source;source-highmem;source-highmem-edgeexplore
fenix5plus.sourcePath = source;source-highmem;source-highmem-default
fenix5splus.sourcePath = source;source-highmem;source-highmem-default
fenix5x.sourcePath = source;source-highmem;source-highmem-default
Expand All @@ -50,10 +61,13 @@ marqcommander.sourcePath = source;source-highmem;source-highmem-marq
marqdriver.sourcePath = source;source-highmem;source-highmem-marq
marqexpedition.sourcePath = source;source-highmem;source-highmem-marq
marqgolfer.sourcePath = source;source-highmem;source-highmem-marq
marq2.sourcePath = source;source-highmem;source-highmem-marq2
marq2aviator.sourcePath = source;source-highmem;source-highmem-marq2

oregon7xx.sourcePath = source;source-highmem;source-highmem-oregon7xx
rino7xx.sourcePath = source;source-highmem;source-highmem-oregon7xx
fenix6pro.sourcePath = source;source-highmem;source-highmem-fenix6pro
fenix6prosystem5preview.sourcePath = source;source-highmem;source-highmem-fenix6pro
fenix6spro.sourcePath = source;source-highmem;source-highmem-fenix6xpro
fenix6xpro.sourcePath = source;source-highmem;source-highmem-fenix6xpro

Expand Down Expand Up @@ -100,20 +114,31 @@ base.resourcePath = resources

# High Memory (252.6 KB) with "Power" and "Training Effect" support
d2airx10.resourcePath = resources;resources-highmem;resources-highmem-power-te
d2mach1.resourcePath = resources;resources-highmem;resources-highmem-power-te
epix2.resourcePath = resources;resources-highmem;resources-highmem-power-te
epix2pro42mm.resourcePath = resources;resources-highmem;resources-highmem-power-te
epix2pro47mm.resourcePath = resources;resources-highmem;resources-highmem-power-te
epix2pro51mm.resourcePath = resources;resources-highmem;resources-highmem-power-te
fenix7.resourcePath = resources;resources-highmem;resources-highmem-power-te
fenix7pro.resourcePath = resources;resources-highmem;resources-highmem-power-te
fenix7spro.resourcePath = resources;resources-highmem;resources-highmem-power-te
fenix7xpro.resourcePath = resources;resources-highmem;resources-highmem-power-te
fenix7s.resourcePath = resources;resources-highmem;resources-highmem-power-te
fenix7x.resourcePath = resources;resources-highmem;resources-highmem-power-te
fr255.resourcePath = resources;resources-highmem;resources-highmem-power-te
fr255m.resourcePath = resources;resources-highmem;resources-highmem-power-te
fr255s.resourcePath = resources;resources-highmem;resources-highmem-power-te
fr255sm.resourcePath = resources;resources-highmem;resources-highmem-power-te
fr265.resourcePath = resources;resources-highmem;resources-highmem-power-te
fr265s.resourcePath = resources;resources-highmem;resources-highmem-power-te
fr955.resourcePath = resources;resources-highmem;resources-highmem-power-te
fr965.resourcePath = resources;resources-highmem;resources-highmem-power-te
venu2plus.resourcePath = resources;resources-highmem;resources-highmem-power-te

# High Memory (124.7 KB) with no specific feature
approachs62.resourcePath = resources;resources-highmem;resources-highmem-basic
edgeexplore.resourcePath = resources;resources-highmem;resources-highmem-basic
edgeexplore2.resourcePath = resources;resources-highmem;resources-highmem-basic
oregon7xx.resourcePath = resources;resources-highmem;resources-highmem-basic
rino7xx.resourcePath = resources;resources-highmem;resources-highmem-basic

Expand Down Expand Up @@ -143,6 +168,7 @@ edge830.resourcePath = resources;resources-highmem;resources-highmem-power-te
fenix5x.resourcePath = resources;resources-highmem;resources-highmem-power-te
fenix5xplus.resourcePath = resources;resources-highmem;resources-highmem-power-te
fenix6pro.resourcePath = resources;resources-highmem;resources-highmem-power-te
fenix6prosystem5preview.resourcePath = resources;resources-highmem;resources-highmem-power-te
fenix6spro.resourcePath = resources;resources-highmem;resources-highmem-power-te
fenix6xpro.resourcePath = resources;resources-highmem;resources-highmem-power-te
fr745.resourcePath = resources;resources-highmem;resources-highmem-power-te
Expand All @@ -156,6 +182,8 @@ marqcommander.resourcePath = resources;resources-highmem;resources-highmem-power
marqdriver.resourcePath = resources;resources-highmem;resources-highmem-power-te
marqexpedition.resourcePath = resources;resources-highmem;resources-highmem-power-te
marqgolfer.resourcePath = resources;resources-highmem;resources-highmem-power-te
marq2.resourcePath = resources;resources-highmem;resources-highmem-power-te
marq2aviator.resourcePath = resources;resources-highmem;resources-highmem-power-te

# Low Memory (28.7 KB) with no specific feature
d2air.resourcePath = resources;resources-lowmem-basic
Expand Down
2 changes: 1 addition & 1 deletion resources/settings/properties.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<properties>
<property id="AppVersion" type="string">1.36</property>
<property id="AppVersion" type="string">1.37</property>
<property id="HeaderHeight" type="number">30</property>
<property id="SingleBackgroundColor" type="boolean">false</property>
<property id="LapDistance" type="number">0</property>
Expand Down
50 changes: 50 additions & 0 deletions source-highmem-fr265s/GRunApp.mc
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
using Toybox.Application;
using Toybox.Graphics;


class GRunApp extends Application.AppBase
{
protected var gRunView;

function initialize()
{
//System.println("Garmin Fr265s (High Memory)");
AppBase.initialize();
gRunView = new GRunView();
}


public static function getTextDimensions(dc, value, font)
{
var textDimensions = dc.getTextDimensions(value, font);

var yFactor = 1.65;
if (font > 5) { yFactor = 1.75; }
if (font < 2) { yFactor = 1.4; }
textDimensions[1] = textDimensions[1] - (yFactor * dc.getFontDescent(font)) + 2;

return textDimensions;
}


public static function getYOffset(font)
{
var yOffset = 1;
if (font == 0) { yOffset = -1; }

return yOffset;
}


function onSettingsChanged()
{
AppBase.onSettingsChanged();
gRunView.initializeUserData();
}


function getInitialView()
{
return [ gRunView ];
}
}
Loading

0 comments on commit 10cd094

Please sign in to comment.