# Location Plotter Bu `main` dali, isletim sistemi surumlerini birbirinden bagimsiz uygulama agaclari olarak tutar: ```text location_plotter/ ├── linux/ # origin/tdk_ekf tabanli Linux surumu │ ├── src/ │ ├── tests/ │ ├── resources/ │ ├── CMakeLists.txt │ ├── run.sh │ └── setup-ubuntu.sh ├── macos/ # origin/macos tabanli macOS surumu │ ├── src/ │ ├── tests/ │ ├── resources/ │ ├── CMakeLists.txt │ ├── run.sh │ └── setup-macos.sh └── .github/workflows/ # iki surumun CI tanimlari ``` Windows surumu geldiginde ayni seviyede `windows/` klasoru acilmalidir. Bu commit Windows kodu veya bos bir Windows iskeleti eklemez. ## Surumler arasindaki farklar Linux ve macOS kodlari bilincli olarak ayri tutulur. Ortak duzeltmeler iki klasore de ayri commitlerle uygulanmalidir; bir klasordeki degisiklik digerini otomatik olarak etkilemez. - `linux/`, `tdk_ekf` dalindaki Linux uygulamasidir. - `macos/`, macOS'a ozel menuler, kalici pencere/seri-port ayarlari, otomatik USB UART yenileme, gelismis harita cizimi ve Blue Marble dunya dokusunu iceren daha genis GUI varyantidir. - Seri port adlari farklidir: Linux `/dev/ttyUSB*` ve `/dev/ttyACM*`, macOS `/dev/cu.usb*` ve `/dev/tty.usb*` yollarini kullanir. - macOS ozel baud-rate ayari `IOSSIOSPEED` ile yapilir. Linux standart `termios` baud sabitlerini kullanir. - macOS uygulamasi `.app` bundle olarak paketlenir; Linux normal executable uretir ve seri port izni icin `dialout` grubunu kullanir. - macOS varyantinda ek `map_widget_tests` testi ve yerel Blue Marble kaynagi vardir; Linux varyanti daha kucuk kaynak/test setini korur. Bu ayrim, iki surumun bagimsiz gelistirilmesini kolaylastirir; karsiliginda parser, RINEX veya replay gibi ortak bir hata duzeltmesi iki klasorde de uygulanip iki test paketiyle dogrulanmalidir. ## Calistirma Linux: ```bash cd linux ./setup-ubuntu.sh ./run.sh ``` macOS: ```bash cd macos ./setup-macos.sh ./run.sh ``` Ayrintili kullanim ve telemetri formati ilgili klasorun `README.md` dosyasinda yer alir.