No description
Find a file
Adriano Caloiaro 1c8ab19426
feat: log GPS fixes every poll, geocode only on significant movement
Remove the in-memory cache from geocode/nominatim.go (cacheTTL, cacheMu,
cachedLoc, cacheExpiry) so CityCenter always makes a live request when called.
Call frequency is now controlled by the caller rather than a time-based TTL.

In the poll goroutine, log the raw GPS coordinates on every cycle. Track the
last geocoded position and only call CityCenter on the first fix or when the
device has moved more than 5 miles (haversine). WebDAV snapshots are written
every poll cycle using the cached city centroid with fresh weather data.
2026-04-25 11:19:06 -06:00
geocode feat: log GPS fixes every poll, geocode only on significant movement 2026-04-25 11:19:06 -06:00
gpsd feat: use local gps module instead of starlink for location 2026-04-25 10:58:36 -06:00
service feat(weather): log temperature and station type on data report push 2026-04-11 12:42:24 -06:00
weather fix(weather): apply Beer-Lambert extinction to clear-sky model 2026-04-12 07:39:31 -06:00
webdav feat: append location snapshots to WebDAV JSON log on each poll 2026-04-10 08:45:50 -06:00
.ignore feat(weather): add dawn and dusk conditions based on solar sensor 2026-04-11 12:28:38 -06:00
go.mod feat: use local gps module instead of starlink for location 2026-04-25 10:58:36 -06:00
go.sum feat: use local gps module instead of starlink for location 2026-04-25 10:58:36 -06:00
main.go feat: log GPS fixes every poll, geocode only on significant movement 2026-04-25 11:19:06 -06:00
README.md Update README.md 2021-07-27 08:01:59 -07:00

roam-location

The purpose of this repo is to make my current location available on adriano.fyi. The coordinates from the two services here are used populate the map at https://adriano.fyi/whereami

About

I can't imagine this is useful to many others. This repo consits of a receiver of GPS data and a web service that makes the data avaialble.

Receiver

The receiver receives UDP packets containing NMEA sentences from my Sierra Wireless RV55 router. The sentences are parsed and appended to a log file.

Location Service

The location service simply finds the last location appended to the log file and makes it available as a JSON object over HTTP.

Running

ROAM_LOCATION_DB_PATH=/path/to/nmea_logs.log go run main.go