Garmin/readme.md

48 lines
No EOL
1.7 KiB
Markdown

# Garmin HUD support
## Purpose of this project
Garmin created fantastic Head-up Display, but they had it discontinued in 2015[^1].
Fortunately, whole protocol had been reverse engineered[^2]. This allowed community to create their own works.
## Works
Project started in Aug'23 as simple solution to connect GMaps with Garmin.
PoC was created with python (can be viewed [here](./python)) as it is the quickest known way to test protocol and create objects.
With the help of [Garminuino](https://github.com/skyforcetw/Garminuino) and [GMapsParser](https://github.com/3v1n0/GMapsParser) first version of application was created, which wasn't working at all.
Two weeks later I switched to Mapbox as completely standalone solution. Despite some bugs and huge battery drainage some may say that it works.
### Stack
- Kotlin 1.9
- Mapbox SDK 11.5.1
- Navigation SDK 3.2.0
- Search SDK 2.4.0
### Future works
All the plans cannot be simply specified as they depend on many factors.
Main conception is not firmly grunted so it can depend on final decisions:
1. Standalone application
- optimisation
- bug fixes
- camera behaviour
- search prompt graphics
- reconnect button style
- garmin connection fixes - socket behaviour on reconnect
- maneuver processing (on long distances it refreshes every 10+ km)
- Android Auto integration
- POIs
- speed cameras database
- traffic data
2. Proxy (one to choose from)
- Google Maps (probably)
- Yanosik
- Waze
[^1]: Source: https://support.garmin.com/pl-PL/?faq=gJy4U1QaPL2gBs3AqQ7Lm5
[^2]: As widely described on sites like Hackday. Most repeated repo link is https://github.com/gabonator/Work-in-progress/tree/master/GarminHud