-
Notifications
You must be signed in to change notification settings - Fork 164
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CMake for Linux #176
CMake for Linux #176
Conversation
Is this ready to go? The only thing I see missing is instructions on how to build using cmake in the RF24 docs. |
@see Also, [Linux Installation](http://nRF24.github.io/RF24/md_docs_linux_install.html) and [General Linux/RPi configuration and setup](http://nRF24.github.io/RF24/md_docs_rpi_general.html) documentation | ||
@see | ||
[RF24 Library docs](http://nRF24.github.io/RF24/) for general RF24 configuration and setup. | ||
- [Linux Installation](http://nRF24.github.io/RF24/md_docs_linux_install.html) and [General Linux/RPi configuration and setup](http://nRF24.github.io/RF24/md_docs_rpi_general.html) documentation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These links will lead users to the build system they prefer. RF24/md_docs_linux_install.html has an advisory at the top of the page now. Its not explicit in this lib's docs, but then again, it never really was.
yeah its ready to go unless you have some requests |
From your notes
I believe the max should be 4 since there are 5 multicast levels |
You seem to be on a cleaning-streak. If you want to continue with the other Cmake-Linux PRs, then they have to merged to master in the OSI layer's order. Meaning, merge this and I'll mark RF24Mesh PR "ready for review". |
The usage of CMake for this library follows suite with the same implementation in the RF24 repo (except the
RF24_DRIVER
option). Any user-adjustable defines in RF24Network_config.h can be changed from CMake CLI options.New build-linux workflow that
A new badge in README now reports the latest status of the Linux build CI workflow
RF24_LINUX
is defined and forced (viaDOXYGEN_FORCED
- only defined when doxygen is run) Arduino-only members to be rendered as well ass linux-only members. Technically, the docs were already written for this, but the#ifdef
statements confused doxygen (thus doxygen output incorrect CLI warnings).write()
that used an existing macro defined value instead of passing the value using the macro defined name.write()
'sdirectTo
parameter tosendType
for clarity.printf_P
,PSTR
, andPRIPSTR
are used inside theIF_SERIAL_DEBUG*()
calls. This change should also fix printing the return c-string fromRF24NetworkHeader::toString()
(by usingPRIPSTR
) for some debugging outputs on various platforms.maxlen
parameter toread()
andpeek(header)
are now optional by using theMAX_PAYLOAD_SIZE
as a default value. The mentioned functions will only handle the maximum message length if not specified or a value greater than the message's length is passed. This change is also reflected in the python wrapper.level
parameter to themulticast()
function is now optional. Additionally, if a value greater than 4 is passed to thelevel
parameter, then the node's currently configured multicast_level (private member) is used as a default. This change is also reflected in the python wrapper.logicalToPhysicalAddress()
(private member) where a function was unnecessarily called twice, but no longer.begin(node_address)
; the old/deprecatedbegin(channel, node_address)
is still present.multicast_level
multicast()
multicastRelay
routeTimeout
parent
networkFlags
is_address_valid()
FLAG_BYPASS_HOLDS
&FLAG_HOLD_INCOMING
as they are not used in any RF24* lib (actually relics from early development).begin(channel, address)
function. Instead they useRF24::setChannel()
&RF24Network::begin(addr)