-- SCRIPTS\TELEMETRY local mid = LCD_W / 2 local map = {[0] = "2", "3", "4", "5", "6", "7", "8", "9", "C", "F", "G", "H", "J", "M", "P", "Q", "R", "V", "W", "X"} local my_gpsId local latitude, longitude = 0.0, 0.0 local lat = 0 local lon = 0 local encode = "" local function init_func() my_gpsId = getFieldInfo("GPS") and getFieldInfo("GPS").id or nil; end local function bg_func() if getValue(my_gpsId) ~= 0 then local gps = getValue(my_gpsId) latitude, longitude = gps.lat, gps.lon end end -- Funkcja kodująca współrzędne lat i lon do formatu Base36 local function encodeLatLon(lat, lon) -- Usuwanie przecinków (przesuwamy 4 miejsca po przecinku) local latInt = math.floor(lat * 10000) local lonInt = math.floor(lon * 10000) -- Konwersja do Base36 local latBase36 = string.format("%x", latInt) local lonBase36 = string.format("%x", lonInt) -- Łączenie współrzędnych return latBase36 .. "-" .. lonBase36 end local function run_func() lat = latitude lon = longitude encode = encodeLatLon(lat, lon) lcd.clear() lcd.drawText(mid - 53, 5, "GPS coordinates are") lcd.drawText(mid - 44, 15, latitude.. ", " .. longitude) lcd.drawText(39, 35, "GPS code:") lcd.drawText(34, 45, encode) return 0 end return {run=run_func, init=init_func, background=bg_func}