Skip to content

Commit

Permalink
various improvements to docs (#844)
Browse files Browse the repository at this point in the history
* using my fork of breathe

this fixes warning from pygments and weird multi-line function signatures (via CSS)

* use breathe latest

* remove doc'd return of void func

* fix some spelling mistakes in common_issues doc

* update CSS for sphinx-immaterial theme changes

* don't create PDFs on RTD

* reduce Doxyfile to only the options used

* adjust using_cmake.md

* update sphinx docs about theme updates

* improve doxygen CI

* remove typo/artifdact

* docs don't use graphviz or intersphinx

* add new auto-install steps to cmake doc
  • Loading branch information
2bndy5 authored Jun 12, 2022
1 parent c327568 commit aa815f7
Show file tree
Hide file tree
Showing 13 changed files with 373 additions and 2,472 deletions.
18 changes: 13 additions & 5 deletions .github/workflows/doxygen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,19 @@ jobs:
touch doxygenAction
echo "PROJECT_NUMBER = ${{ steps.latest_ver.outputs.release }}" >> doxygenAction
echo "@INCLUDE = doxygenAction" >> Doxyfile
- name: build doxygen
uses: mattnotmitt/doxygen-action@v1
with:
working-directory: '.'
doxyfile-path: './Doxyfile'
- name: install Doxygen static libclang deps
run: sudo apt-get install libclang1-9 libclang-cpp9
- name: install doxygen from SF binary archives
env:
DOXYGEN_VERSION: '1.9.4'
run: |
mkdir doxygen && cd doxygen
curl -L https://sourceforge.net/projects/doxygen/files/rel-$DOXYGEN_VERSION/doxygen-$DOXYGEN_VERSION.linux.bin.tar.gz > doxygen.tar.gz
gunzip doxygen.tar.gz
tar xf doxygen.tar
cd doxygen-$DOXYGEN_VERSION
sudo make install
- run: doxygen
- name: Save doxygen docs as artifact
uses: actions/upload-artifact@v2
with:
Expand Down
9 changes: 4 additions & 5 deletions COMMON_ISSUES.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ capacitors may not be good enough (depending on the manufacturing source).

### Payloads received/sent are inaccurate or printDetails() outputs the unexpected value(s)

This is likely due to the SPI speed being amped up to 10MHz by default. We recommend:
This is likely due to the SPI speed being set up to 10MHz by default. We recommend:

1. Make sure the wires are not loose, and try to avoid using long wires.
2. If the previous point does not help, then try lowering the SPI speed like so
Expand All @@ -84,7 +84,7 @@ In the RF24 library's beginnings, the default value was (prior to 2014) set to 4
### My PA/LNA module fails to transmit
You may find variants of the nRF24L01 transceiver that are marketed as “nRF24L01+PA+LNA”. These modules are distinct in the fact that they come with a detachable (SMA-type) antenna. They employ seperate RFX24C01 IC with the antenna for enhanced Power Amplification (PA) and Low Noise Amplification (LNA) features. While they boast greater range with the same functionality, they are subject to a couple lesser known (and lesser advertised) drawbacks:
You may find variants of the nRF24L01 transceiver that are marketed as “nRF24L01+PA+LNA”. These modules are distinct in the fact that they come with a detachable (SMA-type) antenna. They employ separate RFX24C01 IC with the antenna for enhanced Power Amplification (PA) and Low Noise Amplification (LNA) features. While they boast greater range with the same functionality, they are subject to a couple lesser known (and lesser advertised) drawbacks:
1. Stronger power source. Below is a chart of advertised current requirements that many MCU boards’ 3V regulators may not be able to provide (after supplying power to internal components).
| Specification | Value |
Expand All @@ -93,14 +93,13 @@ You may find variants of the nRF24L01 transceiver that are marketed as “nRF24L
| Receive Mode current(peak) | 45 mA |
| Power-down mode current | 4.2 µA |
2. Needs shielding from electromagnetic interference. Shielding usually works best when it has a path to ground (GND pin), but this connection to the GND pin is not required. It is important that the sheilding does not touch any current carrying parts.
2. Needs shielding from electromagnetic interference. Shielding usually works best when it has a path to ground (GND pin), but this connection to the GND pin is not required. It is important that the shielding does not touch any current carrying parts.
- Professionals tend to use a faraday cage/mesh to implement electromagnetic shielding, but it can be pricey for this scenario.
- A quick do-it-yourself solution (as proof-of-concept) would be to wrap the PA/LNA module with electrical tape and then wrap foil around the electrical tape (for shielding) while being very careful to not let the foil touch any current carrying parts (like the GPIO pins, the antenna mount, and the soldier joints for the antenna mount). Observe
[![ghetto_shielding_1.png](https://github.com/nRF24/RF24/blob/master/images/ghetto_sheilding_1.png)](https://github.com/nRF24/RF24/blob/master/images/ghetto_sheilding_1.png)
[![ghetto_shielding_2.png](https://github.com/nRF24/RF24/blob/master/images/ghetto_sheilding_2.png)](https://github.com/nRF24/RF24/blob/master/images/ghetto_sheilding_2.png)
### My PA/LNA module doesnt perform as well as I'd hoped or the NRF radio works better on touching it
### My PA/LNA module doesn't perform as well as I'd hoped or the NRF radio works better on touching it
As described above, the radio modules (notably the PA+LNA versions) are reliant on a stable power source. While these modules may work with a poor power supply, they often lose packets or fail to receive as many as a module with a better power source. Moreover, this can sometimes be seen in odd ways such as the radio module working better when touched. This again is likely a power stability issue because the radio module is missing a capacitor (a commonly neglected expense on behalf of the module's manufacturer).
Expand Down
Loading

0 comments on commit aa815f7

Please sign in to comment.