nRF24 / RF24Network

OSI Layer 3 Networking for nRF24L01(+) and nRF52x on Arduino and Raspberry Pi
https://nrf24.github.io/RF24Network/
GNU General Public License v2.0
353 stars 163 forks source link

Template layer for radio HW abstraction #210

Closed 2bndy5 closed 1 year ago

2bndy5 commented 1 year ago

solves #204

This layer was unique in that I had to re-write the python wrapper to allow for using the renamed template class. Everything else is typical template implementation.

github-actions[bot] commented 1 year ago

Memory usage change @ ecba37cdd20a1c13b7a10c3b3252acc039a36bb7

Board flash % RAM for global variables %
arduino:avr:nano 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrzero :small_red_triangle: +40 - +44 +0.02 - +0.02 :small_red_triangle: +16 - +16 +0.05 - +0.05
Click for full report table Board|`examples/helloworld_rx`
flash|%|`examples/helloworld_rx`
RAM for global variables|%|`examples/helloworld_rx_advanced`
flash|%|`examples/helloworld_rx_advanced`
RAM for global variables|%|`examples/helloworld_tx_advanced`
flash|%|`examples/helloworld_tx_advanced`
RAM for global variables|%|`examples/helloworld_tx`
flash|%|`examples/helloworld_tx`
RAM for global variables|%|`examples/Network_Priority_RX`
flash|%|`examples/Network_Priority_RX`
RAM for global variables|%|`examples/Network_Priority_TX`
flash|%|`examples/Network_Priority_TX`
RAM for global variables|% -|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|- `arduino:avr:nano`|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 `arduino:samd:mkrzero`|44|0.02|16|0.05|44|0.02|16|0.05|40|0.02|16|0.05|40|0.02|16|0.05|44|0.02|16|0.05|40|0.02|16|0.05
Click for full report CSV ``` Board,examples/helloworld_rx
flash,%,examples/helloworld_rx
RAM for global variables,%,examples/helloworld_rx_advanced
flash,%,examples/helloworld_rx_advanced
RAM for global variables,%,examples/helloworld_tx_advanced
flash,%,examples/helloworld_tx_advanced
RAM for global variables,%,examples/helloworld_tx
flash,%,examples/helloworld_tx
RAM for global variables,%,examples/Network_Priority_RX
flash,%,examples/Network_Priority_RX
RAM for global variables,%,examples/Network_Priority_TX
flash,%,examples/Network_Priority_TX
RAM for global variables,% arduino:avr:nano,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrzero,44,0.02,16,0.05,44,0.02,16,0.05,40,0.02,16,0.05,40,0.02,16,0.05,44,0.02,16,0.05,40,0.02,16,0.05 ```
2bndy5 commented 1 year ago

That size report is interesting. Good to know these changes don't negatively affect the nano.

2bndy5 commented 1 year ago

tested on PicoSDK and Linux python wrapper ✔️