Commit Graph
27 Commits
Author SHA1 Message Date
ladyadaandLimor Fried a0921cadee Bump version to 1.8.0
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 13:44:15 -04:00
ladyadaandLimor Fried 9ee8f63f26 Use explicit byte copies for NMEA string fields
Replace length-derived strncpy calls with memcpy and explicit termination. Ensure parseStr also terminates fields that end without a delimiter, and extend the bounds regression to cover truncation, empty fields, and one-byte destinations.

Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 13:06:12 -04:00
ladyadaandLimor Fried 67b781c292 Accept additional marine NMEA source identifiers
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 13:04:45 -04:00
ladyadaandLimor Fried 9e037659d7 Use Adafruit SdFat for GPS shield logging
Create up to 10,000 distinct long filenames with exclusive creation, drain startup GPS command replies before writing, and update CI and installation guidance for the Adafruit fork.

Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 12:54:24 -04:00
19204c4d43 Make SD an optional GPS logger dependency
Integrate the dependency removal proposed in #161, install SD explicitly for CI, and document its installation for shield_sdlog.

Co-authored-by: Henricus Basien <Henricus@Basien.de>
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 12:27:09 -04:00
ladyadaandLimor Fried 6ad57c1f70 Document GPS setup and all examples
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 12:04:58 -04:00
ladyadaandLimor Fried 1d07bab68a Support antenna status on newer CDTop GPS modules
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 11:56:03 -04:00
ladyadaandLimor Fried 716d21a748 Bound GPS response waits and allow wakeup retries
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 11:29:59 -04:00
ladyadaandLimor Fried 38ad3ffcac Keep flash table declarations compatible with Doxygen
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 11:13:37 -04:00
ladyadaandLimor Fried 8d660243a0 Store GPS source and sentence tables in flash
Use shared PROGMEM tables with flash-aware lookup and copying. Preserve the source IDs, sentence IDs and matching order while saving 110 bytes of RAM in the Uno SD logger.

Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 10:55:34 -04:00
ladyadaandLimor Fried f4bc37093d Release SD logger setup stack before logging
Prevent setup from being inlined into main so SD initialization temporaries are released before loop runs. Uno disassembly confirms main no longer retains a 129-byte local frame and two saved registers.

Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 10:47:52 -04:00
ladyadaandLimor Fried c8a9190793 Allow GPS commands to be stored in flash
Add an F()-compatible sendCommand overload and keep the SD logger command strings in flash. This saves 82 bytes of RAM on Uno.

Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 10:45:00 -04:00
ladyadaandLimor Fried 5d7d904a7f Remove unused GPS SPI buffer
Remove the unreferenced 100-byte private buffer. The Uno SD logger now uses 1865 bytes of static RAM, down from 1965 bytes. All 20 examples compile.

Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 10:38:09 -04:00
ladyadaandLimor Fried 7c76916d9f Limit the Uno RAM change to flash-stored Serial messages
Keep only the eight F() wrappers in shield_sdlog so RAM improvements can be reviewed one at a time. Defer the other memory changes. This step saves 90 bytes on Uno, leaving 83 bytes; compilation passes but runtime SD logging still needs more RAM.

Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 10:17:23 -04:00
ladyadaandLimor Fried 957153e23c Reduce GPS logger RAM usage on Uno
Keep lookup tables, sentence IDs, logger messages and commands in flash; remove the unused SPI buffer. Keep setup separate so SD initialization does not retain its stack frame during logging.

Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 10:05:03 -04:00
ladyadaandLimor Fried 06f8376021 Merge current GPS fixes before checking Uno memory
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-15 09:56:03 -04:00
ladyadaandLimor Fried 21384bf554 Match CI formatting for the GPS I2C read call
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-14 20:42:46 -04:00
ladyadaandLimor Fried 47962143f8 Clarify when RMB waypoint data is saved
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-14 20:31:56 -04:00
ladyadaandLimor Fried 3b53ad02f4 Document the zero-field parsing guard
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-14 20:26:58 -04:00
ladyadaandLimor Fried a09ebd7b86 Accept GLONASS and Galileo NMEA source IDs
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-14 18:20:56 -04:00
ladyadaandLimor Fried c04d2595fc Use the configured I2C address when reading GPS data
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-14 17:58:34 -04:00
ladyadaandLimor Fried 235a733d01 Preserve waypoint data when RMB parsing fails
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-14 17:56:57 -04:00
ladyadaandLimor Fried 3b4e2c7ed8 Reject truncated NMEA sentences before parsing fields
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-14 17:34:57 -04:00
ladyadaandLimor Fried 879236ea04 Validate NMEA checksum digits and line ending
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-14 17:29:24 -04:00
ladyadaandLimor Fried 8da699e8d6 Check for NULL before reading an NMEA field
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-14 17:23:25 -04:00
ladyadaandLimor Fried 422d67684a Simplify parser regression to two literal sentences
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-14 17:14:17 -04:00
ladyadaandLimor Fried f6932ee178 Fix bounded termination of checksum-delimited NMEA text
Co-authored-by: Limor Fried <ladyada@users.noreply.github.com>
2026-09-14 16:36:41 -04:00