In the past few weeks, I was working on 3 new generic libraries, specially intended for embedded systems.
Libraries are:
- ESP8266 AT parser version 2
- GSM AT parser for SIMcom modules (SIM800, SIM900, etc)
- GPS NMEA parser for parsing NMEA statements from GPS output
Each library is written in a way where user must prepare additional coding to support arhitecture where it is used. They are written in ANSII C and will work on any compiler which is in ANSII C89 standard. Below is a brief description of each library.
Each library has its own documentation page and Github repository with examples. Please take a look at reading below and check if it fits your needs.
You are welcome to report a bug, suggest a feature or ask other question. Please use official repositories for this purpose.
ESP8266 AT parser
After first version in January 2016, I decided to rewrite entire library to be more user friendy for future upgrades and to allow easier parsing without unexpected problems as that was in first version. It features less RAM usability than first library version. Other specs are:
- Supports official AT commands software from Espressif Systems
- Supports different platforms (written in ANSI C)
- Supports RAM limited embedded systems
- Event based system with callback functions. Almost none blocking functions except one which are needed
- Supports multiple connections at the same time (TCP, UPD, SSL)
- Supports client and/or server mode
- Supports station and softAP mode
- Supports ping to other server
- Free to use
- Documentation, reposiroty and download
GSM AT parser
GSM AT parser is a new and fresh library, build with the exactly same principle as ESP8266 AT parser. It works with SIMcom GSM modules because of their powerful features in simple low-cost modules.
- Supports official AT commands from SIMcom modules
- Supports RAM limited embedded systems
- Supports CALL, SMS, GPRS, TCP/UDP CLIENT, HTTP, PHONEBOOK and others parts, which are all supported directly using AT commands
- Supports different platforms (written in ANSI C)
- Supports RAM limited embedded systems
- RTOS first written with support for blocking or non-blocking (non RTOS) API function calls
- Free to use
- Documentation, repository and download
GPS NMEA parser
GPS NMEA parser will process standard NMEA 0183 output format from GPS devices. It features basic 4 statement parsing as well as user defined custom statements when required for other application usage.
Library is totally independent of platform, can be used on PC easily. It consist of one input function, processing function and output data structure. There is no communication dependance
- Platform independent, easy to port
- Written in ANSI C89
- Parser has built-in support for 4 GPS statements
- GPGGA: GPS fix data
- GPGSA: GPS active satellites and dillusion of position
- GPGSV: List of satellites in view zone
- GPRMC: Recommended minimum specific GPS/Transit data
- Support for custom GPS statements for user specific applications
- Low-level layer is separated from application layer, thus allows you to add custom communication with GPS device
- Free of charge
- Documentation, repository and download