# gsm-at-lib
**Repository Path**: andrewgithub/gsm-at-lib
## Basic Information
- **Project Name**: gsm-at-lib
- **Description**: Library for SIMCOM GSM modules to communicate with AT commands and RTOS from host device
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: develop
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2020-10-08
- **Last Updated**: 2024-08-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# GSM AT commands parser for RTOS systems
GSM-AT Library commands parser is a generic, platform independent, library for communicating with SIMCOM based modules SIM800/SIM900 or SIM70xx. Module is written in C99 and is independent from used platform. Its main targets are embedded system devices like ARM Cortex-M, AVR, PIC and others, but can easily work under `Windows`, `Linux` or `MAC` environments.
## Features
* Supports ``SIM800/SIM900 (2G)`` and ``SIM7000/SIM7020 (NB-Iot LTE)`` modules
* Platform independent and very easy to port
* Development of library under Win32 platform
* Provided examples for ARM Cortex-M or Win32 platforms
* Written in C language (C99)
* Allows different configurations to optimize user requirements
* Supports implementation with operating systems with advanced inter-thread communications
* Currently only OS mode is supported
* 2 different threads handling user data and received data
* First (producer) thread (collects user commands from user threads and starts the command processing)
* Second (process) thread reads the data from GSM device and does the job accordingly
* Allows sequential API for connections in client and server mode
* Includes several applications built on top of library:
* MQTT client for MQTT connection
* User friendly MIT license
## Contribute
Fresh contributions are always welcome. Simple instructions to proceed::
1. Fork Github repository
2. Respect [C style & coding rules](https://github.com/MaJerle/c-code-style) used by the library
3. Create a pull request to develop branch with new features or bug fixes
Alternatively you may:
1. Report a bug
2. Ask for a feature request