Giter VIP home page Giter VIP logo

jdmtool's People

Contributors

dimaryaz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

jdmtool's Issues

Download error

Hi

I have tried to download the database for a G1000NXI system. I got an error trying to download "Europe IFR" and "Europe VFR":

hbu@laptophbu2:> jdmtool list
ID Name Cycle Start Date End Date Downloaded
0 NavData Coverage Garmin G1000 Central Europe 2303 2023-03-23 2023-04-20
1 Airport Directory Garmin G1000 AC-U-KWIK International 23D1 2023-02-23 2023-04-20
2 SafeTaxi Coverage Garmin G1000 Europe 23S1 2023-02-23 2023-04-20
3 Terrain 4.9as Coverage Garmin G1000 SW v.15.00 or Newer Worldwide 20T1 2020-08-10 2024-04-08
4 NavData Garmin G1000 NXi, Perspective + Central Europe 2303 2023-03-23 2023-04-20
5 Obstacles Garmin G1000 NXi, Perspective + Worldwide 23B1 2023-02-23 2023-04-20
6 Basemap Coverage Garmin G1000 NXi Perspective + Worldwide 22M1 2022-04-15 2024-04-08
7 Europe IFR 202307.1 2023-03-31 2023-04-14
8 Europe VFR 202307.1 2023-03-31 2023-04-14
hbu@laptophbu2:
> jdmtool info 0
Aircraft Manufacturer: DIAMOND
Aircraft Model: DA42, TWINSTAR
Aircraft Tail Number: HBLVR

Avionics: Garmin G1000, G900X, G950, Perspective, Prodigy
Coverage: Central Europe
Service Type: NavData
Service Code: DGA03553
Service ID: 33102448
Service Renewal Date: 2023-10-28 00:00:00

Version: 2303
Version Start Date: 2023-03-23 06:00:00
Version End Date: 2023-04-20 06:00:00

Next Version: 2304
Next Version Available Date: 2023-04-10 06:00:00
Next Version Start Date: 2023-04-20 06:00:00

File Name: dga035_2303_29114daf.zip
File Size: 10894874
File CRC32: 29114daf
hbu@laptophbu2:> jdmtool download 0
Downloading: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10.9M/10.9M [00:04<00:00, 2.20MB/s]
Downloaded to /home/hbu/.local/share/jdmtool/downloads/dga035_2303_29114daf.zip
hbu@laptophbu2:
> jdmtool download 1
Downloading: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 4.75M/4.75M [00:04<00:00, 967kB/s]
Downloaded to /home/hbu/.local/share/jdmtool/downloads/dgd203_23d1_213c01a6.zip
hbu@laptophbu2:> jdmtool download 2
Downloading: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 12.7M/12.7M [00:05<00:00, 2.43MB/s]
Downloaded to /home/hbu/.local/share/jdmtool/downloads/dgs235_23s1_5d913c72.zip
hbu@laptophbu2:
> jdmtool download 3
Downloading: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3.60G/3.60G [08:08<00:00, 7.37MB/s]
Downloaded to /home/hbu/.local/share/jdmtool/downloads/DGT208_20t1_9120A9F4.zip
hbu@laptophbu2:> jdmtool download 4
Downloading: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10.9M/10.9M [00:04<00:00, 2.23MB/s]
Downloaded to /home/hbu/.local/share/jdmtool/downloads/dga035_2303_29114daf.zip
hbu@laptophbu2:
> jdmtool download 5
Downloading: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24.0M/24.0M [00:06<00:00, 3.72MB/s]
Downloaded to /home/hbu/.local/share/jdmtool/downloads/dgo001_23b1_d58f03a8.zip
hbu@laptophbu2:> jdmtool download 6
Downloading: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 38.5M/38.5M [00:07<00:00, 5.18MB/s]
Downloaded to /home/hbu/.local/share/jdmtool/downloads/dgb000_22m1_2ff68ff3.zip
hbu@laptophbu2:
> jdmtool download 7
Downloading: 0%| | 0.00/188M [00:00<?, ?B/s]
Traceback (most recent call last):
File "/usr/bin/jdmtool", line 8, in
sys.exit(main())
File "/home/hbu/.local/lib/python3.10/site-packages/jdmtool/main.py", line 440, in main
func(**kwargs)
File "/home/hbu/.local/lib/python3.10/site-packages/jdmtool/main.py", line 142, in cmd_download
path = downloader.download(service, t.update)
File "/home/hbu/.local/lib/python3.10/site-packages/jdmtool/downloader.py", line 120, in download
expected_crc = int(service.findtext('./file_crc'), 16)
TypeError: int() can't convert non-string with explicit base
hbu@laptophbu2:~> jdmtool download 8
Downloading: 0%| | 0.00/264M [00:00<?, ?B/s]
Traceback (most recent call last):
File "/usr/bin/jdmtool", line 8, in
sys.exit(main())
File "/home/hbu/.local/lib/python3.10/site-packages/jdmtool/main.py", line 440, in main
func(**kwargs)
File "/home/hbu/.local/lib/python3.10/site-packages/jdmtool/main.py", line 142, in cmd_download
path = downloader.download(service, t.update)
File "/home/hbu/.local/lib/python3.10/site-packages/jdmtool/downloader.py", line 120, in download
expected_crc = int(service.findtext('./file_crc'), 16)
TypeError: int() can't convert non-string with explicit base

