Updated README. Small fixes.
This commit is contained in:
parent
77e19a5b5e
commit
eb3f048d11
15
README.md
15
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).
|
||||
|
@ -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",
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user