Library is primarly hosted on Github.
Download latest release from releases area on Github
Clone develop branch for latest development
Clone from Github¶
Download and install
gitif not already
Open console and navigate to path in the system to clone repository to. Use command
Clone repository with one of available
git clone --recurse-submodules https://github.com/MaJerle/lwgsmcommand to clone entire repository, including submodules
git clone --recurse-submodules --branch develop https://github.com/MaJerle/lwgsmto clone development branch, including submodules
git clone --recurse-submodules --branch master https://github.com/MaJerle/lwgsmto clone latest stable branch, including submodules
examplesdirectory and run favourite example
Update cloned to latest version¶
Open console and navigate to path in the system where your resources repository is. Use command
git pull origin master --recurse-submodulescommand to pull latest changes and to fetch latest changes from submodules
git submodule foreach git pull origin masterto update & merge all submodules
This is preferred option to use when you want to evaluate library and run prepared examples. Repository consists of multiple submodules which can be automatically downloaded when cloning and pulling changes from root repository.
Add library to project¶
At this point it is assumed that you have successfully download library, either cloned it or from releases page.
lwgsmfolder to your project
lwgsm/src/includefolder to include path of your toolchain
Add port architecture
lwgsm/src/include/system/port/_arch_folder to include path of your toolchain
Add source files from
lwgsm/src/folder to toolchain build
Add source files from
lwgsm/src/system/folder to toolchain build for arch port
lwgsm/src/include/lwgsm/lwgsm_opts_template.hto project folder and rename it to
Build the project
Library comes with template config file, which can be modified according to needs.
This file shall be named
lwgsm_opts.h and its default template looks like the one below.
Default configuration template file location:
File must be renamed to
lwgsm_opts.h first and then copied to the project directory (or simply renamed in-place) where compiler
include paths have access to it by using
Check Configuration section for possible configuration settings
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
/** * \file lwgsm_opts_template.h * \brief Template config file */ /* * Copyright (c) 2020 Tilen MAJERLE * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without restriction, * including without limitation the rights to use, copy, modify, merge, * publish, distribute, sublicense, and/or sell copies of the Software, * and to permit persons to whom the Software is furnished to do so, * subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * This file is part of LwGSM - Lightweight GSM-AT library. * * Author: Tilen MAJERLE <firstname.lastname@example.org> * Version: v0.1.0 */ #ifndef LWGSM_HDR_OPTS_H #define LWGSM_HDR_OPTS_H /* Rename this file to "lwgsm_opts.h" for your application */ /* * Open "include/lwgsm/lwgsm_opt.h" and * copy & replace here settings you want to change values */ #endif /* LWGSM_HDR_OPTS_H */