Updated README. Small fixes.

This commit is contained in:
Markus Birth 2019-09-13 16:54:12 +02:00
parent 77e19a5b5e
commit eb3f048d11
Signed by: mbirth
GPG Key ID: A9928D7A098C3A9A
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.
@ -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).

View File

@ -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",

View File

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