Skip to content

Commit

Permalink
Add support for nRF24L01+ radio module
Browse files Browse the repository at this point in the history
  • Loading branch information
ogorodnik committed Feb 16, 2025
1 parent 6b1413d commit 582452a
Show file tree
Hide file tree
Showing 8 changed files with 2,824 additions and 0 deletions.
1,181 changes: 1,181 additions & 0 deletions components/src/radio/nrf24l01p/nrf24l01p.adb

Large diffs are not rendered by default.

917 changes: 917 additions & 0 deletions components/src/radio/nrf24l01p/nrf24l01p.ads

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions examples/STM32F429_Discovery/nrf24l01p_f429disco.gpr
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
with "../../boards/stm32f429_discovery/stm32f429_discovery_full.gpr";

project nRF24L01p_F429Disco extends "../shared/common/common.gpr" is

for Runtime ("Ada") use STM32F429_Discovery_Full'Runtime("Ada");
for Target use "arm-eabi";
for Main use ("nrf24l01p_example.adb");
for Languages use ("Ada");
for Source_Dirs use ("../shared/nrf24l01p/src");
for Object_Dir use "../shared/nrf24l01p/obj/stm32f429disco";
for Create_Missing_Dirs use "True";

package Compiler renames STM32F429_Discovery_Full.Compiler;

end nRF24L01p_F429Disco;
24 changes: 24 additions & 0 deletions examples/shared/nrf24l01p/.gdbinit
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# This command file will cause a Cortex-M3 or -M4 board to automatically
# reset immediately after a GDB "load" command executes. Note that GPS
# issues that command as part of the Debug->Init menu invocation. Manual
# "load" command invocations will also trigger the action.
#
# The reset is achieved by writing to the "Application Interrupt and Reset
# Control" register located at address 0xE000ED0C.
#
# Both the processor and the peripherals can be reset by writing a value
# of 0x05FA0004. That value will write to the SYSRESETREQ bit. If you want
# to avoid resetting the peripherals, change the value to 0x05FA0001. That
# value will write to the VECTRESET bit. Do *not* use a value that sets both
# bits.
#
# In both cases, any on-board debug hardware is not reset.
#
# See the book "The Definitive Guide to the ARM Cortex-M3 and Cortex-M4
# Processors" by Joseph Yiu, 3rd edition, pp 262-263 for further details.

define hookpost-load
echo Resetting the processor and peripherals...\n
set *0xE000ED0C := 0x05FA0004
echo Reset complete\n
end
21 changes: 21 additions & 0 deletions examples/shared/nrf24l01p/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
This is a simple test/example for nRF24L01+ with
STM32F429Disco. Two nRF24L01+ should be connected
to the following board's pins:
TX:
CE PB7
CSN PE3
SPI4 Pins:
PE2 SPI4_SCK
PE5 SPI4_MISO
PE6 SPI4_MOSI

RX:
CE PC11
CSN PC12
IRQ PB4
SPI4 Pins:
PE2 SPI4_SCK
PE5 SPI4_MISO
PE6 SPI4_MOSI

to communicate with each other.
Loading

0 comments on commit 582452a

Please sign in to comment.