You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Uses optimized memory copy instead of loops to read/write data from/to memory
14
14
* Thread safe when used as pipe with single write and single read entries - when CPU read/write operation for `size_t` are single instruction (ARM Cortex-M for instance)
15
15
* Interrupt safe when used as pipe with single write and single read entries - when CPU read/write operation for `size_t` are single instruction (ARM Cortex-M for instance)
16
-
* For CPU systems with smaller achitecture than `sizeof(size_t)` (AVR for instance), atomic protection is required for read-write operation of buffer writes
16
+
* For CPU systems with smaller architecture than `sizeof(size_t)` (AVR for instance), atomic protection is required for read-write operation of buffer writes
17
17
* Suitable for DMA transfers from and to memory with zero-copy overhead between buffer and application memory
18
18
* Supports data peek, skip for read and advance for write
19
19
* Implements support for event notifications
20
20
* User friendly MIT license
21
21
22
22
## Contribute
23
23
24
-
Fresh contributions are always welcome. Simple instructions to proceed::
24
+
Fresh contributions are always welcome. Simple instructions to proceed:
25
25
26
26
1. Fork Github repository
27
27
2. Follow [C style & coding rules](https://github.com/MaJerle/c-code-style) already used in the project
@@ -30,4 +30,4 @@ Fresh contributions are always welcome. Simple instructions to proceed::
Copy file name to clipboardExpand all lines: docs/get-started/index.rst
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,7 +58,17 @@ Add library to project
58
58
^^^^^^^^^^^^^^^^^^^^^^
59
59
60
60
At this point it is assumed that you have successfully download library, either cloned it or from releases page.
61
-
Next step is to add the library to the project, by means of source files to compiler inputs and header files in search path
61
+
Next step is to add the library to the project, by means of source files to compiler inputs and header files in search path.
62
+
63
+
*CMake* is the main supported build system. Package comes with the ``CMakeLists.txt`` and ``library.cmake`` files, both located in the ``lwrb`` directory:
64
+
65
+
* ``CMakeLists.txt``: Is a wrapper and only includes ``library.cmake`` file. It is used if target application uses ``add_subdirectory`` and then uses ``target_link_libraries`` to include the library in the project
66
+
* ``library.cmake``: It is a fully configured set of variables. User must use ``include(path/to/library.cmake)`` to include the library and must manually add files/includes to the final target
67
+
68
+
.. tip::
69
+
Open ``library.cmake`` file and manually analyze all the possible variables you can set for full functionality.
70
+
71
+
If you do not use the *CMake*, you can do the following:
62
72
63
73
* Copy ``lwrb`` folder to your project, it contains library files
64
74
* Add ``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`` flag
0 commit comments