Getting started
Getting started may be the most challenging part of every new library. This guide is describing how to start with the library quickly and effectively
Download library
Library is primarly hosted on Github.
You can get it by:
Downloading latest release from releases area on Github
Cloning
main
branch for latest stable versionCloning
develop
branch for latest development
Download from releases
All releases are available on Github releases area.
Clone from Github
First-time clone
This is used when you do not have yet local copy on your machine.
Make sure
git
is installed.Open console and navigate to path in the system to clone repository to. Use command
cd your_path
Clone repository with one of available options below
Run
git clone --recurse-submodules https://github.com/MaJerle/lwrb
command to clone entire repository, including submodulesRun
git clone --recurse-submodules --branch develop https://github.com/MaJerle/lwrb
to clone development branch, including submodulesRun
git clone --recurse-submodules --branch main https://github.com/MaJerle/lwrb
to clone latest stable branch, including submodules
Navigate to
examples
directory and run favourite example
Update cloned to latest version
Open console and navigate to path in the system where your repository is located. Use command
cd your_path
Run
git pull origin main
command to get latest changes onmain
branchRun
git pull origin develop
command to get latest changes ondevelop
branchRun
git submodule update --init --remote
to update submodules to latest version
Note
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. Next step is to add the library to the project, by means of source files to compiler inputs and header files in search path.
CMake is the main supported build system. Package comes with the CMakeLists.txt
and library.cmake
files, both located in the lwrb
directory:
CMakeLists.txt
: Is a wrapper and only includeslibrary.cmake
file. It is used if target application usesadd_subdirectory
and then usestarget_link_libraries
to include the library in the projectlibrary.cmake
: It is a fully configured set of variables. User must useinclude(path/to/library.cmake)
to include the library and must manually add files/includes to the final target
Tip
Open library.cmake
file and manually analyze all the possible variables you can set for full functionality.
If you do not use the CMake, you can do the following:
Copy
lwrb
folder to your project, it contains library filesAdd
lwrb/src/include
folder to include path of your toolchain. This is where C/C++ compiler can find the files during compilation process. Usually using-I
flagAdd source files from
lwrb/src/
folder to toolchain build. These files are built by C/C++ compiler. CMake configuration comes with the library, allows users to include library in the project as subdirectory and library.yBuild the project
Minimal example code
To verify proper library setup, minimal example has been prepared. Run it in your main application file to verify its proper execution
1#include "lwrb/lwrb.h"
2
3/* Declare rb instance & raw data */
4lwrb_t buff;
5uint8_t buff_data[8];
6
7/* Application variables */
8uint8_t data[2]; /* Application working data */
9
10/* Application code ... */
11lwrb_init(&buff, buff_data, sizeof(buff_data)); /* Initialize buffer */
12
13/* Write 4 bytes of data */
14lwrb_write(&buff, "0123", 4);
15
16/* Print number of bytes in buffer */
17printf("Bytes in buffer: %d\r\n", (int)lwrb_get_full(&buff));
18
19/* Will print "4" */