To continue my GSM-GPS Tracker project, here is an overview of the system and the components it comprises:
The firmware components can be divided into peripheral drivers and core functionality.
The project is hosted on Github and all the driver code along with linker script, startup code, CMSIS files and Makefile has been moved into a Git submodule (the root of all evil, I know, but in this case it actually made sense) so I can reuse that in my other LPC projects. The submodule is also on Github.
- ADC for battery voltage monitoring
- EEPROM for storing/reading settings (already working)
- UART for GSM module communications (already working)
- Soft UART for GPS module comms since the LPC11U24 only has one hardware UART (already working)
- USB CDC for local programming and debugging (already working)
- Command parser for commands received by SMS or USB CDC
- NMEA parser to extract coordinates and timestamps from GPS module output
- SMS receive/reply GSM module interfacing
- Position logging storing current and the X last known positions with timestamps