Architecture of the library consists of
User layer is the highest layer of the final application. This is the part where API functions are called to execute some command.
Middleware part is actively developed and shall not be modified by customer by any means. If there is a necessity to do it, often it means that developer of the application uses it wrongly. This part is platform independent and does not use any specific compiler features for proper operation.
There is no compiler specific features implemented in this layer.
System & low-level layer
Application needs to fully implement this part and resolve it with care. Functions are related to actual implementation with GSM device and are highly architecture oriented. Some examples for WIN32 and ARM Cortex-M are included with library.
Check Porting guide for detailed instructions and examples.
System functions are bridge between operating system running on embedded system and LwGSM middleware. Functions need to provide:
Binary semaphore management
Recursive mutex management
Message queue management
Current time status information
System function prototypes are available in System functions section.
Low-Level, or LWGSM_LL, is part, dedicated for communication between LwGSM middleware and GSM physical device. Application needs to implement output function to send necessary AT command instruction aswell as implement input module to send received data from GSM device to LwGSM middleware.
Application must also assure memory assignment for Memory manager when default allocation is used.
Low level, input module & memory function prototypes are available in Low-Level functions, Input module and Memory manager respectfully.