Getting started¶
Download library¶
Library is primarly hosted on Github.
Download latest release from releases area on Github
Clone develop branch for latest development
Download from releases¶
All releases are available on Github releases area.
Clone from Github¶
First-time clone¶
Download and install
git
if not alreadyOpen console and navigate to path in the system to clone repository to. Use command
cd your_path
Clone repository with one of available
3
optionsRun
git clone --recurse-submodules https://github.com/MaJerle/ringbuff
command to clone entire repository, including submodulesRun
git clone --recurse-submodules --branch develop https://github.com/MaJerle/ringbuff
to clone development branch, including submodulesRun
git clone --recurse-submodules --branch master https://github.com/MaJerle/ringbuff
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 resources repository is. Use command
cd your_path
Run
git pull origin master --recurse-submodules
command to pull latest changes and to fetch latest changes from submodulesRun
git submodule foreach git pull origin master
to update & merge all submodules
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.
Copy
ringbuff
folder to your projectAdd
ringbuff/src/include
folder to include path of your toolchainAdd source files from
ringbuff/src/
folder to toolchain buildBuild the project
Minimal example code¶
Run below example to test and verify library
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include "ringbuff/ringbuff.h"
/* Buffer variables */
ringbuff_t buff; /* Declare ring buffer structure */
uint8_t buff_data[8]; /* Declare raw buffer data array */
/* Application variables
uint8_t data[2]; /* Application working data */
/* Application code ... */
ringbuff_init(&buff, buff_data, sizeof(buff_data)); /* Initialize buffer */
/* Write 4 bytes of data */
ringbuff_write(&buff, "0123", 4);
/* Print number of bytes in buffer */
printf("Bytes in buffer: %d\r\n", (int)ringbuff_get_full(&buff));
/* Will print "4" */
|