Skip to content

Commit 9ca8bee

Browse files
committed
Add support for nRF24L01+ radio module
1 parent 6b1413d commit 9ca8bee

File tree

8 files changed

+2810
-0
lines changed

8 files changed

+2810
-0
lines changed

components/src/radio/nrf24l01p/nrf24l01p.adb

Lines changed: 1167 additions & 0 deletions
Large diffs are not rendered by default.

components/src/radio/nrf24l01p/nrf24l01p.ads

Lines changed: 917 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
with "../../boards/stm32f429_discovery/stm32f429_discovery_full.gpr";
2+
3+
project nRF24L01p_F429Disco extends "../shared/common/common.gpr" is
4+
5+
for Runtime ("Ada") use STM32F429_Discovery_Full'Runtime("Ada");
6+
for Target use "arm-eabi";
7+
for Main use ("nrf24l01p_example.adb");
8+
for Languages use ("Ada");
9+
for Source_Dirs use ("../shared/nrf24l01p/src");
10+
for Object_Dir use "../shared/nrf24l01p/obj/stm32f429disco";
11+
for Create_Missing_Dirs use "True";
12+
13+
package Compiler renames STM32F429_Discovery_Full.Compiler;
14+
15+
end nRF24L01p_F429Disco;

examples/shared/nrf24l01p/.gdbinit

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# This command file will cause a Cortex-M3 or -M4 board to automatically
2+
# reset immediately after a GDB "load" command executes. Note that GPS
3+
# issues that command as part of the Debug->Init menu invocation. Manual
4+
# "load" command invocations will also trigger the action.
5+
#
6+
# The reset is achieved by writing to the "Application Interrupt and Reset
7+
# Control" register located at address 0xE000ED0C.
8+
#
9+
# Both the processor and the peripherals can be reset by writing a value
10+
# of 0x05FA0004. That value will write to the SYSRESETREQ bit. If you want
11+
# to avoid resetting the peripherals, change the value to 0x05FA0001. That
12+
# value will write to the VECTRESET bit. Do *not* use a value that sets both
13+
# bits.
14+
#
15+
# In both cases, any on-board debug hardware is not reset.
16+
#
17+
# See the book "The Definitive Guide to the ARM Cortex-M3 and Cortex-M4
18+
# Processors" by Joseph Yiu, 3rd edition, pp 262-263 for further details.
19+
20+
define hookpost-load
21+
echo Resetting the processor and peripherals...\n
22+
set *0xE000ED0C := 0x05FA0004
23+
echo Reset complete\n
24+
end

examples/shared/nrf24l01p/README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
This is a simple test/example for nRF24L01+ with
2+
STM32F429Disco. Two nRF24L01+ should be connected
3+
to the following board's pins:
4+
TX:
5+
CE PB7
6+
CSN PE3
7+
SPI4 Pins:
8+
PE2 SPI4_SCK
9+
PE5 SPI4_MISO
10+
PE6 SPI4_MOSI
11+
12+
RX:
13+
CE PC11
14+
CSN PC12
15+
IRQ PB4
16+
SPI4 Pins:
17+
PE2 SPI4_SCK
18+
PE5 SPI4_MISO
19+
PE6 SPI4_MOSI
20+
21+
to communicate with each other.

0 commit comments

Comments
 (0)