<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nav.git/android-app/app/src/test/kotlin/org/terst/nav/gps, branch main</title>
<subtitle>nav — android navigation app
</subtitle>
<id>https://git.terst.org/nav.git/atom?h=main</id>
<link rel='self' href='https://git.terst.org/nav.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/'/>
<updated>2026-03-14T02:23:25+00:00</updated>
<entry>
<title>Add GpsPosition data class and NMEA RMC parser with tests</title>
<updated>2026-03-14T02:23:25+00:00</updated>
<author>
<name>Claudomator Agent</name>
<email>agent@claudomator</email>
</author>
<published>2026-03-14T02:23:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=e53fbe4e984f0f57f3ed73297adf8273bb523808'/>
<id>urn:sha1:e53fbe4e984f0f57f3ed73297adf8273bb523808</id>
<content type='text'>
- NmeaParser: parses $GPRMC (and any *RMC) sentence → GpsPosition
  - Null for void status (V), malformed input, non-RMC sentence
  - SOG/COG default to 0.0 when empty; S/W give negative lat/lon
  - Timestamp from HHMMSS + DDMMYY fields as Unix epoch millis UTC
  - No Android dependencies
- GpsPositionTest: value holding and data-class equality (2 tests)
- NmeaParserTest: 11 tests covering valid parse, void/malformed/empty,
  hemisphere signs, decimal precision
- All 22 unit tests verified GREEN via kotlinc + JUnitCore

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add GpsProvider interface and DeviceGpsProvider (FusedLocation)</title>
<updated>2026-03-14T01:47:20+00:00</updated>
<author>
<name>Claudomator Agent</name>
<email>agent@claudomator</email>
</author>
<published>2026-03-14T01:47:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=010d25c3e7e37ba109117a93e4d1c0f8802b01a9'/>
<id>urn:sha1:010d25c3e7e37ba109117a93e4d1c0f8802b01a9</id>
<content type='text'>
- GpsPosition: lat/lon/sog (knots)/cog (degrees true)/timestampMs
- GpsProvider + GpsListener interfaces for provider abstraction
- DeviceGpsProvider wraps LocationManager GPS_PROVIDER (1 Hz default)
  SOG: m/s × 1.94384 knots; fix-lost timeout 10s
- FakeGpsProvider + 9 passing JVM unit tests (no Android deps)

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
