Updated README. Small fixes.

This commit is contained in:
2019-09-13 16:54:12 +02:00
parent 77e19a5b5e
commit eb3f048d11
3 changed files with 26 additions and 17 deletions

View File

@ -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. 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. 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).

View File

@ -503,7 +503,7 @@ DEVICES = {
2141: "dezlCam", 2141: "dezlCam",
2147: "Edge 25", 2147: "Edge 25",
2148: "Forerunner 25", 2148: "Forerunner 25",
2150: "vivofit2", 2150: "vivofit 2",
2151: "Forerunner 225, OHR", 2151: "Forerunner 225, OHR",
2153: "Forerunner 225", 2153: "Forerunner 225",
2156: "Forerunner 630", 2156: "Forerunner 630",
@ -575,10 +575,10 @@ DEVICES = {
2338: "vivoactive HR, Sensor Hub", 2338: "vivoactive HR, Sensor Hub",
2339: "vivoactive HR, Touchpanel", 2339: "vivoactive HR, Touchpanel",
2340: "vivoactive HR, Display", 2340: "vivoactive HR, Display",
2347: "vivosmart HR plus", 2347: "vivosmart HR+",
2348: "vivosmart HR", 2348: "vivosmart HR",
2361: "vivosmart HR APAC", 2361: "vivosmart HR APAC",
2362: "vivosmart HR plus APAC", 2362: "vivosmart HR+ APAC",
2368: "vivomove", 2368: "vivomove",
2369: "Forerunner 235, Sensor Hub", 2369: "Forerunner 235, Sensor Hub",
2379: "Varia Tail Light", 2379: "Varia Tail Light",
@ -590,7 +590,7 @@ DEVICES = {
2400: "aera 660", 2400: "aera 660",
2403: "Approach S20, nrF51", 2403: "Approach S20, nrF51",
2405: "Approach X40, BT_BLE", 2405: "Approach X40, BT_BLE",
2406: "vivofit3", 2406: "vivofit 3",
2407: "fenix 3, K65, Korea", 2407: "fenix 3, K65, Korea",
2408: "fenix 3, K65, SEA", 2408: "fenix 3, K65, SEA",
2413: "fenix 3 HR", 2413: "fenix 3 HR",
@ -664,7 +664,7 @@ DEVICES = {
2630: "Edge 820 SEA", 2630: "Edge 820 SEA",
2635: "Dash Cam 45-S", 2635: "Dash Cam 45-S",
2636: "Dash Cam 55", 2636: "Dash Cam 55",
2639: "vivosmart HR plus Israel", 2639: "vivosmart HR+ Israel",
2641: "Xero A1(i)", 2641: "Xero A1(i)",
2650: "Forerunner 35 Israel", 2650: "Forerunner 35 Israel",
2652: "Approach G30", 2652: "Approach G30",
@ -807,7 +807,7 @@ DEVICES = {
3009: "Forerunner 645 Music APAC, Sensor Hub", 3009: "Forerunner 645 Music APAC, Sensor Hub",
3011: "Edge Explore", 3011: "Edge Explore",
3013: "fenix 5S Plus, Sensor Hub", 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", 3015: "fenix 5X Plus, Sensor Hub",
3018: "Edge 130 Nordic Software", 3018: "Edge 130 Nordic Software",
3028: "GPSMAP 66", 3028: "GPSMAP 66",
@ -929,7 +929,7 @@ DEVICES = {
3417: "Forerunner 245M APAC, Sensor Hub", 3417: "Forerunner 245M APAC, Sensor Hub",
3420: "MARQ Driver APAC", 3420: "MARQ Driver APAC",
3421: "MARQ Aviator APAC", 3421: "MARQ Aviator APAC",
3428: "Vivolife", 3428: "vivolife",
3431: "GPSMAP 64sx", 3431: "GPSMAP 64sx",
3432: "GPSMAP 64csx", 3432: "GPSMAP 64csx",
3441: "Forerunner 945 ASIA", 3441: "Forerunner 945 ASIA",

View File

@ -12,7 +12,7 @@ import requests
PROTO_API_GETALLUNITSOFTWAREUPDATES_URL = "http://omt.garmin.com/Rce/ProtobufApi/SoftwareUpdateService/GetAllUnitSoftwareUpdates" PROTO_API_GETALLUNITSOFTWAREUPDATES_URL = "http://omt.garmin.com/Rce/ProtobufApi/SoftwareUpdateService/GetAllUnitSoftwareUpdates"
WEBUPDATER_SOFTWAREUPDATE_URL = "https://www.garmin.com/support/WUSoftwareUpdate.jsp" 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: class UpdateServer:
@ -123,9 +123,9 @@ class UpdateServer:
return None return None
#print(r.content) #print(r.content)
with open("protoreply.bin", "wb") as f: #with open("protoreply.bin", "wb") as f:
f.write(r.content) # f.write(r.content)
f.close() # f.close()
reply = GetAllUnitSoftwareUpdates_pb2.GetAllUnitSoftwareUpdatesReply() reply = GetAllUnitSoftwareUpdates_pb2.GetAllUnitSoftwareUpdatesReply()
reply.ParseFromString(r.content) reply.ParseFromString(r.content)
@ -148,8 +148,8 @@ class UpdateServer:
return None return None
#print(r.content) #print(r.content)
with open("webupdaterreply.xml", "wb") as f: #with open("webupdaterreply.xml", "wb") as f:
f.write(r.content) # f.write(r.content)
f.close() # f.close()
return r.content return r.content