Get 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 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
Run
git clone --recurse-submodules https://github.com/MaJerle/ringbuff
command to clone repository including submodules orRun
git clone --recurse-submodules --branch develop https://github.com/MaJerle/ringbuff
to clone development branchNavigate 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
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
/* 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" */