Any suggestions? Or is it a bug?

Many thanks for your help

Regards

Hans

Having problems writing to my Garmin non-Waas card

~# jdmtool download 4
Downloading database: 100%|███████████████████████████████████████████████████████████████████████████████████████████████| 1.31M/1.31M [00:18<00:00, 71.7kB/s]
Downloaded to /root/.local/share/jdmtool/downloads/dgrm78_2405_3f7deeaf.bin

~# ls -Al .local/share/jdmtool/downloads/
total 3460
-rw-r--r-- 1 root root 2228224 May 22 04:50 dgrm77_2405_5e7b065e.bin

~# jdmtool transfer 4
Found device: Bus 003 Device 006: ID 0e39:1250
Transfer /root/.local/share/jdmtool/downloads/dgrm78_2405_3f7deeaf.bin to the data card? (y/n) y
Does not look like a Garmin database file.

JDMTool error when accessing the card reader in MacOS

Hi,
I have tried jdmtool in MacOS Ventura 13.6.3 (22G436)
Python version 3.11.

App works and I can download my subscription but when I try to get information from the card reader as a previous step to writing (card reader works with original JDM application from Jeppesen) I get:

(jdmtool) ~ ➤ jdmtool detect
Found device: Bus 020 Device 016: ID 0e39:1250
Traceback (most recent call last):
  File "/Users/icordoba/anaconda3/envs/jdmtool/bin/jdmtool", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/icordoba/anaconda3/envs/jdmtool/lib/python3.11/site-packages/jdmtool/main.py", line 442, in main
    func(**kwargs)
  File "/Users/icordoba/anaconda3/envs/jdmtool/lib/python3.11/site-packages/jdmtool/main.py", line 66, in wrapper
    with handle.claimInterface(0):
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/icordoba/anaconda3/envs/jdmtool/lib/python3.11/site-packages/usb1/__init__.py", line 1146, in claimInterface
    mayRaiseUSBError(
  File "/Users/icordoba/anaconda3/envs/jdmtool/lib/python3.11/site-packages/usb1/__init__.py", line 127, in mayRaiseUSBError
    __raiseUSBError(value)
  File "/Users/icordoba/anaconda3/envs/jdmtool/lib/python3.11/site-packages/usb1/__init__.py", line 119, in raiseUSBError
    raise __STATUS_TO_EXCEPTION_DICT.get(value, __USBError)(value)
usb1.USBErrorAccess: LIBUSB_ERROR_ACCESS [-3]
(jdmtool) ~ ➤ jdmtool read-metadata
Found device: Bus 020 Device 016: ID 0e39:1250
Traceback (most recent call last):
  File "/Users/icordoba/anaconda3/envs/jdmtool/bin/jdmtool", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/icordoba/anaconda3/envs/jdmtool/lib/python3.11/site-packages/jdmtool/main.py", line 442, in main
    func(**kwargs)
  File "/Users/icordoba/anaconda3/envs/jdmtool/lib/python3.11/site-packages/jdmtool/main.py", line 66, in wrapper
    with handle.claimInterface(0):
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/icordoba/anaconda3/envs/jdmtool/lib/python3.11/site-packages/usb1/__init__.py", line 1146, in claimInterface
    mayRaiseUSBError(
  File "/Users/icordoba/anaconda3/envs/jdmtool/lib/python3.11/site-packages/usb1/__init__.py", line 127, in mayRaiseUSBError
    __raiseUSBError(value)
  File "/Users/icordoba/anaconda3/envs/jdmtool/lib/python3.11/site-packages/usb1/__init__.py", line 119, in raiseUSBError
    raise __STATUS_TO_EXCEPTION_DICT.get(value, __USBError)(value)
usb1.USBErrorAccess: LIBUSB_ERROR_ACCESS [-3]

when reusing a thumbdrive .jdm is appended not replaced

when writing an Avidyne database to a thumbdrive previously used, the previous .jdm file is not overwritten rather it is appened leaving both the previous and the current databases in the file.

both the obstacle and the navdata for the same cycle need to be in the same jdm file but previous cycles should be removed before writing.

add support for other devices - Avidyne ?

Maybe add support for other devices such as the Avidyne IFD navigator? JDM downloads 3 files
navdata.dsf - the navdata
obstacles.dsf - the obstacle database
.jdm - looks to be a simple text file except 3 numbers change whenever the files are downloaded, I suspect they are either encoded time and/or location on the thumb drive. If you copy all 3 files to another thumbdrive they download will not instal

JDM requires any thumbdrive that is FAT32

jdm file contents (some items masked for privacy) for navdata only -

{"ss":[{"a":"Avidyne IFD 400 Series, Bendix King AeroNav Series","c":"XXXXX","cd":"North America","date_label_override":"Effective Date:","dv":"2404","f":[{"fh":"eacbcd26
","fp":"navdata.dsf","fs":15412018,"sh":"33da0052"}],"fid":"","filter_applied":"no","gsi":"","jvsn":"","ndv":"2405","nvad":"2024-05-06 06:00:00","nvsd":"2024-05-16 06:00:
00","oatn":"YYYYY","pi":"DAE40253","s":"NavData","sc":"North America","u":"42029628","uv":"42029628_2404","v":"2404","ved":"2024-05-16 06:00:00","vsd":"2024-04-18 06:00:
00"}],"ver":"1.1","z":"0368217f"}

XXXXX - is the jeppesen customer number
YYYYY - is the aircraft N number

fp - filename to load
fs - file size in bytes
sh - unknown and changes for each time the (same) database is downloaded
pi - unknown but doesn't change when downloading the same database
u & uv - unknown but doesn't change when downloading the same database
z - unknown and changes for each time the (same) database is downloaded

The obstacle file entry is similar, an actual file can be provided

I suspect the numbers that change each time the same database is downloaded are either time/date encodings or location/sectors on the thumbdrive as you cannot simply use "cp" to move all the files to a new thumbdrive.

.taw files

Hi, is there a way to write .taw (Terrain / Obstacle) files?

Add support for transferring G1000 databases

I am using an official garmin SD card with

lsusb
Bus 001 Device 008: ID 05e3:0745 Genesys Logic, Inc. Logilink CR0012

Therefore I modified your device.py:

class GarminProgrammerDevice():
VID = 0x05E3
PID = 0x0745

But "jdmtool detect" returns the following errors:

Found device: Bus 001 Device 008: ID 05e3:0745
Traceback (most recent call last):
File "/home/hbu/.local/bin/jdmtool", line 8, in
sys.exit(main())
File "/home/hbu/.local/lib/python3.10/site-packages/jdmtool/main.py", line 442, in main
func(**kwargs)
File "/home/hbu/.local/lib/python3.10/site-packages/jdmtool/main.py", line 66, in wrapper
with handle.claimInterface(0):
File "/home/hbu/.local/lib/python3.10/site-packages/usb1/init.py", line 1146, in claimInterface
mayRaiseUSBError(
File "/home/hbu/.local/lib/python3.10/site-packages/usb1/init.py", line 127, in mayRaiseUSBError
__raiseUSBError(value)
File "/home/hbu/.local/lib/python3.10/site-packages/usb1/init.py", line 119, in raiseUSBError
raise __STATUS_TO_EXCEPTION_DICT.get(value, __USBError)(value)
usb1.USBErrorBusy: LIBUSB_ERROR_BUSY [-6]

Do you have any hints/suggestions?

Implement cov_check

The backend server started checking the cov_check parameter - at least, for the getserviceslist endpoint.

Fatal error while logging in

Installed following README's instructions.

Doing "jdmtool login" I got:

Traceback (most recent call last):
File "/home/armellin/.local/bin/jdmtool", line 8, in
sys.exit(main())
File "/home/armellin/.local/lib/python3.8/site-packages/jdmtool/main.py", line 478, in main
func(**kwargs)
File "/home/armellin/.local/lib/python3.8/site-packages/jdmtool/main.py", line 88, in cmd_login
downloader.login(username, password)
File "/home/armellin/.local/lib/python3.8/site-packages/jdmtool/downloader.py", line 72, in login
headers, params = self.get_common_headers_params()
File "/home/armellin/.local/lib/python3.8/site-packages/jdmtool/downloader.py", line 50, in get_common_headers_params
date_str, cov_check = cls.get_cov_check()
File "/home/armellin/.local/lib/python3.8/site-packages/jdmtool/downloader.py", line 43, in get_cov_check
now = datetime.datetime.now(datetime.UTC)
AttributeError: module 'datetime' has no attribute 'UTC'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.