summaryrefslogtreecommitdiff
path: root/.pio/libdeps/esp32-s3-n16r8/RF24/docs
diff options
context:
space:
mode:
authorkrolyxon <me@krolyxon.com>2026-06-08 23:12:15 +0530
committerkrolyxon <me@krolyxon.com>2026-06-08 23:12:15 +0530
commit8a4d103196312b8a18afc0a2ba0fc13ff1a0b180 (patch)
treea92424ac65fbdb93702ea8c44a5c52c9fd66e28c /.pio/libdeps/esp32-s3-n16r8/RF24/docs
parent1d557527be495c59bbc07f194d903b1cec1780d3 (diff)
remove .pio
Diffstat (limited to '.pio/libdeps/esp32-s3-n16r8/RF24/docs')
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/Doxyfile393
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/README.md23
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/arduino.md288
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/attiny.md81
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/atxmega.md57
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/cross_compile.md63
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/doxygen-custom.css166
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/images/Logo large.pngbin94683 -> 0 bytes
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/images/favicon.icobin4286 -> 0 bytes
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/linux_install.md152
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/main_page.md90
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/migration.md287
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/mraa.md42
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/pico_sdk.md234
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/portability.md40
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/python_wrapper.md138
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/rpi_general.md120
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/RF24/docs/using_cmake.md249
18 files changed, 0 insertions, 2423 deletions
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/Doxyfile b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/Doxyfile
deleted file mode 100644
index ec19193..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/Doxyfile
+++ /dev/null
@@ -1,393 +0,0 @@
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project.
-#
-# All text after a double hash (##) is considered a comment and is placed in
-# front of the TAG it is preceding.
-#
-# All text after a single hash (#) is considered a comment and will be ignored.
-# The format is:
-# TAG = value [value, ...]
-# For lists, items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (\" \").
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-PROJECT_ICON = images/favicon.ico
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
-# double-quotes, unless you are using Doxywizard) that should identify the
-# project for which the documentation is generated. This name is used in the
-# title of most generated pages and in a few other places.
-# The default value is: My Project.
-
-PROJECT_NAME = "Optimized high speed nRF24L01+ driver class documentation"
-
-# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer a
-# quick idea about the purpose of the project. Keep the description short.
-
-PROJECT_BRIEF = "TMRh20 2020 - Optimized fork of the nRF24L01+ driver"
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
-# into which the generated documentation will be written. If a relative path is
-# entered, it will be relative to the location where doxygen was started. If
-# left blank the current directory will be used.
-
-OUTPUT_DIRECTORY = ./
-
-# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
-# Stripping is only done if one of the specified strings matches the left-hand part
-# of the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the path to strip.
-# Note that you can specify absolute paths here, but also relative paths, which will
-# be relative from the directory where doxygen is started.
-#
-# This tag requires that the tag FULL_PATH_NAMES is set to YES.
-STRIP_FROM_PATH = ../
-
-# Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given
-# extension. Doxygen has a built-in mapping, but you can override or extend it
-# using this tag. The format is ext=language, where ext is a file extension, and
-# language is one of the parsers supported by doxygen: IDL, Java, JavaScript,
-# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, VHDL,
-# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
-# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
-# tries to guess whether the code is fixed or free formatted code, this is the
-# default for Fortran type files). For instance to make doxygen treat .inc files
-# as Fortran files (default is PHP), and .f files as C (default is Fortran),
-# use: inc=Fortran f=C.
-#
-# Note: For files without extension you can use no_extension as a placeholder.
-#
-# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
-# the files are not read by doxygen.
-
-EXTENSION_MAPPING = ino=c \
- pde=c
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
-# documentation are documented, even if no documentation was available. Private
-# class members and static file members will be hidden unless the
-# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
-# Note: This will also disable the warnings about undocumented members that are
-# normally produced when WARNINGS is set to YES.
-# The default value is: NO.
-
-EXTRACT_ALL = YES
-
-# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
-# included in the documentation.
-# The default value is: NO.
-
-EXTRACT_STATIC = YES
-
-# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
-# names in lower-case letters. If set to YES, upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# (including Cygwin) ands Mac users are advised to set this option to NO.
-# The default value is: system dependent.
-
-CASE_SENSE_NAMES = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
-# (detailed) documentation of file and class members alphabetically by member
-# name. If set to NO, the members will appear in declaration order.
-# The default value is: YES.
-
-SORT_MEMBER_DOCS = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
-# fully-qualified names, including namespaces. If set to NO, the class list will
-# be sorted only by class name, not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the alphabetical
-# list.
-# The default value is: NO.
-
-SORT_BY_SCOPE_NAME = YES
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
-# list. This list is created by putting \todo commands in the documentation.
-# The default value is: YES.
-
-GENERATE_TODOLIST = NO
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
-# will remove the Files entry from the Quick Index and from the Folder Tree View
-# (if specified).
-# The default value is: YES.
-
-SHOW_FILES = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
-# page. This will remove the Namespaces entry from the Quick Index and from the
-# Folder Tree View (if specified).
-# The default value is: YES.
-
-SHOW_NAMESPACES = NO
-
-# Don't display the ugly/complicated "tree view" side menu.
-# And, restore the top (simpler) navigation bar.
-# As of doxygen v1.13.0, these default values changed from NO to YES
-GENERATE_TREEVIEW = NO
-DISABLE_INDEX = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
-# a warning is encountered.
-# The default value is: NO.
-
-WARN_AS_ERROR = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag is used to specify the files and/or directories that contain
-# documented source files. You may enter file names like myfile.cpp or
-# directories like /usr/src/myproject. Separate the files or directories with
-# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
-# Note: If this tag is empty the current directory is searched.
-
-INPUT = ../ \
- ../utility/Template \
- ./
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
-# *.h) to filter out the source-files in the directories.
-#
-# Note that for custom extensions or not directly supported extensions you also
-# need to set EXTENSION_MAPPING for the extension otherwise the files are not
-# read by doxygen.
-#
-# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
-# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
-# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
-# *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment),
-# *.doc (to be provided as doxygen C comment), *.txt (to be provided as doxygen
-# C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd,
-# *.vhdl, *.ucf, *.qsf and *.ice.
-
-FILE_PATTERNS = *.c \
- *.cc \
- *.cxx \
- *.cpp \
- *.c++ \
- *.java \
- *.ii \
- *.ixx \
- *.ipp \
- *.i++ \
- *.inl \
- *.idl \
- *.ddl \
- *.odl \
- *.h \
- *.hh \
- *.hxx \
- *.hpp \
- *.h++ \
- *.cs \
- *.d \
- *.php \
- *.php4 \
- *.php5 \
- *.phtml \
- *.inc \
- *.m \
- *.markdown \
- *.md \
- *.mm \
- *.dox \
- *.py \
- *.f90 \
- *.f \
- *.for \
- *.tcl \
- *.vhd \
- *.vhdl \
- *.ucf \
- *.qsf \
- *.as \
- *.js
-
-# The EXCLUDE tag can be used to specify files and/or directories that should be
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-#
-# Note that relative paths are relative to the directory from which doxygen is
-# run.
-
-EXCLUDE = Makefile \
- configure
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories for example use the pattern */test/*
-
-EXCLUDE_PATTERNS = bcm2835* \
- readme* \
- runtest* \
- tests* \
- README*
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories use the pattern */test/*
-
-EXCLUDE_SYMBOLS = _
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or directories
-# that contain example code fragments that are included (see the \include
-# command).
-
-EXAMPLE_PATH = ../examples \
- ../examples_linux
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
-# *.h) to filter out the source-files in the directories. If left blank all
-# files are included.
-
-EXAMPLE_PATTERNS =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude commands
-# irrespective of the value of the RECURSIVE tag.
-# The default value is: NO.
-
-EXAMPLE_RECURSIVE = YES
-
-# The IMAGE_PATH tag can be used to specify one or more files or directories
-# that contain images that are to be included in the documentation (see the
-# \image command).
-
-IMAGE_PATH = ../images
-
-# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
-# is part of the input, its contents will be placed on the main page
-# (index.html). This can be useful if you have a project on for instance GitHub
-# and want to reuse the introduction page also for the doxygen output.
-
-USE_MDFILE_AS_MAINPAGE = main_page.md
-
-#---------------------------------------------------------------------------
-# Configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
-# generated. Documented entities will be cross-referenced with these sources.
-#
-# Note: To get rid of all source code in the generated output, make sure that
-# also VERBATIM_HEADERS is set to NO.
-# The default value is: NO.
-
-SOURCE_BROWSER = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
-# cascading style sheets that are included after the standard style sheets
-# created by doxygen. Using this option one can overrule certain style aspects.
-# This is preferred over using HTML_STYLESHEET since it does not replace the
-# standard style sheet and is therefore more robust against future updates.
-# Doxygen will copy the style sheet files to the output directory.
-# Note: The order of the extra style sheet files is of importance (e.g. the last
-# style sheet in the list overrules the setting of the previous ones in the
-# list). For an example see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_STYLESHEET = doxygen-custom.css
-
-# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output should be rendered
-# with a dark or light theme.
-#
-# Possible values are:
-# - LIGHT always generate light mode output
-# - DARK always generate dark mode output
-# - AUTO_LIGHT automatically set the mode according to the user preference,
-# use light mode if no preference is set (the default)
-# - AUTO_DARK automatically set the mode according to the user preference,
-# use dark mode if no preference is set
-# - TOGGLE allow to user to switch between light and dark mode via a button.
-#
-# The default value is: AUTO_LIGHT.
-#
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE = TOGGLE
-
-# If the TIMESTAMP tag is set different from NO then each generated page will contain
-# the date or date and time when the page was generated. Setting this to NO can help
-# when comparing the output of multiple runs.
-#
-# Possible values are: YES, NO, DATETIME and DATE.
-#
-# The default value is: NO.
-
-TIMESTAMP = DATE
-
-# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
-# documentation will contain a main index with vertical navigation menus that
-# are dynamically created via JavaScript. If disabled, the navigation index will
-# consists of multiple levels of tabs that are statically embedded in every HTML
-# page. Disable this option to support browsers that do not have JavaScript,
-# like the Qt help browser.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_DYNAMIC_MENUS = NO
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_DYNAMIC_SECTIONS = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
-# The default value is: YES.
-
-GENERATE_LATEX = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# The PREDEFINED tag can be used to specify one or more macro names that are
-# defined before the preprocessor is started (similar to the -D option of e.g.
-# gcc). The argument of the tag is a list of macros of the form: name or
-# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
-# is assumed. To prevent a macro definition from being undefined via #undef or
-# recursively expanded use the := operator instead of the = operator.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-PREDEFINED = DOXYGEN_FORCED
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/README.md b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/README.md
deleted file mode 100644
index 935c171..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Please browse the docs from either http://nrf24.github.io/RF24
-
-## Intended for use in Doxygen
-
-The markdown files (\*.md) in this docs folder contain relative hyperlinks. Any relative hyperlinks will not work when viewing these markdown files in github.
-
-----
-
-## Building the docs
-
-Navigate to the repo's docs folder:
-
-```shell
-cd docs
-```
-
-Install Doxygen (v1.12.0 or newer) and run the following command from the repo's docs folder:
-
-```shell
-doxygen
-```
-
-The Doxygen HTML output is now in docs/html.
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/arduino.md b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/arduino.md
deleted file mode 100644
index a1068b4..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/arduino.md
+++ /dev/null
@@ -1,288 +0,0 @@
-# Arduino
-
-@tableofcontents
-
-<!-- markdownlint-disable MD031 -->
-RF24 is fully compatible with Arduino boards.
-
-See [Arduino Board reference](http://www.arduino.cc/en/Reference/Board) and [Arduino SPI reference](http://arduino.cc/en/Reference/SPI) for more information
-
-RF24 makes use of the standard hardware SPI pins (MISO, MOSI, SCK) and requires two additional pins, to control
-the chip-select and chip-enable functions.
-
-```cpp
-RF24 radio(ce_pin, cs_pin);
-```
-
-These pins must be chosen and designated by the user and can use any
-available pins.
-
-## Alternate SPI Support
-
-RF24 supports alternate SPI methods, in case the standard hardware SPI pins are otherwise unavailable.
-
-### Software Driven SPI
-
-Software driven SPI is provided by the [DigitalIO library](https://github.com/greiman/DigitalIO).
-
-Setup:
-
-1. Install the digitalIO library
-2. Open RF24_config.h in a text editor.
- Uncomment the line
- ```cpp
- #define SOFTSPI
- ```
- or add the build flag/option
- ```shell
- -DSOFTSPI
- ```
-3. In your sketch, add
- ```cpp
- #include <DigitalIO.h>
- ```
-
-@note Note: Pins are listed as follows and can be modified by editing the RF24_config.h file.
-
-```cpp
-#define SOFT_SPI_MISO_PIN 16
-#define SOFT_SPI_MOSI_PIN 15
-#define SOFT_SPI_SCK_PIN 14
-```
-
-Or add the build flag/option
-
-```shell
--DSOFT_SPI_MISO_PIN=16 -DSOFT_SPI_MOSI_PIN=15 -DSOFT_SPI_SCK_PIN=14
-```
-
-### Alternate Hardware (UART) Driven SPI
-
-The Serial Port (UART) on Arduino can also function in SPI mode, and can double-buffer data, while the
-default SPI hardware cannot.
-
-The SPI_UART library is available at [TMRh20/Sketches](https://github.com/TMRh20/Sketches/tree/master/SPI_UART)
-
-Enabling:
-
-1. Install the SPI_UART library
-2. Edit RF24_config.h and uncomment
- ```cpp
- #define SPI_UART
- ```
-3. In your sketch, add
- ```cpp
- #include <SPI_UART.h>
- ```
-
-SPI_UART SPI Pin Connections:
-| NRF |Arduino Uno Pin|
-|----:|:--------------|
-| MOSI| TX(0) |
-| MISO| RX(1) |
-| SCK | XCK(4) |
-| CE | User Specified|
-| CSN | User Specified|
-
-@note SPI_UART on Mega boards requires soldering to an unused pin on the chip. See [#24](https://github.com/TMRh20/RF24/issues/24) for more information on SPI_UART.
-
-### Using a specific SPI Bus
-
-An alternate SPI bus can be specified using the overloaded `RF24::begin(_SPI*)` method.
-This is useful for some boards that offer more than 1 hardware-driven SPI bus or certain Arduino
-cores that implement a software-driven (AKA bit-banged) SPI bus that does not use the DigitalIO
-library.
-
-@warning The SPI bus object's `SPIClass::begin()` method **must** be called before
-calling the overloaded `RF24::begin(_SPI*)` method.
-
-Below are some example snippets that demonstrate how this can be done.
-
-#### ESP8266 example
-
-@see The following example code is meant for the popular NodeMCU board. Please refer to the
-[ESP8266 ArduinoCore's SPI documentation](https://arduino-esp8266.readthedocs.io/en/latest/libraries.html#spi)
-for [other ESP8266-based boards](https://arduino-esp8266.readthedocs.io/en/latest/boards.html#).
-
-```cpp
-#include <SPI.h>
-#include <RF24.h>
-
-// notice these pin numbers are not the same used in the library examples
-RF24 radio(D4, D3); // the (ce_pin, csn_pin) connected to the radio
-
-void setup() {
- Serial.begin(115200);
- while (!Serial) {} //some boards need this
-
- // by default (with no arguments passed) SPI uses D5 (HSCLK), D6 (HMISO), D7 (HMOSI)
- SPI.pins(6, 7, 8, 0);
- // this means the following pins are used for the SPI bus:
- // MOSI = SD1
- // MISO = SD0
- // SCLK = CLK
- // CSN = GPIO0 (labeled D3 on the board)
- // **notice we also passed `D3` to the RF24 constructor's csn_pin parameter**
-
- SPI.begin();
-
- if (!radio.begin(&SPI)) {
- Serial.println(F("radio hardware not responding!!"));
- while (1) {} // hold program in infinite loop to prevent subsequent errors
- }
-
- // ... continue with program as normal (see library examples/ folder)
-}
-```
-
-#### ESP32 example
-
-@see Please review the Espressif's
-[SPI_Multiple_Buses.ino example for the ESP32](https://github.com/espressif/arduino-esp32/blob/master/libraries/SPI/examples/SPI_Multiple_Buses/SPI_Multiple_Buses.ino)
-located in their ArduinoCore repository (along with the SPI library for the ESP32).
-
-```cpp
-#include <SPI.h>
-#include <RF24.h>
-
-// to use custom-defined pins, uncomment the following
-// #define MY_MISO 26
-// #define MY_MOSI 27
-// #define MY_SCLK 25
-// #define MY_SS 32 // pass MY_SS as the csn_pin parameter to the RF24 constructor
-
-// notice these pin numbers are not the same used in the library examples
-RF24 radio(2, 0); // the (ce_pin, csn_pin) connected to the radio
-
-SPIClass* hspi = nullptr; // we'll instantiate this in the `setup()` function
-// by default the HSPI bus pre-defines the following pins
-// HSPI_MISO = 12
-// HSPI_MOSI = 13
-// HSPI_SCLK = 14
-// HSPI_SS = 15
-
-void setup() {
- Serial.begin(115200);
- while (!Serial) {} //some boards need this
-
- hspi = new SPIClass(HSPI); // by default VSPI is used
- hspi->begin();
- // to use the custom defined pins, uncomment the following
- // hspi->begin(MY_SCLK, MY_MISO, MY_MOSI, MY_SS)
-
- if (!radio.begin(hspi)) {
- Serial.println(F("radio hardware not responding!!"));
- while (1) {} // hold program in infinite loop to prevent subsequent errors
- }
-
- // ... continue with program as normal (see library examples/ folder)
-}
-```
-
-#### Teensy example
-
-@see The overloaded RF24::begin(\_SPI\*) is not needed according to the
-[Teensyduino SPI documentation](https://www.pjrc.com/teensy/td_libs_SPI.html).
-Please review the table provided in the
-[Teensyduino documentation](https://www.pjrc.com/teensy/td_libs_SPI.html) for what pins are used by
-default for certain Teensy boards.
-
-```cpp
-#include <SPI.h>
-#include <RF24.h>
-
-// these pins are the alternate SPI pins available for Teensy LC/3.0/3.1/3.2/3.5/3.6
-#define MY_MISO 8
-#define MY_MOSI 7
-#define MY_SCLK 14
-
-// notice these pin numbers are not the same used in the library examples
-RF24 radio(2, 0); // the (ce_pin, csn_pin) connected to the radio
-
-void setup() {
- Serial.begin(115200);
- while (!Serial) {} //some boards need this
-
- SPI.setMOSI(MY_MOSI);
- SPI.setMISO(MY_MISO);
- SPI.setSCK(MY_SCLK);
-
- if (!radio.begin()) {
- Serial.println(F("radio hardware not responding!!"));
- while (1) {} // hold program in infinite loop to prevent subsequent errors
- }
-
- // ... continue with program as normal (see library examples/ folder)
-}
-```
-
-<!--
-#### MBED example
-@see The [ArduinoCore-mbed SPI library](https://github.com/arduino/ArduinoCore-mbed/tree/master/libraries/SPI)
-has predefined the possible hardware-driven SPI buses. This applies to Arduino Nano 33 BLE and
-Arduino Portenta boards.
-
-```cpp
-#include <SPI.h>
-#include <RF24.h>
-
-RF24 radio(7, 8); // the (ce_pin, csn_pin) connected to the radio
-
-void setup() {
- Serial.begin(115200);
- while (!Serial) {} //some boards need this
-
- SPI1.begin();
-
- if (!radio.begin(&SPI1)) {
- Serial.println(F("radio hardware not responding!!"));
- while (1) {} // hold program in infinite loop to prevent subsequent errors
- }
-
- // ... continue with program as normal (see library examples/ folder)
-}
-```
-
-#### ATSAMD21 example
-@see The Support for secondary SPI bus on ATSAMD21 chips is scarcely documented. However,
-[Sparkfun has a tutorial about using a second SPI bus](https://learn.sparkfun.com/tutorials/adding-more-sercom-ports-for-samd-boards/adding-an-spi)
-that often refers to the
-[ArduinoCore-samd SPI library source code](https://github.com/arduino/ArduinoCore-samd/blob/master/libraries/SPI/SPI.h). This example applies Sparkfun's tutorial toward the RF24 library.
-Special thanks to [ex-caliper](https://github.com/ex-caliper) for the lead!
-
-```cpp
-#include <SPI.h>
-#include <RF24.h>
-#include "wiring_private.h" // pinPeripheral()
-
-// Define the pins are the alternate SPI pins we will use. These pin numbers ARE NOT chosen at random.
-// The Sparkfun tutorial explains these choices in more detail (link is in "See Also" comment above).
-#define MY_MISO 3
-#define MY_MOSI 4
-#define MY_SCLK 5
-
-// instantiate the secondary SPI bus
-SPIClass MY_SPI(&sercom2, MY_MISO, MY_SCLK, MY_MOSI, SPI_PAD_0_SCK_3, SERCOM_RX_PAD_1);
-
-// notice these pin numbers are not the same used in the library examples
-RF24 radio(7, 6); // the (ce_pin, csn_pin) connected to the radio
-
-void setup() {
- Serial.begin(115200);
- while (!Serial) {} //some boards need this
-
- // enable the alternate functionality for our secondary SPI bus' pins
- pinPeripheral(MY_MISO, PIO_SERCOM_ALT);
- pinPeripheral(MY_MOSI, PIO_SERCOM_ALT);
- pinPeripheral(MY_SCLK, PIO_SERCOM);
-
- MY_SPI.begin(); // initialize the secondary SPI bus
-
- if (!radio.begin(&MY_SPI)) {
- Serial.println(F("radio hardware not responding!!"));
- while (1) {} // hold program in infinite loop to prevent subsequent errors
- }
-
- // ... continue with program as normal (see library examples/ folder)
-}
-``` -->
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/attiny.md b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/attiny.md
deleted file mode 100644
index f048438..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/attiny.md
+++ /dev/null
@@ -1,81 +0,0 @@
-# ATTiny
-
-@tableofcontents
-
-ATTiny support for this library relies on the SpenceKonde ATTinyCore. Be sure to have added this core to the Arduino Boards Manager with [this install guide](http://highlowtech.org/?p=1695)
-
-See the included rf24ping85 example for pin info and usage
-
-@warning The ATTiny2313 is unsupported due to lack of sufficient memory resources
-
-Some versions of Arduino IDE may require a patch to allow use of the full program space on ATTiny. See [this resource](https://github.com/TCWORLD/ATTinyCore/tree/master/PCREL%20Patch%20for%20GCC) for the ATTiny patch.
-
-ATTiny board support initially added from [jscrane/RF24](https://github.com/jscrane/RF24)
-
-## Hardware Configuration
-
-By [tong67](https://github.com/tong67)
-
-### ATtiny25/45/85 Pin map with CE_PIN 3 and CSN_PIN 4
-
-```text
- +-\/-+
- NC PB5 1|o |8 Vcc --- nRF24L01 VCC, pin2 --- LED --- 5V
-nRF24L01 CE, pin3 --- PB3 2| |7 PB2 --- nRF24L01 SCK, pin5
-nRF24L01 CSN, pin4 --- PB4 3| |6 PB1 --- nRF24L01 MOSI, pin6
-nRF24L01 GND, pin1 --- GND 4| |5 PB0 --- nRF24L01 MISO, pin7
- +----+
-```
-
-### ATtiny25/45/85 Pin map with CE_PIN 3 and CSN_PIN 3 - PB3 and PB4 are free to use for application
-
-- Circuit idea from [NerdRalph's 3 pin solution](http://nerdralph.blogspot.ca/2014/01/nrf24l01-control-with-3-attiny85-pins.html)
-- Original RC combination was 1K/100nF. 22K/10nF combination worked better.
-- For best settle-time delay value in `RF24::csn()` the timingSearch3pin.ino sketch can be used.
-- This configuration is enabled when CE_PIN and CSN_PIN are equal, e.g. both 3
-- Because CE is always high the power consumption is higher than for 5 pins solution
-
-```text
- ^^
- +-\/-+ nRF24L01 CE, pin3 ------| //
- PB5 1|o |8 Vcc --- nRF24L01 VCC, pin2 ------x----------x--|<|-- 5V
- NC PB3 2| |7 PB2 --- nRF24L01 SCK, pin5 --|<|---x-[22k]--| LED
- NC PB4 3| |6 PB1 --- nRF24L01 MOSI, pin6 1n4148 |
-nRF24L01 GND, pin1 -x- GND 4| |5 PB0 --- nRF24L01 MISO, pin7 |
- | +----+ |
- |-----------------------------------------------||----x-- nRF24L01 CSN, pin4
- 10nF
-```
-
-### ATtiny24/44/84 Pin map with CE_PIN 8 and CSN_PIN 7
-
-- Schematic provided and successfully tested by [Carmine Pastore](https://github.com/Carminepz)
-
-```text
- +-\/-+
-nRF24L01 VCC, pin2 --- VCC 1|o |14 GND --- nRF24L01 GND, pin1
- PB0 2| |13 AREF
- PB1 3| |12 PA1
- PB3 4| |11 PA2 --- nRF24L01 CE, pin3
- PB2 5| |10 PA3 --- nRF24L01 CSN, pin4
- PA7 6| |9 PA4 --- nRF24L01 SCK, pin5
-nRF24L01 MISO, pin7 --- PA6 7| |8 PA5 --- nRF24L01 MOSI, pin6
- +----+
-```
-
-### ATtiny2313/4313 Pin map with CE_PIN 12 and CSN_PIN 13
-
-```text
- +-\/-+
- PA2 1|o |20 VCC --- nRF24L01 VCC, pin2
- PD0 2| |19 PB7 --- nRF24L01 SCK, pin5
- PD1 3| |18 PB6 --- nRF24L01 MOSI, pin6
- PA1 4| |17 PB5 --- nRF24L01 MISO, pin7
- PA0 5| |16 PB4 --- nRF24L01 CSN, pin4
- PD2 6| |15 PB3 --- nRF24L01 CE, pin3
- PD3 7| |14 PB2
- PD4 8| |13 PB1
- PD5 9| |12 PB0
-nRF24L01 GND, pin1 --- GND 10| |11 PD6
- +----+
-```
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/atxmega.md b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/atxmega.md
deleted file mode 100644
index 721c088..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/atxmega.md
+++ /dev/null
@@ -1,57 +0,0 @@
-# ATXMEGA
-
-@tableofcontents
-
-The RF24 driver can be build as a static library with Atmel Studio 7 in order to be included as any other library in another program for the XMEGA family.
-
-Currently only the [ATXMEGA D3](https://www.microchip.com/wwwproducts/en/ATxmega64d3) family is implemented.
-
-## Preparation
-
-Create an empty GCC Static Library project in Atmel Studio 7.
-
-As not all files are required, copy the following directory structure in the project:
-
-```text
-utility\
- ATXMegaD3\
- compatibility.c
- compatibility.h
- gpio.cpp
- gpio.h
- gpio_helper.c
- gpio_helper.h
- includes.h
- RF24_arch_config.h
- spi.cpp
- spi.h
-nRF24L01.h
-printf.h
-RF24.cpp
-RF24.h
-RF24_config.h
-```
-
-## Usage
-
-Add the library to your project!
-
-In the file where the `main()` is put the following in order to update the millisecond functionality:
-
-```cpp
-ISR(TCE0_OVF_vect)
-{
- update_milisec();
-}
-```
-
-Declare the rf24 radio with `RF24 radio(XMEGA_PORTC_PIN3, XMEGA_SPI_PORT_C);`
-
-1. First parameter is the CE pin which can be any available pin on the microcontroller.
-2. Second parameter is the CS which can be on port C (**XMEGA_SPI_PORT_C**) or on port D (**XMEGA_SPI_PORT_D**).
-
-Call the `__start_timer()` to start the millisecond timer.
-
-@note The millisecond functionality is based on the TCE0 so don't use these pins as IO.
-
-@note The operating frequency of the uC is 32MHz. If you have a different frequency, change the TCE0 registers appropriately in function `__start_timer()` in **compatibility.c** file for your frequency.
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/cross_compile.md b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/cross_compile.md
deleted file mode 100644
index b1a4396..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/cross_compile.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# Linux cross-compilation
-
-@tableofcontents
-
-<!-- markdownlint-disable MD031 -->
-@warning These instructions are no longer recommended because they involve disabling security measures
-for the target system. Please try the [instructions using CMake](using_cmake.md).
-
-RF24 library supports cross-compilation. Advantages of cross-compilation:
-
-- development tools don't have to be installed on target machine
-- resources of target machine don't have to be sufficient for compilation
-- compilation time can be reduced for large projects
-
-Following prerequisites need to be assured:
-
-- ssh password-less access to target machine [Here is a hint](https://linuxconfig.org/passwordless-ssh)
-- sudo of a remote user without password [Here is a hint](http://askubuntu.com/questions/334318/sudoers-file-enable-nopasswd-for-user-all-commands)
-- cross-compilation toolchain for your target machine; for RPi
- ```shell
- git clone https://github.com/raspberrypi/tools rpi_tools
- ```
- and cross-compilation tools must be in PATH, for example
- ```shell
- export PATH=$PATH:/your/dir/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
- ```
-
-## Cross compilation steps
-
-1. clone RF24 to a machine for cross-compilation
- ```shell
- git clone https://github.com/nRF24/RF24
- cd RF24
- ```
-2. configure for cross compilation
- ```shell
- ./configure --remote=pi@target_linux_host
- ```
- eventually
- ```shell
- ./configure --remote=pi@target_linux_host --driver=<driver>
- ```
-3. build
- ```shell
- make
- ```
-4. (optional) install library to cross-compilation machine into cross-environment - important for compilation of examples
- ```shell
- sudo make install
- ```
-5. upload library to target machine
- ```shell
- make upload
- ```
-6. (optional) compile examples
- ```shell
- cd examples_linux
- make
- ```
-7. (optional) upload examples to target machine
- ```shell
- make upload
- ```
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/doxygen-custom.css b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/doxygen-custom.css
deleted file mode 100644
index 4a3c469..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/doxygen-custom.css
+++ /dev/null
@@ -1,166 +0,0 @@
-table.markdownTable th {
- color: unset;
-}
-
-/* overrides from default CSS for some admonitions */
-dl.note,
-dl.remark,
-dl.warning,
-dl.attention,
-dl.important,
-dl.deprecated,
-dl.see {
- color: unset;
- box-shadow: 5px 5px 5px hsla(0, 0%, 19.2%, 0.5);
-}
-
-dl.remark {
- background: var(--remark-color-bg);
- border-left: 8px solid var(--remark-color-hl);
-}
-
-dl.remark dt {
- color: var(--remark-color-hl);
-}
-
-dl.important dt {
- color: var(--important-color-hl);
-}
-
-dl.important {
- background: var(--important-color-bg);
- border-left: 8px solid var(--important-color-hl);
-}
-
-dl.attention dt {
- color: var(--attention-color-hl);
-}
-
-dl.attention {
- background: var(--attention-color-bg);
- border-left: 8px solid var(--attention-color-hl);
-}
-
-dl.deprecated dt {
- color: var(--deprecated-color-hl);
-}
-
-dl.deprecated {
- background: var(--deprecated-color-bg);
- border-left: 8px solid var(--deprecated-color-hl);
-}
-
-/* special rules to accent `/see` or `/sa` command output */
-dl.see {
- background: var(--seealso-color-bg);
- border-left: 8px solid var(--seealso-color-hl);
-}
-
-dl.see dt {
- color: var(--seealso-color-hl);
-}
-
-dl.see {
- padding: 10px;
- margin: 10px 0px;
- overflow: hidden;
- margin-left: 0;
- border-radius: 4px;
-}
-
-dl.see dd {
- margin-left: 0;
-}
-
-/* admonition icons */
-dl.note dt::before {
- background-color: var(--note-color-hl);
- mask-image: var(--note-icon);
-}
-
-dl.see dt::before {
- background-color: var(--seealso-color-hl);
- mask-image: var(--seealso-icon);
-}
-
-dl.remark dt::before {
- background-color: var(--remark-color-hl);
- mask-image: var(--remark-icon);
-}
-
-dl.warning dt::before {
- background-color: var(--warning-color-hl);
- mask-image: var(--warning-icon);
-}
-
-dl.deprecated dt::before {
- background-color: var(--deprecated-color-hl);
- mask-image: var(--deprecated-icon);
-}
-
-dl.important dt::before {
- background-color: var(--important-color-hl);
- mask-image: var(--important-icon);
-}
-
-dl.attention dt::before {
- background-color: var(--attention-color-hl);
- mask-image: var(--attention-icon);
-}
-
-dl.note dt::before,
-dl.see dt::before,
-dl.warning dt::before,
-dl.remark dt::before,
-dl.deprecated dt::before,
-dl.important dt::before,
-dl.attention dt::before {
- vertical-align: middle;
- background-repeat: no-repeat;
- content: "";
- display: inline-block;
- height: 2em;
- width: 2em;
- margin-right: 0.25rem;
-}
-
-dl.note dt,
-dl.see dt,
-dl.warning dt,
-dl.remark dt,
-dl.deprecated dt,
-dl.important dt,
-dl.attention dt {
- margin-top: -0.35em;
- margin-bottom: 0.5em;
-}
-
-/* icon SVG data */
-*:root {
- --note-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-280q17 0 28.5-11.5T520-320v-160q0-17-11.5-28.5T480-520q-17 0-28.5 11.5T440-480v160q0 17 11.5 28.5T480-280Zm0-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z"/></svg>');
- --warning-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z"/></svg>');
- --remark-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-80q-33 0-56.5-23.5T400-160h160q0 33-23.5 56.5T480-80ZM360-200q-17 0-28.5-11.5T320-240q0-17 11.5-28.5T360-280h240q17 0 28.5 11.5T640-240q0 17-11.5 28.5T600-200H360Zm-30-120q-69-41-109.5-110T180-580q0-125 87.5-212.5T480-880q125 0 212.5 87.5T780-580q0 81-40.5 150T630-320H330Zm24-80h252q45-32 69.5-79T700-580q0-92-64-156t-156-64q-92 0-156 64t-64 156q0 54 24.5 101t69.5 79Zm126 0Z"/></svg>');
- --attention-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-280q17 0 28.5-11.5T520-320q0-17-11.5-28.5T480-360q-17 0-28.5 11.5T440-320q0 17 11.5 28.5T480-280Zm0-160q17 0 28.5-11.5T520-480v-160q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640v160q0 17 11.5 28.5T480-440ZM363-120q-16 0-30.5-6T307-143L143-307q-11-11-17-25.5t-6-30.5v-234q0-16 6-30.5t17-25.5l164-164q11-11 25.5-17t30.5-6h234q16 0 30.5 6t25.5 17l164 164q11 11 17 25.5t6 30.5v234q0 16-6 30.5T817-307L653-143q-11 11-25.5 17t-30.5 6H363Zm1-80h232l164-164v-232L596-760H364L200-596v232l164 164Zm116-280Z"/></svg>');
- --important-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-360q17 0 28.5-11.5T520-400q0-17-11.5-28.5T480-440q-17 0-28.5 11.5T440-400q0 17 11.5 28.5T480-360Zm0-160q17 0 28.5-11.5T520-560v-160q0-17-11.5-28.5T480-760q-17 0-28.5 11.5T440-720v160q0 17 11.5 28.5T480-520ZM240-240l-92 92q-19 19-43.5 8.5T80-177v-623q0-33 23.5-56.5T160-880h640q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H240Zm-34-80h594v-480H160v525l46-45Zm-46 0v-480 480Z"/></svg>');
- --seealso-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-320q75 0 127.5-52.5T660-500q0-75-52.5-127.5T480-680q-75 0-127.5 52.5T300-500q0 75 52.5 127.5T480-320Zm0-72q-45 0-76.5-31.5T372-500q0-45 31.5-76.5T480-608q45 0 76.5 31.5T588-500q0 45-31.5 76.5T480-392Zm0 192q-146 0-266-81.5T40-500q54-137 174-218.5T480-800q146 0 266 81.5T920-500q-54 137-174 218.5T480-200Zm0-300Zm0 220q113 0 207.5-59.5T832-500q-50-101-144.5-160.5T480-720q-113 0-207.5 59.5T128-500q50 101 144.5 160.5T480-280Z"/></svg>');
- --deprecated-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z"/></svg>');
-}
-
-/* color overrides */
-html,
-html.dark-mode {
- --note-color-hl: hsl(213.7, 92.8%, 62%);
- --note-color-bg: hsla(213.7, 92.8%, 62%, 12.5%);
- --warning-color-hl: hsl(40.6, 72.1%, 47.8%);
- --warning-color-bg: hsla(40.6, 72.1%, 47.8%, 12.5%);
- --attention-color-hl: hsl(2.7, 92.6%, 62.9%);
- --attention-color-bg: hsla(2.7, 92.6%, 62.9%, 12.5%);
- --deprecated-color-hl: hsl(0, 0%, 47%);
- --deprecated-color-bg: hsla(0, 0%, 47%, 12.5%);
- --seealso-color-hl: hsl(323, 72%, 52%);
- --seealso-color-bg: hsla(323, 72%, 52%, 12.5%);
- --remark-color-hl: hsl(128.4, 49.2%, 48.6%);
- --remark-color-bg: hsla(128.4, 49.2%, 48.6%, 12.5%);
- --important-color-hl: hsl(262.4, 89.8%, 73.1%);
- --important-color-bg: hsla(262.4, 89.8%, 73.1%, 12.5%);
-} \ No newline at end of file
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/images/Logo large.png b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/images/Logo large.png
deleted file mode 100644
index 25e4215..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/images/Logo large.png
+++ /dev/null
Binary files differ
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/images/favicon.ico b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/images/favicon.ico
deleted file mode 100644
index c15a165..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/images/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/linux_install.md b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/linux_install.md
deleted file mode 100644
index 73ca893..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/linux_install.md
+++ /dev/null
@@ -1,152 +0,0 @@
-# Linux Installation
-
-@tableofcontents
-
-Generic Linux devices are supported via SPIDEV, PiGPIO, MRAA, RPi native via BCM2835, or using LittleWire.
-
-@note The SPIDEV option should work with most Linux systems supporting spi userspace device.
-
-
-### Automatic Installation (New)
-
-Using CMake: (See the [instructions using CMake](using_cmake.md) for more information and options)
-
-1. Download the install.sh file from [https://github.com/nRF24/.github/blob/main/installer/install.sh](https://github.com/nRF24/.github/blob/main/installer/install.sh)
- ```shell
- wget https://raw.githubusercontent.com/nRF24/.github/main/installer/install.sh
- ```
-2. Make it executable
- ```shell
- chmod +x install.sh
- ```
-3. Run it and choose your options
- ```shell
- ./install.sh
- ```
-
- @warning
- `SPIDEV` is now always selected as the default driver because
- all other Linux drivers are being removed in the future.
- See [RF24 issue #971](https://github.com/nRF24/RF24/issues/971) for rationale.
-
- It will also ask to install a python package named [pyRF24](https://github.com/nRF24/pyRF24).
- This is not the same as the traditionally provided python wrappers because the pyRF24 package can be
- used independent of the C++ installed libraries. For more information on this newer python
- package, please check out [the pyRF24 documentation](https://nrf24.github.io/pyRF24/).
-4. Try an example from one of the libraries
- ```shell
- cd ~/rf24libs/RF24/examples_linux
- ```
-
- Edit the gettingstarted example, to set your pin configuration
- ```shell
- nano gettingstarted.cpp
- ```
-
- Build the examples. Remember to set the `RF24_DRIVER` option according to the one that was
- selected during the scripted install.
- ```shell
- mkdir build && cd build
- cmake .. -D RF24_DRIVER=SPIDEV
- make
- ```
-
- Run the example
- ```shell
- sudo ./gettingstarted
- ```
-
-See the [instructions using CMake](using_cmake.md) for more information and options
-
-## Automated Install (Deprecated - 32 bit only)
-
-**Designed & Tested on RPi** - Defaults to SPIDEV on devices supporting it
-
-1. Install prerequisites if there are any (pigpio, MRAA, LittleWire libraries, setup SPI device etc)
-2. Download the install.sh file from [http://tmrh20.github.io/RF24Installer/RPi/install.sh](http://tmrh20.github.io/RF24Installer/RPi/install.sh)
- ```shell
- wget http://tmrh20.github.io/RF24Installer/RPi/install.sh
- ```
-3. Make it executable
- ```shell
- chmod +x install.sh
- ```
-4. Run it and choose your options
- ```shell
- ./install.sh
- ```
-
- @warning
- `SPIDEV` is now always selected as the default driver because
- all other Linux drivers are being removed in the future.
- See [RF24 issue #971](https://github.com/nRF24/RF24/issues/971) for rationale.
-
-5. Run an example from one of the libraries
- ```shell
- cd rf24libs/RF24/examples_linux
- ```
- Edit the gettingstarted example, to set your pin configuration
- ```shell
- nano gettingstarted.cpp
- make
- sudo ./gettingstarted
- ```
-
-## Manual Install (Deprecated - 32 bit only)
-
-1. Install prerequisites if there are any (pigpio, MRAA, LittleWire libraries, setup SPI device etc)
- @note See the [MRAA](http://iotdk.intel.com/docs/master/mraa/index.html) documentation for more info on installing MRAA
-2. Make a directory to contain the RF24 and possibly RF24Network lib and enter it
- ```shell
- mkdir ~/rf24libs
- cd ~/rf24libs
- ```
-3. Clone the RF24 repo
- ```shell
- git clone https://github.com/tmrh20/RF24.git RF24
- ```
-4. Change to the new RF24 directory
- ```shell
- cd RF24
- ```
-5. Configure build environment using the command:
- ```shell
- ./configure
- ```
- It automatically detects device and build environment.
-
- @warning
- `SPIDEV` is now always selected as the default driver because
- all other Linux drivers are being removed in the future.
- See [RF24 issue #971](https://github.com/nRF24/RF24/issues/971) for rationale.
-
- For overriding automatic detections, use command-line arguments, see
- ```shell
- ./configure --help
- ```
- for description.
-6. Build the library, and run an example file
- ```shell
- make
- sudo make install
- ```
- ```shell
- cd examples_linux
- ```
- Edit the gettingstarted example, to set your pin configuration
- ```shell
- ano gettingstarted.cpp
- make
- sudo ./gettingstarted
- ```
-
-### Build using SPIDEV (Deprecated - 32 bit only)
-
-1. Make sure that spi device support is enabled and /dev/spidev\<a\>.\<b\> is present
-2. Manual Install using SPIDEV:
- ```shell
- ./configure --driver=SPIDEV
- make
- sudo make install
- ```
-3. See the gettingstarted example for an example of pin configuration
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/main_page.md b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/main_page.md
deleted file mode 100644
index 6539549..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/main_page.md
+++ /dev/null
@@ -1,90 +0,0 @@
-# Optimized High Speed Driver for nRF24L01(+) 2.4GHz Wireless Transceiver
-
-@tableofcontents
-
-## Design Goals
-
-This library fork is designed to be...
-
-- More compliant with the manufacturer specified operation of the chip, while allowing advanced users
- to work outside the recommended operation.
-- Utilize the capabilities of the radio to their full potential via Arduino
-- More reliable, responsive, bug-free and feature rich
-- Easy for beginners to use, with well documented examples and features
-- Consumed with a public interface that's similar to other Arduino standard libraries
-
-## News
-
-See the releases' descriptions on
-[the library's release page](http://github.com/nRF24/RF24/releases) for a list of
-changes.
-
-> [!IMPORTANT]
-> There's going to be major changes in v2.0.
-> As of v1.5, there is [newer API](migration.md) that should be used instead of
-> the @ref deprecated "deprecated API".
->
-> See our [migration guide](migration.md) to understand what you should update in your code.
-
-## Useful References
-
-- [RF24 Class Documentation](classRF24.html)
-- [Support & Configuration](pages.html)
-- [Source Code](https://github.com/nRF24/RF24/)
-- [Datasheets](https://github.com/nRF24/RF24/tree/master/datasheets)
-
-### Additional Information and Add-ons
-
-- [RF24Network](http://nRF24.github.io/RF24Network): OSI Network Layer for multi-device communication. Create a home sensor network.
-- [RF24Mesh](http://nRF24.github.io/RF24Mesh): Dynamic Mesh Layer for RF24Network
-- [RF24Ethernet](http://nRF24.github.io/RF24Ethernet): TCP/IP Radio Mesh Networking (shares Arduino Ethernet API)
-- [RF24Audio](http://nRF24.github.io/RF24Audio): Realtime Wireless Audio streaming
-- [nrf_to_nrf](https://github.com/TMRh20/nrf_to_nrf): OSI Layer 2 radio driver for NRF52x radios. Replaces RF24 layer for new radio devices.
-- [RF24G](https://hobietime.github.io/RF24G/html/): Create a true mesh of up to 7 nrf24l01 and/or nrf52x devices
-- [TMRh20 Blog: RF24 Optimization Overview](http://tmrh20.blogspot.com/2014/03/high-speed-data-transfers-and-wireless.html)
-- [TMRh20: RPi/Linux with RF24Gateway](http://tmrh20.blogspot.com/2016/08/raspberry-pilinux-with-nrf24l01.html)
-- [All TMRh20 Documentation Main Page](http://tmrh20.github.io/)
-
-### More Information
-
-- [Project Blog: TMRh20.blogspot.com](http://TMRh20.blogspot.com)
-- [Maniacal Bits Blog](http://maniacalbits.blogspot.ca/)
-- [Original Maniacbug RF24Network Blog Post](https://maniacbug.wordpress.com/2012/03/30/rf24network/)
-- [ManiacBug on GitHub](https://github.com/maniacbug/RF24) (Original Library Author)
-- [MySensors.org](http://www.mysensors.org/) (User friendly sensor networks/IoT)
-
-## Platform Support Pages
-
-- [Arduino](arduino.md) (Uno, Nano, Mega, Due, Galileo, etc)
-- [ATTiny](attiny.md)
-- [Pico SDK support](pico_sdk.md)
-- [Linux Installation](linux_install.md) (or the alternative [instructions using CMake](using_cmake.md)),
- ([Linux/RPi General](rpi_general.md), [MRAA](mraa.md) supported boards (Galileo, Edison, etc), LittleWire)
-- [Cross-compilation](cross_compile.md) for linux devices
-- [Python wrapper](python_wrapper.md) available for Linux devices
-
-### General µC Pin layout
-
-@see also the individual board [support pages](pages.html) for more info
-
-Observe
-
-![pinout.jpg](images/pinout.jpg)
-
-The table below shows how to connect the the pins of the NRF24L01(+) to different boards.
-CE and CSN are configurable.
-
-| PIN | NRF24L01 | Arduino UNO | ATtiny25/45/85 [0] | ATtiny44/84 [1] | LittleWire [2] | RPI | RPi -P1 Connector |
-| --- | -------- | ----------- | ------------------ | --------------- | ----------------------- | ---------- | ----------------- |
-| 1 | GND | GND | pin 4 | pin 14 | GND | rpi-gnd | (25) |
-| 2 | VCC | 3.3V | pin 8 | pin 1 | regulator 3.3V required | rpi-3v3 | (17) |
-| 3 | CE | digIO 7 | pin 2 | pin 12 | pin to 3.3V | rpi-gpio22 | (15) |
-| 4 | CSN | digIO 8 | pin 3 | pin 11 | RESET | rpi-gpio8 | (24) |
-| 5 | SCK | digIO 13 | pin 7 | pin 9 | SCK | rpi-sclk | (23) |
-| 6 | MOSI | digIO 11 | pin 6 | pin 7 | MOSI | rpi-mosi | (19) |
-| 7 | MISO | digIO 12 | pin 5 | pin 8 | MISO | rpi-miso | (21) |
-| 8 | IRQ | - | - | - | - | - | - |
-
-- [0] https://learn.sparkfun.com/tutorials/tiny-avr-programmer-hookup-guide/attiny85-use-hints
-- [1] http://highlowtech.org/?p=1695 The ATTiny2313 is unsupported due to lack of sufficient memory resources.
-- [2] http://littlewire.github.io/
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/migration.md b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/migration.md
deleted file mode 100644
index b4d3782..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/migration.md
+++ /dev/null
@@ -1,287 +0,0 @@
-# Migration guide
-
-@tableofcontents
-
-<!-- markdownlint-disable MD033 MD031 -->
-
-This is a collection of snippets that highlight preferred API over the deprecated original API.
-
-## isAckPayloadAvailable()
-
-> **Deprecated since v1.4.2**
-
-This function is equivalent to `RF24::available()`.
-Any use of `RF24::isAckPayloadAvailable()` is interchangeable with `RF24::available()`.
-
-<table><tr>
-<th>Old</th>
-<th>New (supported)</th>
-</tr><tr><td>
-
-```cpp
-if radio.isAckPayloadAvailable() { /* .. */ }
-```
-
-</td><td>
-
-```cpp
-if radio.available() { /* .. */ }
-```
-
-</td></tr></table>
-
-## 64-bit integer addresses
-
-Any function that accept an address in the form of `uint64_t` is discouraged. This includes
-
-- `RF24::openReadingPipe(uint8_t, uint64_t)`
- > **Deprecated since v1.3.11**
-- `RF24::openWritingPipe(uint64_t)`
- > **Deprecated since v1.3.11**
-- `RF24::stopListening(const uint64_t)`
- > **Deprecated since v1.5**
-
-These functions' address parameter use a 64-bit unsigned integer (`uint64_t`).
-The nRF24L01 can only use up to 40 bit addresses.
-Thus, there is an unused 24 bits being allocated for addresses using these functions.
-
-There are overloaded functions that use a buffer instead:
-
-- `RF24::openReadingPipe(uint8_t, const uint8_t*)`
-- `RF24::openWritingPipe(const uint8_t*)`
-- `RF24::stopListening(const uint8_t*)`
-
-These eliminate the unnecessary 24 bits by only using the length of the buffer (`uint8_t*`)
-specified by `RF24::setAddressWidth()`.
-
-@see The `RF24::openWritingPipe(const uint8_t*)` is now deprecated in favor of the
-overloaded `RF24::stopListening(const uint8_t*)` function.
-See the section below for more detail.
-
-> [!CAUTION]
-> The endianness (byte order) of a buffer is reversed compared to a 64-bit integer.
-> ```c
-> uint64_t address = 0xB3B4B5B6C2;
-> // is the same address as
-> uint8_t address[5] = {0xC2, 0xB6, 0xB5, 0xB4, 0xB3};
-> ```
-> Notice the MSB (Most Significant Byte) `0xC2` is last in the integer but first in the buffer.
-
-<table><tr>
-<th>Old</th>
-<th>New (supported)</th>
-</tr><tr><td>
-
-```cpp
-uint64_t address = 0xB3B4B5B6C2;
-radio.openReadingPipe(1, address);
-```
-
-</td><td>
-
-```cpp
-uint8_t address[5] = {0xC2, 0xB6, 0xB5, 0xB4, 0xB3};
-radio.openReadingPipe(1, address);
-```
-
-</td></tr></table>
-
-> [!NOTE]
-> Our examples actually use a C-string casted as an array of 6 bytes.
-> That's because a C-string (`char*`) must be NULL terminated (`\0` at the end) in memory.
-> ```c
-> uint8_t address[][6] = { "1Node", "2Node" };
-> // is equivalent to
-> uint8_t address[][6] = { { '1', 'N', 'o', 'd', 'e', '\0' },
-> { '2', 'N', 'o', 'd', 'e', '\0' } };
-> ```
-
-## isFifo(bool, bool)
-
-> **Deprecated since v1.4.11**
-
-Introduced as a compliment to `RF24::isFifo(bool)` in v1.4.3, this function was
-supposed to provide a specific detail about a specified radio's FIFO. However, it was
-discovered that the function may not highlight binary corruption (`RF24_FIFO_INVALID`)
-observed in the SPI bus' MISO line.
-
-A fix was introduced using enumerated values of `rf24_fifo_state_e`.
-Since then, `RF24::isFifo(bool)` is now preferred as it accurately describes the result.
-
-<table><tr>
-<th>Old</th>
-<th>New (supported)</th>
-</tr><tr><td>
-
-```cpp
-bool rxFifoEmpty = radio.isFifo(false, true);
-```
-
-</td><td>
-
-```cpp
-bool rxFifoEmpty = radio.isFifo(false) == RF24_FIFO_EMPTY;
-```
-
-</td></tr></table>
-
-## maskIRQ()
-
-> **Deprecated since v1.5**
-
-Originally `RF24::maskIRQ()` was the only function provided to influence the radio's IRQ pin.
-However, the 3 required boolean parameters made this prone to bugs in user code.
-The parameters' meaning was confusingly reversed, and they were easily misplaced in the wrong order.
-
-A better approach was introduced with `RF24::setStatusFlags()`.
-It's 1 parameter accepts values defined by the `rf24_irq_flags_e` enumerated constants.
-These constant values specify individual events;
-they can also be OR'd together to specify multiple events.
-
-<table><tr>
-<th>Old</th>
-<th>New (supported)</th>
-</tr><tr><td>
-
-```cpp
-// IRQ pin only activated by "RX Data Ready" event
-radio.maskIRQ(1, 1, 0);
-
-// IRQ pin activated by "TX Data Sent" and TX Data Failed" events
-radio.maskIRQ(0, 0, 1);
-
-// IRQ pin activated by all events
-radio.maskIRQ(0, 0, 0);
-
-// IRQ pin disabled
-radio.maskIRQ(1, 1, 1);
-```
-
-</td><td>
-
-```cpp
-// IRQ pin only activated by "RX Data Ready" event
-radio.setStatusFlags(RF24_RX_DR);
-
-// IRQ pin activated by "TX Data Sent" and TX Data Failed" events
-radio.setStatusFlags(RF24_TX_DS | RF24_TX_DF);
-
-// IRQ pin activated by all events
-radio.setStatusFlags(RF24_IRQ_ALL);
-
-// IRQ pin disabled
-radio.setStatusFlags(RF24_IRQ_NONE);
-// or equivalently
-radio.setStatusFlags();
-```
-
-</td></tr></table>
-
-## whatHappened()
-
-> **Deprecated since v1.5**
-
-Originally, `RF24::whatHappened()` was the only way to clear the events that triggered the IRQ pin.
-Like `maskIRQ()`, this was also prone to bugs because of the 3 required boolean parameters
-(passed by reference).
-
-The aptly named `RF24::clearStatusFlags()` is designed to be a replacement for `RF24::whatHappened()`.
-Like `RF24::clearStatusFlags()`, `RF24::setStatusFlags()` takes 1 parameter whose value is defined by
-the `rf24_irq_flags_e` enumerated constants. These constant values specify individual flags;
-they can also be OR'd together to specify multiple flags.
-
-Additionally, `RF24::clearStatusFlags()` returns the STATUS byte containing the flags that
-caused the IRQ pin to go active LOW.
-This allows the user code to allocate less memory when diagnosing the IRQ pin's meaning.
-
-<table><tr>
-<th>Old</th>
-<th>New (supported)</th>
-</tr><tr><td>
-
-```cpp
-bool tx_ds, tx_df, rx_dr;
-radio.whatHappened(tx_ds, tx_df, rx_dr);
-```
-
-</td><td>
-
-```cpp
-uint8_t flags = radio.clearStatusFlags();
-// or equivalently
-uint8_t flags = radio.clearStatusFlags(RF24_IRQ_ALL);
-
-// focus on the events you care about
-if (flags & RF24_TX_DS) { /* TX data sent */ }
-if (flags & RF24_TX_DF) { /* TX data failed to send */ }
-if (flags & RF24_RX_DR) { /* RX data is in the RX FIFO */ }
-
-// only clear the "TX Data Sent" and TX Data Failed" events
-radio.clearStatusFlags(RF24_TX_DS | RF24_TX_DF);
-
-// only clear the "RX Data Ready" event
-radio.clearStatusFlags(RF24_RX_DR);
-```
-
-</td></tr></table>
-
-## openWritingPipe(const uint8_t*)
-
-> Deprecated since v1.5
-
-Originally, `RF24::openWritingPipe(const uint8_t*)` was just a compliment to
-`RF24::openReadingPipe()`.
-It changes the address on pipe 0 because that is the only pipe that can be
-used for transmitting.
-
-Unfortunately, there was a bug that prevented the given TX address from being
-persistent on pipe 0 if the user code also set an RX address to pipe 0.
-This bug would surface when switching between RX mode and TX mode (via
-`RF24::startListening()` and `RF24::stopListening()` respectively) or after
-`RF24::stopConstCarrier()` (if `RF24::isPVariant()` returns `true`).
-
-The solution is to cache the TX address on the `RF24` instance.
-Consequently, this solution did not fit well with the traditional order of
-functions used to set up the radio's TX or RX mode.
-
-By overloading `RF24::stopListening(const uint8_t*)`, we are able to ensure proper radio
-setup without requiring certain functions are called in a certain order.
-
-- Use `RF24::stopListening(const uint8_t*)` to set the TX address and enter inactive TX mode.
- `RF24::openReadingPipe()` can now (as of v1.5) be used in TX mode without consequence.
-- Use `RF24::stopListening()` to enter inactive TX mode without changing the TX address.
-
-> [!warning]
-> Avoid using pipe 0 for RX operations to improve performance and reliability.
->
-> For implementation detail, see the source for `RF24::openReadingPipe()` and
-> `RF24::stopListening()`. Ultimately, the datasheet's Appendix A has a detailed
-> example outlining the order of a proper radio setup.
-
-<table><tr>
-<th>Old</th>
-<th>New (supported)</th>
-</tr><tr><td>
-
-```cpp
-// set TX address (pipe 0)
-radio.openWritingPipe(tx_address);
-
-// set RX address (pipe 1)
-radio.openReadingPipe(1, rx_address);
-
-// idle radio using inactive TX mode
-radio.stopListening();
-```
-
-</td><td>
-
-```cpp
-// set TX address (pipe 0)
-radio.stopListening(tx_address); // enters inactive TX mode
-
-// set RX address (pipe 1)
-radio.openReadingPipe(1, rx_address);
-```
-
-</td></tr></table>
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/mraa.md b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/mraa.md
deleted file mode 100644
index 175b7b4..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/mraa.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# MRAA
-
-@tableofcontents
-
-<!-- markdownlint-disable MD031 -->
-MRAA is a Low Level Skeleton Library for Communication on GNU/Linux platforms.
-Review the [MRAA documentation](http://iotdk.intel.com/docs/master/mraa/index.html) for more information
-
-RF24 supports all MRAA supported platforms, but it might not have been tested on each individual platform due to the wide range of hardware support:
-
-- [Report an RF24 bug or issue](https://github.com/TMRh20/RF24/issues)
-
-## Setup and installation
-
-Build using the **MRAA** library from [MRAA documentation](http://iotdk.intel.com/docs/master/mraa/index.html)
-
-MRAA is not included.
-
-1. Install, and build MRAA
- ```shell
- git clone https://github.com/intel-iot-devkit/mraa.git
- cd mraa
- mkdir build
- cd build
- cmake .. -DBUILDSWIGNODE=OFF
- sudo make install
- ```
-2. Complete the install
- ```shell
- nano /etc/ld.so.conf
- ```
- Add the line
- ```shell
- /usr/local/lib/arm-linux-gnueabihf
- ```
- Run
- ```shell
- sudo ldconfig
- ```
-3. Install RF24, using MRAA
-
- See [Linux Install instructions](linux_install.md)
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/pico_sdk.md b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/pico_sdk.md
deleted file mode 100644
index 6b17927..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/pico_sdk.md
+++ /dev/null
@@ -1,234 +0,0 @@
-# Raspberry Pi Pico SDK (for the RP2040)
-
-@tableofcontents
-
-<!-- markdownlint-disable MD031 MD046 -->
-Just to be very clear and concise: The following instructions are
-**not required to use the Arduino IDE** with any RP2040-based boards.
-These instructions pertain to using only [Raspberry Pi's Pico SDK](https://github.com/raspberrypi/pico-sdk)
-for RP2040 based boards.
-
-## Prerequisite
-
-Follow Raspberry Pi's
-["Getting Started with Pico" document](https://rptl.io/pico-get-started) to
-setup a proper development environment on your host PC (the machine that
-will build your project). Notice that the setup instructions are a little
-different for building on a Windows PC.
-
-Either set an environment variable named `PICO_SDK_PATH` that points to your
-local clone of the pico-sdk or put the pico-sdk next to the RF24 folder or
-next to the folder containing your project using the RF24 library:
-
- path/to/github/repos/
- pico-sdk/
- RF24/
- my_rf24_project/
-
-Alternatively, the RF24 repository (and optionally the RF24Network and RF24Mesh
-repositories) can be included into your project's "lib" folder as copies or
-git submodules. For more detail, see the below instructions to incorporate
-RF24 libs into your project.
-
-## Building the RF24 examples for the Pico SDK
-
-Each example imports a set of constants (`CE_PIN`, `CSN_PIN`, `IRQ_PIN`) from the
-examples_pico/defaultPins.h file. Default values for SPI pins (SCK, MOSI, MISO)
-come from the Pico SDK repository's
-[pico-sdk/src/boards/include/boards/\<board_name>.h files](https://github.com/raspberrypi/pico-sdk/tree/master/src/boards/include/boards)
-
-1. Create a "build" directory in the RF24 repository's root directory and
- navigate to it:
- ```sh
- cd RF24
- mkdir build
- cd build
- ```
-2. Configure CMake for your desired build type and specific RP2040-based board
- ```sh
- cmake ../examples_pico -DCMAKE_BUILD_TYPE=Release -DPICO_BOARD=pico
- ```
- Or if building on a Windows PC:
- ```sh
- cmake -G "NMake Makefiles" ../examples_pico -DCMAKE_BUILD_TYPE=Release -DPICO_BOARD=pico
- ```
- The supported RP2040-based boards are listed in header files in the Pico SDK
- repository's [pico-sdk/src/boards/include/boards/\<board_name>.h files](https://github.com/raspberrypi/pico-sdk/tree/master/src/boards/include/boards).
- If the `-DPICO_BOARD` option is not specified, then the Pico SDK will default to building for the Raspberry Pi Pico board.
-3. Build the examples using the CMakeLists.txt file located in the
- RF24/examples_pico directory.
- ```sh
- cmake --build . --config Release
- ```
- Notice we specified the build type again using the `--config` option.
-
- @note If you see an error stating "'PICO_DEFAULT_SPI_SCK_PIN' was not declared in this scope",
- then it means the board you selected with the `-DPICO_BOARD` option (in step 2) does not have a
- default set of SPI pins defined for it. To workaround this error, see the below instructions to
- use different pins for the SPI bus.
-
- @warning If doing consecutive build attempts, it is strongly encouraged to delete all files in the build
- directory before re-attempting to build the project.
-
-## Incorporating RF24 libs into your project
-
-In order to use the RF24 libraries in your RP2040 based project:
-
-1. Make a copy of the RF24 library (and optionally RF24Network and RF24Mesh
- libraries) in a "lib" directory located in your project's root directory.
-
- path/to/my/project/
- lib/
- RF24/
- RF24Network/
- RF24Mesh/
- src/
- CMakeLists.txt
- ...
-
- Alternatively you can add the RF24\* repositories as [git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules).
-2. Include their CMakeLists.txt files from the RF24 libraries in your project's top-level
- CMakeLists.txt file (usually located in the "src" directory). The following snippet
- assumes that your project's "src" directory is on the same level as the previously
- mentioned "lib" directory.
- ```cmake
- include(../lib/RF24/CMakeLists.txt)
- include(../lib/RF24Network/CMakeLists.txt)
- include(../lib/RF24Mesh/CMakeLists.txt)
- ```
-3. In the same CMakeLists.txt file from step 2, add the RF24 libraries into the
- `target_link_libraries` configuration:
- ```cmake
- target_link_libraries(${CMAKE_PROJECT_NAME}
- # ... Your project's other libraries ...
- RF24
- RF24Network
- RF24Mesh
- )
- ```
- If you are using tinyUSB, this line (or similar) should already exist:
- ```cmake
- target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_LIST_DIR})
- ```
-4. Finally, remember to include the necessary RF24\* libraries' header files in your
- project's source code where applicable.
- ```cpp
- #include <RF24.h>
- #include <RF24Network.h>
- #include <RF24Mesh.h>
- ```
- @note Any of the project's source file(s) that includes any of RF24\* libraries must be a C++ file.
- It is highly recommended to use the `.cpp` file extension for such project source files.
-
-## Using different pins for the SPI bus
-
-Initially (without modification), the SPI bus uses the default pins defined in the
-Pico SDK repository's [pico-sdk/src/boards/include/boards/\<board_name>.h files](https://github.com/raspberrypi/pico-sdk/tree/master/src/boards/include/boards).
-However, there may be some boards that do not define the necessary pins to use as defaults. This can
-be remedied using either project source code or build-time configuration.
-
-@warning There is no support for software driven SPI on RP2040 based boards at this time.
-If someone is so inclined to implement this using the Pico SDK's PIO (Programmable Input
-Output) feature, please submit an issue or pull request to the
-[RF24 repository](http://github.com/nRF24/RF24).
-
-@note Before deciding what pins to use for the SPI bus, review the
-[GPIO pins' "Function Select Table" in the Pico SDK documentation](https://raspberrypi.github.io/pico-sdk-doxygen/group__hardware__gpio.html#details).
-There are essentially 2 SPI buses with multiple pin options for each.
-
-### Project Source code option
-
-This option is the most reliable and flexible. It involves calling `SPI.begin()` and then passing the `SPI` object to `RF24::begin(_SPI*)`.
-
-```cpp
-#include <RF24.h>
-
-RF24 radio(7, 8); // pin numbers connected to the radio's CE and CSN pins (respectively)
-SPI spi;
-
-int main()
-{
- // again please review the GPIO pins' "Function Select Table" in the Pico SDK docs
- spi.begin(spi0, 2, 3, 4); // spi0 or spi1 bus, SCK, TX, RX
-
- if (!radio.begin(&spi)) {
- printf("Radio hardware is not responding!\n");
- }
- // continue with program as normal ...
-}
-```
-
-### Build-time configuration option
-
-To specify the default SPI pins used at build time, you can use either:
-
-1. declare these pins in the CMakeLists.txt file
- ```cmake
- target_compile_definitions(${CMAKE_PROJECT_NAME}
- PUBLIC PICO_DEFAULT_SPI=0 # can only be 0 or 1 (as in `spi0` or `spi1`)
- PUBLIC PICO_DEFAULT_SPI_SCK_PIN=2 # depends on which SPI bus (0 or 1) is being used
- PUBLIC PICO_DEFAULT_SPI_TX_PIN=3 # depends on which SPI bus (0 or 1) is being used
- PUBLIC PICO_DEFAULT_SPI_RX_PIN=4 # depends on which SPI bus (0 or 1) is being used
- )
- ```
-2. additional command line arguments
- ```shell
- cmake --build . --config Release -DPICO_DEFAULT_SPI=0 -DPICO_DEFAULT_SPI_SCK_PIN=2 -DPICO_DEFAULT_SPI_TX_PIN=3 -DPICO_DEFAULT_SPI_RX_PIN=4
- ```
-
-## Using Multiple Radios
-
-It is possible to drive multiple nRF24L01 transceivers on a single board. To do this each radio needs dedicated digital output pins for the CE and CSN pins.
-
-@warning The RPi Pico board's 3v regulator is typically insufficient to power more than 1 radio.
-It is also worth mentioning that the RPi Pico board uses a switching regulator which inherently
-produces electrical noise (a not steady 3v signal otherwise referred to as "power instability").
-
-If you want to drive each radio with a separate SPI bus, then the following example will demonstrate how to do that.
-
-```cpp
-#include <RF24.h>
-
-// Declare the pin numbers connected to the radios' CE and CSN pins (respectively)
-RF24 radio0(8, 5); // first radio object
-RF24 radio1(14, 13); // second radio object
-
-// By default, one SPI bus instance is created by the RF24 lib. We'll use this
-// default instance of the `spi0` interface for our first radio, but we want a
-// different SPI bus for the second radio.
-//
-// So, here we declare a second SPI bus instance:
-SPI my_spi; // we specify the `spi1` bus interface below
-
-bool setupRadios()
-{
- // Initialize the first radio using the default SPI instance
- if (!radio0.begin()) {
- printf("Radio0 hardware is not responding!\n");
- return false;
- }
- // first radio object initialized successfully
-
- // specify the the second SPI bus interface and corresponding GPIO pins
- my_spi.begin(spi1, 10, 11, 12); // spi1 bus, SCK, TX, RX
- if (!radio1.begin(&my_spi)) {
- printf("Radio1 hardware is not responding!\n");
- return false;
- }
- // second radio object initialized successfully
-
- return true;
-}
-
-int main()
-{
- stdio_init_all(); // init necessary IO for the RP2040
-
- while (!setupRadios()) { // if either radioX.begin() failed
- sleep_ms(1000); // add 1 second delay for console readability
- // hold program in infinite attempts to initialize the radios
- }
-
- // continue with program as normal ...
-}
-```
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/portability.md b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/portability.md
deleted file mode 100644
index 2fe25eb..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/portability.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# RF24 Portability
-
-@tableofcontents
-
-The RF24 radio driver mainly utilizes the [Arduino API](http://arduino.cc/en/reference/homePage)
-for GPIO, SPI, and timing functions, which are easily replicated on various platforms.
-
-Support files for these platforms are stored under RF24/utility, and can be modified to provide the
-required functionality.
-
-## Basic Hardware Template
-
-### RF24/utility
-
-The RF24 library now includes a basic hardware template to assist in porting to various platforms.
-
-The following files can be included to replicate standard Arduino functions as needed, allowing devices from ATTiny to Raspberry Pi to utilize the same core RF24 driver.
-
-| File | Purpose |
-| ------------------ | ---------------------------------------------------------------------------- |
-| RF24_arch_config.h | Basic Arduino/AVR compatibility, includes for remaining support files, etc |
-| includes.h | Linux only. Defines specific platform, include correct RF24_arch_config file |
-| spi.h | Provides standardized SPI (`transfer()`) methods |
-| gpio.h | Provides standardized GPIO (`digitalWrite()`) methods |
-| compatibility.h | Provides standardized timing (`millis()`, `delay()`) methods |
-| your_custom_file.h | Provides access to custom drivers for spi, gpio, etc |
-
-Examples are provided via the included hardware support templates in **RF24/utility**
-
-See the [modules](modules.html) page for examples of class declarations.
-
-## Device Detection
-
-1. The main detection for Linux devices is done in the configure script, with the includes.h from the proper hardware directory copied to RF24/utility/includes.h
-2. Secondary detection is completed in RF24_config.h, causing the include.h file to be included for all supported Linux devices
-3. RF24.h contains the declaration for SPI and GPIO objects 'spi' and 'gpio' to be used for porting-in related functions.
-
-## Code
-
-To have your ported code included in this library, or for assistance in porting, create a pull request or open an issue at [RF24 Library issues](https://github.com/nRF24/RF24)
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/python_wrapper.md b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/python_wrapper.md
deleted file mode 100644
index 58e3935..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/python_wrapper.md
+++ /dev/null
@@ -1,138 +0,0 @@
-# Python Wrapper
-
-@tableofcontents
-
-@remark
-@parblock
-We recommend using the newer [pyRF24 package](https://github.com/nRF24/pyRF24)
-[available from pypi](https://pypi.org/project/pyrf24/) because
-
-1. it is [practically drop-in compatible](https://nrf24.github.io/pyRF24/#migrating-to-pyrf24)
-2. easier to install or get updates with popular package managers like pip
-3. does not require the C++ libraries to be installed -- it uses its own isolated binaries
-4. includes wrappers for RF24, RF24Network, RF24Mesh libraries
-5. includes a new [fake BLE implementation](https://nrf24.github.io/pyRF24/ble_api.html)
-6. has its own [dedicated documentation](https://nRF24.github.io/pyRF24)
-7. is compatible with python's builtin `help()`
-8. includes typing stub files for type checking tools like mypy
-
-The only reason that you should need to keep using these older individual python
-wrappers is if you must use python v3.6 or older.
-
-You **cannot** use these individual wrappers in combination with the pyRF24 package.
-@endparblock
-
-## Python Wrapper Prerequisites
-
-These instructions work for the RF24, RF24Network, and RF24Mesh libraries, but
-the C++ source code needs to be built and installed for the corresponding
-python wrapper(s) to work.
-
-@see Review [installing with CMake](using_cmake.md) and [Linux/RPi General](rpi_general.md).
-
-@note The interrupt_configure.py example uses the
-[gpiod library](https://pypi.org/project/gpiod) to watch the radio's IRQ pin.
-
-> [!warning]
-> Recent updates to pip mandate that users manage a python virtual environment.
-> This is good practice because it avoids the risk that installing a package with pip will
-> mess up a system-installed package.
->
-> For information about using up a python virtual environment, see the official
-> [instructions using the python standard library `venv`](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/)
-> (which is a minimized variant of
-> [the `virtualenv` library](https://virtualenv.pypa.io/en/stable/index.html)).
->
-> There's also a note at the end of these instructions that talks about
-> using `sudo` within a python virtual environment.
-
-### Python2
-
-```shell
-sudo apt-get install python-dev libboost-python-dev python-pip
-```
-
-Next, install some up-to-date python packages.
-
-```shell
-python -m pip install --upgrade pip setuptools
-```
-
-### Python3
-
-```shell
-sudo apt-get install python3-dev libboost-python-dev python3-pip
-```
-
-## Installation
-
-> [!note]
-> If using **older versions of RF24* libraries** with python3,
-> the setup.py script needed a manually created symlink for the boost.python library.
-> ```shell
-> sudo ln -s $(ls /usr/lib/$(ls /usr/lib/gcc | tail -1)/libboost_python3*.so | tail -1) /usr/lib/$(ls /usr/lib/gcc | tail -1)/libboost_python3.so
-> ```
-> This is no longer needed with the latest versions of RF24 libraries.
-
-1. Install the library.
-
- This step needs to be executed from the appropriate directory of
- the cloned RF24* repository:
- - navigate to *pyRF24* directory in the RF24 cloned repository
- - navigate to *RPi/pyRF24Network* directory in the RF24Network cloned repository
- - navigate to *pyRF24Mesh* directory in the RF24Mesh cloned repository
-
- When in the correct directory, run the following command:
- ```shell
- python3 -m pip install -v .
- ```
- @note Building/installing takes several minutes on arm-based machines.
- Machines with RAM less than 1GB may need to increase amount of swap for build.
- The `-v` option enables pip's verbose output to show that the process has not frozen.
-
- See the additional [Platform Support pages](pages.html) for information on connecting your hardware.
-
- See the included [\*.py files in the "examples_linux" folder](examples.html) for usage information.
-2. Running the Example
-
- The python examples location differ for each RF24* repositories.
- - navigate to *examples_linux* directory in the RF24 cloned repository
- - navigate to *RPi/pyRF24Network/examples* directory in the RF24Network cloned repository
- - navigate to *examples_RPi* directory in the RF24Mesh cloned repository
-
- Navigate to the examples_linux directory
- ```shell
- cd ../examples_linux
- ```
- Edit the getting_started.py example to configure the appropriate pins per the [Linux/RPi General](rpi_general.md) documentation.
- ```shell
- nano getting_started.py
- ```
- Configure another device, Arduino or RPi with the same example code. It could be C++ or python (see the [list of available examples](examples.html)), but we'll use the same example file on a different device in this tutorial.
-
- Run the example
- ```shell
- python getting_started.py
- ```
- or for python3
- ```shell
- python3 getting_started.py
- ```
-
- @note
- @parblock
- Running the python wrappers built with 'pigpio' or 'RPi' drivers requires `sudo` permission.
-
- If you are working in a python virtual environment (aka "venv"), then the
- virtual environment's python executable must be specified after `sudo`. Otherwise,
- `sudo` may invoke the system-installed python executable which can lead to errors.
-
- Assuming the python virtual environment is located in `~/venv`, use the following command:
- ```
- sudo ~/venv/bin/python getting_started.py
- ```
- This `sudo` advice must be observed even while the virtual environment is activated.
-
- See more information about python virtual environments in the
- [python documentation](https://docs.python.org/3/library/venv.html).
- @endparblock
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/rpi_general.md b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/rpi_general.md
deleted file mode 100644
index d7d1172..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/rpi_general.md
+++ /dev/null
@@ -1,120 +0,0 @@
-# Linux General/Raspberry Pi
-
-@tableofcontents
-
-<!-- markdownlint-disable MD031 -->
-RF24 supports a variety of Linux based devices via various drivers. Some boards like RPi can utilize multiple methods
-to drive the GPIO and SPI functionality.
-
-## Potential PreConfiguration
-
-If SPI is not already enabled, load it on boot:
-
-```shell
-sudo raspi-config
-```
-
-1. Update the tool via the menu as required
-2. Select **Advanced** and **enable the SPI kernel module**
-3. Update other software and libraries
- ```shell
- sudo apt-get update
- sudo apt-get upgrade
- ```
-
-## Build Options
-
-The default build on Raspberry Pi utilizes the included **BCM2835** driver from [the BCM2835 Library](http://www.airspayce.com/mikem/bcm2835)
-
-1. See [the Linux section for automated installation](linux_install.md).
-2. Manual install:
- ```shell
- make
- sudo make install
- ```
-
-## Connections and Pin Configuration
-
-Using pin 15(GPIO22) for CE, pin 24(GPIO8 commonly labeled as CE0) for CSN
-
-Can use any available SPI BUS for CSN.
-
-In general, use
-
-```cpp
-RF24 radio(<ce_pin>, <a>*10+<b>);
-```
-
-for proper constructor to address the correct spi device at /dev/spidev\<a\>.\<b\>
-
-Choose any GPIO output pin for radio CE pin.
-
-> [!WARNING]
-> The pin numbers may be different for certain systems.
-> In this library's examples, we use the BCM pin numbers for BroadCom chips such as
-> those used on all Raspberry Pi models.
->
-> For Raspberry Pi clones, such as Orange Pi or Banana Pi, defer to the pin numbers described
-> in their corresponding documentation/manual.
->
-> Hint: If libgpiod is installed (not required for this library),
-> then you can use the included
-> [CLI tools shipped with libgpiod](https://libgpiod.readthedocs.io/en/latest/gpio_tools.html)
-> to gleam system-specific details.
-
-### Linux kernel (SPIDEV driver) and the GPIO chip number
-
-This RF24 library, as of v1.4.9, uses the Linux kernel's Character Device API to interface
-with GPIO pins (AKA "lines" in kernel docs). Previous versions used the deprecated "sys fs" interface.
-
-By default, this library attempts to use pins exposed via `/dev/gpiochip0`.
-Some systems have multiple public-facing GPIO chips integrated (ie nVidia Jetson series).
-If your system exposes the desired GPIO pins via a different chip (ie `/dev/gpiochip4`), then the
-`RF24_LINUX_GPIO_CHIP` can be set to the correct value when compiling the library.
-
-```shell
-cmake .. -DRF24_LINUX_GPIO_CHIP="/dev/gpiochip4"
-```
-
-### General
-
-```cpp
-RF24 radio(22, 0);
-```
-
-### MRAA Constructor
-
-```cpp
-RF24 radio(15, 0);
-```
-
-See [the MRAA documentation for Raspberry Pi support](http://iotdk.intel.com/docs/master/mraa/rasppi.html)
-
-### SPI_DEV Constructor
-
-```cpp
-RF24 radio(22, 0);
-```
-
-See [the Raspberry Pi documentation about the GPIO pins](https://www.raspberrypi.com/documentation/computers/os.html#gpio-and-the-40-pin-header)
-
-### Pins
-
-| PIN | NRF24L01 | RPI | RPi -P1 Connector |
-| --- | -------- | ---------- | ----------------- |
-| 1 | GND | rpi-gnd | (25) |
-| 2 | VCC | rpi-3v3 | (17) |
-| 3 | CE | rpi-gpio22 | (15) |
-| 4 | CSN | rpi-gpio8 | (24) |
-| 5 | SCK | rpi-sclk | (23) |
-| 6 | MOSI | rpi-mosi | (19) |
-| 7 | MISO | rpi-miso | (21) |
-| 8 | IRQ | - | - |
-
-## brief history of RF24 library lineage
-
-Based on the arduino lib from [J. Coliz](maniacbug@ymail.com),
-the library was berryfied by [Purinda Gunasekara](purinda@gmail.com)
-then forked from github [stanleyseow/RF24](https://github.com/stanleyseow/RF24) to [jscrane/RF24-rpi](https://github.com/jscrane/RF24-rpi)
-
-Network lib also based on [farconada/RF24Network](https://github.com/farconada/RF24Network)
diff --git a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/using_cmake.md b/.pio/libdeps/esp32-s3-n16r8/RF24/docs/using_cmake.md
deleted file mode 100644
index ed2780a..0000000
--- a/.pio/libdeps/esp32-s3-n16r8/RF24/docs/using_cmake.md
+++ /dev/null
@@ -1,249 +0,0 @@
-# Using CMake
-
-@tableofcontents
-
-<!-- markdownlint-disable MD031 -->
-A more modern approach instead of using hand-crafted _Makefiles_ & _configure_ scripts
-to build & install software. Please note that these instructions are not needed if you
-have already installed the library using [these older instructions](linux_install.md)
-
-## Installing the library
-
-You can install the library in a few different ways.
-
-- Building and installing the library from source code is preferable since it will include all the latest changes.
-- Installing the library (via a package manager) from a pre-built package is mostly for cross-compiling purposes, but it can be useful for environments that don't have all the build-time dependencies (namely CMake).
-
-@warning If you have previously installed the library from source code using the
-[the older instructions](linux_install.md), then you will need to
-uninstall it manually to avoid runtime conflicts.
-```shell
-sudo rm /usr/local/lib/librf24.*
-sudo rm /usr/local/lib/librf24-bcm.so
-sudo rm -r /usr/local/include/RF24
-```
-
-The _librf24-bcm.so_ file may not exist if you used CMake to install the library.
-
-### Automatic Installation
-
-There is a newer automatic install script that makes use of the CMake approach.
-
-1. Download the install.sh file from [https://github.com/nRF24/.github/blob/main/installer/install.sh](https://github.com/nRF24/.github/blob/main/installer/install.sh)
- ```shell
- wget https://raw.githubusercontent.com/nRF24/.github/main/installer/install.sh
- ```
-2. Make it executable
- ```shell
- chmod +x install.sh
- ```
-3. Run it and choose your options
- ```shell
- ./install.sh
- ```
-
- @warning
- `SPIDEV` is now always selected as the default driver because
- all other Linux drivers are being removed in the future.
- See [RF24 issue #971](https://github.com/nRF24/RF24/issues/971) for rationale.
-
- It will also ask to install a python package named [pyRF24](https://github.com/nRF24/pyRF24).
- This is not the same as the traditionally provided python wrappers as the pyRF24 package can be
- used independent of the C++ installed libraries. For more information on this newer python
- package, please check out [the pyRF24 documentation](https://nrf24.github.io/pyRF24/).
-4. Try an example from one of the libraries
- ```shell
- cd ~/rf24libs/RF24/examples_linux
- ```
-
- Edit the gettingstarted example, to set your pin configuration
- ```shell
- nano gettingstarted.cpp
- ```
-
- Build the examples. Remember to set the `RF24_DRIVER` option according to the one that was
- selected during the scripted install.
- ```shell
- mkdir build && cd build
- cmake .. -D RF24_DRIVER=SPIDEV
- make
- ```
-
- Run the example
- ```shell
- sudo ./gettingstarted
- ```
-
-### Building from source code
-
-1. Install prerequisites if there are any (PiGPIO, WiringPi, MRAA, LittleWire libraries, and enable the SPI bus(es) in the OS).
-
- CMake may need to be installed
- ```shell
- sudo apt-get install cmake
- ```
- @note See the [MRAA documentation](http://iotdk.intel.com/docs/master/mraa/index.html) for more information on installing MRAA.
-2. Make a directory to contain the RF24 library and possibly other RF24\* libraries and enter it
- ```shell
- mkdir ~/rf24libs
- cd ~/rf24libs
- ```
-3. Clone the [RF24 repo](https://github.com/nRF24/RF24) and navigate to it
- ```shell
- git clone https://github.com/nRF24/RF24.git RF24
- cd RF24
- ```
-4. Create a build directory inside the RF24 directory and navigate to it.
- ```shell
- mkdir build
- cd build
- ```
-5. Configure build environment
-
- @note When using these instructions to install RF24Mesh, RF24Network, or RF24Gateway,
- the following `RF24_DRIVER` option is only needed for the RF24 library and
- examples as well as the examples for RF24Network, RF24Mesh, and RF24Gateway. The `RF24_DRIVER`
- option is not needed when installing the libraries for RF24Network, RF24Mesh, and RF24Gateway.
-
- Instead of specifying the `RF24_DRIVER` option in the CLI, it is recommended to use a environment
- variable named `RF24_DRIVER`.
-
- ```shell
- export RF24_DRIVER=SPIDEV
- ```
-
- These instructions assume you have not set an environment variable.
-
- ```shell
- cmake .. -D RF24_DRIVER=SPIDEV
- ```
- Instead of using `SPIDEV` driver (recommended), you can also specify the `RPi`, `wiringPi`,
- `MRAA`, or `LittleWire` as alternative drivers.
-
- @warning
- `SPIDEV` is now always selected as the default driver because
- all other Linux drivers are being removed in the future.
- See [RF24 issue #971](https://github.com/nRF24/RF24/issues/971) for rationale.
-6. Build and install the library
- ```shell
- make
- sudo make install
- ```
-7. Build the examples
-
- Navigate to the _examples_linux_ directory
- ```shell
- cd ../examples_linux
- ```
- Make sure the pins used in the examples match the pins you used to connect the radio module
- ```shell
- nano gettingstarted.cpp
- ```
- and edit the pin numbers as directed in the [linux/RPi general documentation](rpi_general.md).
- Create a build directory in the examples_linux directory and navigate to it.
- ```shell
- mkdir build
- cd build
- ```
- Now you are ready to build the examples.
- ```shell
- cmake ..
- make
- ```
- If using the `MRAA` or `wiringPi` drivers, then you may need to specify the `RF24_DRIVER`
- option again.
- ```shell
- cmake .. -D RF24_DRIVER=wiringPi
- make
- ```
-
- Remember that the `RF24_DRIVER` option is needed for the RF24Network, RF24Mesh, and RF24Gateway
- examples if you specified that option (via CLI or environment variable) when installing the
- RF24 library and examples.
-8. Run an example file
- ```shell
- sudo ./gettingstarted
- ```
-
-### Using a package manager
-
-The RF24 library now (as of v1.4.1) has pre-built packages (.deb or .rpm files) that
-can be installed on a Raspberry Pi. These packages can be found on the library's
-[GitHub release page](https://GitHub.com/nRF24/RF24/releases)
-
-1. Download the appropriate package for your machine
-
- Go to the library's [GitHub release page](https://GitHub.com/nRF24/RF24/releases), and look for
- the latest release's assets.
-
- For all Raspberry Pi variants using the Raspberry Pi OS (aka Raspbian), you need the file marked
- for _armhf_ architecture.
-
- For Raspberry Pi variants using a 64-bit OS (like Ubuntu), you need the file marked for
- _arm64_ architecture.
-
- Notice that the filenames will include the name of the utility driver that the package was built with.
- This does not mean that the LittleWire, MRAA, or wiringPi libraries are included in the package (you will still
- need to install those yourself beforehand).
-2. Install the downloaded pkg
-
- If you downloaded the file directly from your target machine using the desktop environment, then
- you only need to double-click the package (deb or rpm) file, and the OS should do the rest.
-
- If you downloaded the file remotely and want to copy it over ssh, then use the `scp` command in a terminal.
- ```shell
- scp pkg_filename.deb pi@host_name:~/Downloads
- ```
- @note You do not need to do this from within an ssh session. Also, you can use the target machine's IP
- address instead of its host name.
-
- The `scp` command will ask you for a password belonging to the user's name on the remote machine (we used
- `pi` in the above example).
-
- Now you can open up a ssh session and install the copied package from the terminal.
- ```shell
- ssh pi@host_name
- cd Downloads
- dpkg -i pkg_filename.deb
- ```
-
-## Cross-compiling the library
-
-The RF24 library comes with some pre-made toolchain files (located in the
-_RF24/cmake/toolchains_ directory) to use in CMake. To use these toolchain files,
-additional command line options are needed when configuring CMake to build the library
-(step 5 in the above instructions to build from source).
-
-```shell
-cmake .. -D CMAKE_TOOLCHAIN_FILE=cmake/toolchains/armhf.cmake
-make
-```
-
-If you plan on using the cross-compiled library with your personal cross-compiled
-project, then it is advised to specify the path that your project will look in when
-linking to the RF24 library:
-
-```shell
-cmake .. -D CMAKE_INSTALL_PREFIX=/usr/arm-linux-gnueabihf -D CMAKE_TOOLCHAIN_FILE=cmake/toolchains/armhf.cmake
-make
-sudo make install
-```
-
-Remember to also specify the `RF24_DRIVER` option (via CLI or environment variable) if
-not using the auto-configuration feature (see step 5 in the above instructions to build
-from source).
-
-### Installing the library remotely
-
-To install remotely, you can create an installable package file using CMake's built-in
-program called CPack.
-
-```shell
-cmake .. -D CMAKE_TOOLCHAIN_FILE=cmake/toolchains/armhf.cmake
-make
-cpack
-```
-
-This will create a deb file and a rpm file in a new sub-directory called "pkgs" within
-the build directory. You can use either of these packages to install the library to
-your target machine (see the above instructions about using a package manager).