From eb3f048d116046ba25a46aa1ca98f9f128f3df81 Mon Sep 17 00:00:00 2001 From: Markus Birth Date: Fri, 13 Sep 2019 16:54:12 +0200 Subject: [PATCH] Updated README. Small fixes. --- README.md | 15 ++++++++++++--- grmn/devices.py | 14 +++++++------- grmn/updateserver.py | 14 +++++++------- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 3cb26be..19fdabc 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -GCD Parser -========== +Garmin Firmware Tools +===================== -This is a parser and some tools for working with GCD files (firmware updates from a well-known manufacturer). +This is a parser and some tools for working with GCD files (firmware updates). It's in Python, so feel free to add cool new features and submit pull requests. @@ -158,3 +158,12 @@ Dumping to fenix5Plus_510_new.gcd ``` Checksums (in the GCD file, NOT in the binaries!) will be corrected automatically. + + +### get_updates.py [hw_id1|sku1] [hw_id2|sku2] .. [hw_idN|skuN] + +Checks Express and WebUpdater for updates for the given hw_ids (1-4 digits) or full SKUs (###-X####-##). + +The first one is used as the main device in the query. Shouldn't make a big difference in the results, though. + +Special thanks to Alex W. for [his update check](https://github.com/AlexWhiter/GarminRelatedStuff). diff --git a/grmn/devices.py b/grmn/devices.py index 20721b9..de85a47 100644 --- a/grmn/devices.py +++ b/grmn/devices.py @@ -503,7 +503,7 @@ DEVICES = { 2141: "dezlCam", 2147: "Edge 25", 2148: "Forerunner 25", - 2150: "vivofit2", + 2150: "vivofit 2", 2151: "Forerunner 225, OHR", 2153: "Forerunner 225", 2156: "Forerunner 630", @@ -575,10 +575,10 @@ DEVICES = { 2338: "vivoactive HR, Sensor Hub", 2339: "vivoactive HR, Touchpanel", 2340: "vivoactive HR, Display", - 2347: "vivosmart HR plus", + 2347: "vivosmart HR+", 2348: "vivosmart HR", 2361: "vivosmart HR APAC", - 2362: "vivosmart HR plus APAC", + 2362: "vivosmart HR+ APAC", 2368: "vivomove", 2369: "Forerunner 235, Sensor Hub", 2379: "Varia Tail Light", @@ -590,7 +590,7 @@ DEVICES = { 2400: "aera 660", 2403: "Approach S20, nrF51", 2405: "Approach X40, BT_BLE", - 2406: "vivofit3", + 2406: "vivofit 3", 2407: "fenix 3, K65, Korea", 2408: "fenix 3, K65, SEA", 2413: "fenix 3 HR", @@ -664,7 +664,7 @@ DEVICES = { 2630: "Edge 820 SEA", 2635: "Dash Cam 45-S", 2636: "Dash Cam 55", - 2639: "vivosmart HR plus Israel", + 2639: "vivosmart HR+ Israel", 2641: "Xero A1(i)", 2650: "Forerunner 35 Israel", 2652: "Approach G30", @@ -807,7 +807,7 @@ DEVICES = { 3009: "Forerunner 645 Music APAC, Sensor Hub", 3011: "Edge Explore", 3013: "fenix 5S Plus, Sensor Hub", - 3014: "fenix 5 Plus, Sensor Hub", + 3014: "fenix 5 Plus/D2 Delta, Sensor Hub", 3015: "fenix 5X Plus, Sensor Hub", 3018: "Edge 130 Nordic Software", 3028: "GPSMAP 66", @@ -929,7 +929,7 @@ DEVICES = { 3417: "Forerunner 245M APAC, Sensor Hub", 3420: "MARQ Driver APAC", 3421: "MARQ Aviator APAC", - 3428: "Vivolife", + 3428: "vivolife", 3431: "GPSMAP 64sx", 3432: "GPSMAP 64csx", 3441: "Forerunner 945 ASIA", diff --git a/grmn/updateserver.py b/grmn/updateserver.py index f1d3ec4..ac19394 100644 --- a/grmn/updateserver.py +++ b/grmn/updateserver.py @@ -12,7 +12,7 @@ import requests PROTO_API_GETALLUNITSOFTWAREUPDATES_URL = "http://omt.garmin.com/Rce/ProtobufApi/SoftwareUpdateService/GetAllUnitSoftwareUpdates" WEBUPDATER_SOFTWAREUPDATE_URL = "https://www.garmin.com/support/WUSoftwareUpdate.jsp" -GRMN_CLIENT_VERSION = "5.7.0.2" +GRMN_CLIENT_VERSION = "6.17.0.0" class UpdateServer: @@ -123,9 +123,9 @@ class UpdateServer: return None #print(r.content) - with open("protoreply.bin", "wb") as f: - f.write(r.content) - f.close() + #with open("protoreply.bin", "wb") as f: + # f.write(r.content) + # f.close() reply = GetAllUnitSoftwareUpdates_pb2.GetAllUnitSoftwareUpdatesReply() reply.ParseFromString(r.content) @@ -148,8 +148,8 @@ class UpdateServer: return None #print(r.content) - with open("webupdaterreply.xml", "wb") as f: - f.write(r.content) - f.close() + #with open("webupdaterreply.xml", "wb") as f: + # f.write(r.content) + # f.close() return r.content