Squashed commit of the following:
Author: Gregory Nutt <gnutt@nuttx.org> A few trivial updates from review of changes. Remove references to NRF52-PCA10040 from documentation. Replace with NRF52-generic. Remove configs/nrf52-pca10040/ Replaced with configs/nrf52-generic. Author: Zou Hanya <hanyazou@gmail.com> Improve LED handling #if~#endif in nrf52_autoleds.c and nrf52_userleds.c Add Adafruit Feather nRF52 board LED support Add Adafruit Feather nRF52 board Add nrf52-generic Replace 'pca10040' with 'generic' Copy from nrf52-pca10040 to nrf52-generic
This commit is contained in:
parent
d2da0be4ee
commit
74cd8a53d5
@ -8,7 +8,7 @@
|
|||||||
<tr align="center" bgcolor="#e4e4e4">
|
<tr align="center" bgcolor="#e4e4e4">
|
||||||
<td>
|
<td>
|
||||||
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
|
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
|
||||||
<p>Last Updated: November 14, 2018</p>
|
<p>Last Updated: November 18, 2018</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@ -1530,7 +1530,7 @@
|
|||||||
<li><a href="#armcortexr4">ARM Cortex-R4</a> (2)</li>
|
<li><a href="#armcortexr4">ARM Cortex-R4</a> (2)</li>
|
||||||
<li><a href="#armcortexm0">ARM Cortex-M0/M0+</a> (10)</li>
|
<li><a href="#armcortexm0">ARM Cortex-M0/M0+</a> (10)</li>
|
||||||
<li><a href="#armcortexm3">ARM Cortex-M3</a> (37)</li>
|
<li><a href="#armcortexm3">ARM Cortex-M3</a> (37)</li>
|
||||||
<li><a href="#armcortexm4">ARM Cortex-M4</a> (49)</li>
|
<li><a href="#armcortexm4">ARM Cortex-M4</a> (50)</li>
|
||||||
<li><a href="#armcortexm7">ARM Cortex-M7</a> (13)</li>
|
<li><a href="#armcortexm7">ARM Cortex-M7</a> (13)</li>
|
||||||
</ul>
|
</ul>
|
||||||
<li>Atmel AVR
|
<li>Atmel AVR
|
||||||
@ -3793,11 +3793,16 @@ nsh>
|
|||||||
<a name="nrf52"><b>Nordic Semiconductor/NRF52xxx</b>.</a>
|
<a name="nrf52"><b>Nordic Semiconductor/NRF52xxx</b>.</a>
|
||||||
Initial architecture support of the NRF52 including UART, Timer, and GPIOs was contributed by Janne Rosberg in NuttX-7.25.
|
Initial architecture support of the NRF52 including UART, Timer, and GPIOs was contributed by Janne Rosberg in NuttX-7.25.
|
||||||
Janne also contributed board support for the NRF52-PCA10040 development board at that time.
|
Janne also contributed board support for the NRF52-PCA10040 development board at that time.
|
||||||
Additional drivers include:
|
</p>
|
||||||
|
<p>
|
||||||
|
The NRF52 was generalized by Hanya Zou in NuttX-7.28 for any similar board based on the NRF52832 MCU. Support was specifically included for the Adafruit NRF52 Feather board.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Available drivers include:
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<b>NuttX-7.25</b>. A watchdog timer driver was added by Levin Li.
|
<b>NuttX-7.25</b>. UART, Timer, and GPIOs from Janne Rosberg and a watchdog timer driver was added by Levin Li.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<b>NuttX-7.25</b>. Flash PROGMEM support was added by Alan Carvalho de Assis.
|
<b>NuttX-7.25</b>. Flash PROGMEM support was added by Alan Carvalho de Assis.
|
||||||
@ -3806,25 +3811,11 @@ nsh>
|
|||||||
<ul>
|
<ul>
|
||||||
<p>
|
<p>
|
||||||
<b>STATUS:</b>
|
<b>STATUS:</b>
|
||||||
Refer to the NRF52-PCA10040 board <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/nrf52-pca10040/README.txt" target="_blank">README</a> file for further information.
|
Refer to the generic NRF52 board <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/nrf52-generic/README.txt" target="_blank">README</a> file for further information.
|
||||||
</p>
|
</p>
|
||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
* Nordic NRF52 Drivers:
|
|
||||||
|
|
||||||
- NRF52: Added watchdog timer drivers. Includes significant
|
|
||||||
updates from Levin Li.
|
|
||||||
- NRF52: Added nRF52 Flash PROGMEM support From Alan Carvalho de
|
|
||||||
Assis.
|
|
||||||
|
|
||||||
* Nordic NRF52 Boards:
|
|
||||||
|
|
||||||
- NRF52: Added support for the NRF52 including initially UART, Timer
|
|
||||||
and GPIO support. From Janne Rosberg.
|
|
||||||
|
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><br></td>
|
<td><br></td>
|
||||||
<td><hr></td>
|
<td><hr></td>
|
||||||
@ -4071,9 +4062,6 @@ nsh>
|
|||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<li><a href="#">STMicro STM32F334</a> <small>(STM32 F3 family, ARM Cortex-M4)</small></li>
|
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><br></td>
|
<td><br></td>
|
||||||
<td><hr></td>
|
<td><hr></td>
|
||||||
@ -4082,8 +4070,8 @@ nsh>
|
|||||||
<td><br></td>
|
<td><br></td>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
<a name="stm32f334x"><b>STMicro STM32 STM32F334 (STM32 F3 family, ARM Cortex-M4)</b>.</a>
|
<a name="stm32f334x"><b>STMicro STM32 F334 (STM32 F3 family, ARM Cortex-M4)</b>.</a>
|
||||||
<p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Support for the STMicro <b>STM32F334-Disco</b> board was contributed by Mateusz Szafoni in NuttX-7.22 and for the <b>Nucleo-STM32F334R8</b> was contributed in an earlier release.
|
Support for the STMicro <b>STM32F334-Disco</b> board was contributed by Mateusz Szafoni in NuttX-7.22 and for the <b>Nucleo-STM32F334R8</b> was contributed in an earlier release.
|
||||||
</p>
|
</p>
|
||||||
@ -5240,9 +5228,6 @@ Mem: 29232 5920 23312 23312
|
|||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<li><a href="#">Atmel SAMD5x/E5x</a> <small>(ARM Cortex-M4)</small></li>
|
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><br></td>
|
<td><br></td>
|
||||||
<td><hr></td>
|
<td><hr></td>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<tr align="center" bgcolor="#e4e4e4">
|
<tr align="center" bgcolor="#e4e4e4">
|
||||||
<td>
|
<td>
|
||||||
<h1><big><font color="#3c34ec"><i>NuttX README Files</i></font></big></h1>
|
<h1><big><font color="#3c34ec"><i>NuttX README Files</i></font></big></h1>
|
||||||
<p>Last Updated: November 17, 2018</p>
|
<p>Last Updated: November 18, 2018</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@ -173,8 +173,8 @@ nuttx/
|
|||||||
| | `- <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/moteino-mega/README.txt" target="_blank"><b><i>README.txt</i></b></a>
|
| | `- <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/moteino-mega/README.txt" target="_blank"><b><i>README.txt</i></b></a>
|
||||||
| |- ne64badge/
|
| |- ne64badge/
|
||||||
| | `- <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/ne64badge/README.txt" target="_blank"><b><i>README.txt</i></b></a>
|
| | `- <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/ne64badge/README.txt" target="_blank"><b><i>README.txt</i></b></a>
|
||||||
| |- nrf52-pca10040/
|
| |- nrf52-generic/
|
||||||
| | `- <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/nrf52-pca10040/README.txt" target="_blank"><b><i>README.txt</i></b></a>
|
| | `- <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/nrf52-generic/README.txt" target="_blank"><b><i>README.txt</i></b></a>
|
||||||
| |- ntosd-dm320/
|
| |- ntosd-dm320/
|
||||||
| | |- <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/ntosd-dm320/doc/README.txt" target="_blank">doc/README.txt</a>
|
| | |- <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/ntosd-dm320/doc/README.txt" target="_blank">doc/README.txt</a>
|
||||||
| | `- <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/ntosd-dm320/README.txt" target="_blank"><b><i>README.txt</i></b></a>
|
| | `- <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/ntosd-dm320/README.txt" target="_blank"><b><i>README.txt</i></b></a>
|
||||||
|
@ -1847,7 +1847,7 @@ nuttx/
|
|||||||
| | `- README.txt
|
| | `- README.txt
|
||||||
| |- ne63badge/
|
| |- ne63badge/
|
||||||
| | `- README.txt
|
| | `- README.txt
|
||||||
| |- nrf52-pca10040/
|
| |- nrf52-generic/
|
||||||
| | `- README.txt
|
| | `- README.txt
|
||||||
| |- ntosd-dm320/
|
| |- ntosd-dm320/
|
||||||
| | |- doc/README.txt
|
| | |- doc/README.txt
|
||||||
|
@ -174,6 +174,7 @@
|
|||||||
# define GPIO_PIN29 (29 << GPIO_PIN_SHIFT)
|
# define GPIO_PIN29 (29 << GPIO_PIN_SHIFT)
|
||||||
# define GPIO_PIN30 (30 << GPIO_PIN_SHIFT)
|
# define GPIO_PIN30 (30 << GPIO_PIN_SHIFT)
|
||||||
# define GPIO_PIN31 (31 << GPIO_PIN_SHIFT)
|
# define GPIO_PIN31 (31 << GPIO_PIN_SHIFT)
|
||||||
|
# define GPIO_PIN(n) ((n) << GPIO_PIN_SHIFT)
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Public Types
|
* Public Types
|
||||||
|
@ -553,6 +553,17 @@ config ARCH_BOARD_NRF52_PCA10040
|
|||||||
---help---
|
---help---
|
||||||
PCA10040 Evaluation board
|
PCA10040 Evaluation board
|
||||||
|
|
||||||
|
config ARCH_BOARD_NRF52_GENERIC
|
||||||
|
bool "Generic NRF52832 board"
|
||||||
|
depends on ARCH_CHIP_NRF52
|
||||||
|
select ARCH_HAVE_LEDS
|
||||||
|
select ARCH_HAVE_BUTTONS
|
||||||
|
---help---
|
||||||
|
NuttX port to the a generic NRF52832 board. Support is in place for
|
||||||
|
the NRF PCA10040 board from Nordic Semiconductor or for the Adafruit
|
||||||
|
NRF52 feather and can be simply extended to other board based on the
|
||||||
|
NRF52832 MCU.
|
||||||
|
|
||||||
config ARCH_BOARD_LPC1766STK
|
config ARCH_BOARD_LPC1766STK
|
||||||
bool "Olimex LPC1766-STK board"
|
bool "Olimex LPC1766-STK board"
|
||||||
depends on ARCH_CHIP_LPC1766
|
depends on ARCH_CHIP_LPC1766
|
||||||
@ -1755,7 +1766,7 @@ config ARCH_BOARD
|
|||||||
default "misoc" if ARCH_BOARD_MISOC
|
default "misoc" if ARCH_BOARD_MISOC
|
||||||
default "moteino-mega" if ARCH_BOARD_MOTEINO_MEGA
|
default "moteino-mega" if ARCH_BOARD_MOTEINO_MEGA
|
||||||
default "ne64badge" if ARCH_BOARD_NE64BADGE
|
default "ne64badge" if ARCH_BOARD_NE64BADGE
|
||||||
default "nrf52-pca10040" if ARCH_BOARD_NRF52_PCA10040
|
default "nrf52-generic" if ARCH_BOARD_NRF52_GENERIC
|
||||||
default "ntosd-dm320" if ARCH_BOARD_NTOSD_DM320
|
default "ntosd-dm320" if ARCH_BOARD_NTOSD_DM320
|
||||||
default "nucleo-144" if ARCH_BOARD_NUCLEO_144
|
default "nucleo-144" if ARCH_BOARD_NUCLEO_144
|
||||||
default "nucleo-f072rb" if ARCH_BOARD_NUCLEO_F072RB
|
default "nucleo-f072rb" if ARCH_BOARD_NUCLEO_F072RB
|
||||||
@ -2068,8 +2079,8 @@ endif
|
|||||||
if ARCH_BOARD_NE64BADGE
|
if ARCH_BOARD_NE64BADGE
|
||||||
source "configs/ne64badge/Kconfig"
|
source "configs/ne64badge/Kconfig"
|
||||||
endif
|
endif
|
||||||
if ARCH_BOARD_NRF52_PCA10040
|
if ARCH_BOARD_NRF52_GENERIC
|
||||||
source "configs/nrf52-pca10040/Kconfig"
|
source "configs/nrf52-generic/Kconfig"
|
||||||
endif
|
endif
|
||||||
if ARCH_BOARD_NTOSD_DM320
|
if ARCH_BOARD_NTOSD_DM320
|
||||||
source "configs/ntosd-dm320/Kconfig"
|
source "configs/ntosd-dm320/Kconfig"
|
||||||
|
@ -410,9 +410,10 @@ configs/ne64badge
|
|||||||
STATUS: Under development. The port is code-complete but has
|
STATUS: Under development. The port is code-complete but has
|
||||||
not yet been fully tested.
|
not yet been fully tested.
|
||||||
|
|
||||||
configs/nrf52-pca10040
|
configs/nrf52-generic
|
||||||
NuttX port to the NRF PCA10040 board from Nordic Semiconductor
|
NuttX port to the a generic NRF52. Support is in place for the NRF
|
||||||
featuring the NRF52832 MCU.
|
PCA10040 board from Nordic Semiconductor or for the Adafruit NRF52
|
||||||
|
feather, both featuring the NRF52832 MCU.
|
||||||
|
|
||||||
configs/ntosd-dm320
|
configs/ntosd-dm320
|
||||||
This port uses the Neuros OSD v1.0 Dev Board with a GNU arm-nuttx-elf
|
This port uses the Neuros OSD v1.0 Dev Board with a GNU arm-nuttx-elf
|
||||||
|
56
configs/nrf52-generic/Kconfig
Normal file
56
configs/nrf52-generic/Kconfig
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
#
|
||||||
|
# For a description of the syntax of this configuration file,
|
||||||
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
|
#
|
||||||
|
|
||||||
|
if ARCH_BOARD_NRF52_GENERIC
|
||||||
|
|
||||||
|
config NRF52_GENERIC_UART0_RX_PIN
|
||||||
|
int "Pin select for UART0 TXD"
|
||||||
|
default 23
|
||||||
|
---help---
|
||||||
|
Pin select for UART0 TXD
|
||||||
|
|
||||||
|
config NRF52_GENERIC_UART0_TX_PIN
|
||||||
|
int "Pin select for UART0 TXD"
|
||||||
|
default 24
|
||||||
|
---help---
|
||||||
|
Pin select for UART0 TXD
|
||||||
|
|
||||||
|
config NRF52_GENERIC_NUM_LEDS
|
||||||
|
int "Number of LEDs"
|
||||||
|
default 4
|
||||||
|
---help---
|
||||||
|
Number of LEDs
|
||||||
|
|
||||||
|
config NRF52_GENERIC_LED_ACTIVELOW
|
||||||
|
bool "Board LEDs are 'active low'"
|
||||||
|
default y
|
||||||
|
---help---
|
||||||
|
Board LEDs are 'active low'
|
||||||
|
|
||||||
|
config NRF52_GENERIC_LED1_PIN
|
||||||
|
int "Pin select for LED 1"
|
||||||
|
default 17
|
||||||
|
---help---
|
||||||
|
Pin select for LED 1
|
||||||
|
|
||||||
|
config NRF52_GENERIC_LED2_PIN
|
||||||
|
int "Pin select for LED 2"
|
||||||
|
default 18
|
||||||
|
---help---
|
||||||
|
Pin select for LED 2
|
||||||
|
|
||||||
|
config NRF52_GENERIC_LED3_PIN
|
||||||
|
int "Pin select for LED 3"
|
||||||
|
default 19
|
||||||
|
---help---
|
||||||
|
Pin select for LED 3
|
||||||
|
|
||||||
|
config NRF52_GENERIC_LED4_PIN
|
||||||
|
int "Pin select for LED 4"
|
||||||
|
default 20
|
||||||
|
---help---
|
||||||
|
Pin select for LED 4
|
||||||
|
|
||||||
|
endif
|
@ -1,35 +1,14 @@
|
|||||||
README
|
README
|
||||||
======
|
======
|
||||||
|
|
||||||
README for NuttX port to the NRF PCA10040 board from Nordic Semiconductor
|
README for NuttX port to generic NRF52832 boards.
|
||||||
featuring the NRF52832 MCU.
|
|
||||||
|
|
||||||
Contents
|
Contents
|
||||||
========
|
========
|
||||||
|
|
||||||
- PCA10040 development board
|
|
||||||
- Status
|
- Status
|
||||||
- LED and Pushbuttons
|
- PCA10040 development board
|
||||||
- Serial Console
|
|
||||||
- Configurations
|
- Configurations
|
||||||
- STATUS
|
|
||||||
|
|
||||||
PCA10040 board
|
|
||||||
==============
|
|
||||||
|
|
||||||
Memory Map
|
|
||||||
----------
|
|
||||||
|
|
||||||
Block Start Length
|
|
||||||
Name Address
|
|
||||||
--------------------- ---------- ------
|
|
||||||
FLASH 0x00000000 512K
|
|
||||||
RAM 0x20000000 64K
|
|
||||||
|
|
||||||
Console
|
|
||||||
-------
|
|
||||||
|
|
||||||
The PCA10040 default console is the UART0.
|
|
||||||
|
|
||||||
Status
|
Status
|
||||||
======
|
======
|
||||||
@ -40,10 +19,24 @@ Status
|
|||||||
are present and fully verified. This includes: SYSTICK system time,
|
are present and fully verified. This includes: SYSTICK system time,
|
||||||
pin and GPIO configuration, and serial console support.
|
pin and GPIO configuration, and serial console support.
|
||||||
|
|
||||||
LED and Pushbuttons
|
PCA10040 board
|
||||||
===================
|
==============
|
||||||
|
|
||||||
LEDS
|
Console
|
||||||
|
-------
|
||||||
|
|
||||||
|
The PCA10040 default console is the UART0.
|
||||||
|
|
||||||
|
The PCA10040 does not have RS-232 drivers or serial connectors on board.
|
||||||
|
UART0, is available on P4 as follows:
|
||||||
|
|
||||||
|
-------- -----
|
||||||
|
Signal PIN
|
||||||
|
-------- -----
|
||||||
|
UART0-TX P0.24
|
||||||
|
UART0-RX P0.23
|
||||||
|
|
||||||
|
LEDs
|
||||||
----
|
----
|
||||||
The PCA10040 has 4 user-controllable LEDs
|
The PCA10040 has 4 user-controllable LEDs
|
||||||
|
|
||||||
@ -55,47 +48,58 @@ LED and Pushbuttons
|
|||||||
|
|
||||||
A low output illuminates the LED.
|
A low output illuminates the LED.
|
||||||
|
|
||||||
If CONFIG_ARCH_LEDS is defined, the LED will be controlled as follows
|
|
||||||
for NuttX debug functionality (where NC means "No Change").
|
|
||||||
|
|
||||||
TBD!
|
|
||||||
|
|
||||||
If CONFIG_ARCH_LEDS is not defined, then the LEDs are completely under
|
|
||||||
control of the application. The following interfaces are then available
|
|
||||||
for application control of the LEDs:
|
|
||||||
|
|
||||||
void board_userled_initialize(void);
|
|
||||||
void board_userled(int led, bool ledon);
|
|
||||||
void board_userled_all(uint8_t ledset);
|
|
||||||
|
|
||||||
Pushbuttons
|
Pushbuttons
|
||||||
-----------
|
-----------
|
||||||
To be provided
|
To be provided
|
||||||
|
|
||||||
Serial Console
|
Feather nRF52 board
|
||||||
==============
|
===================
|
||||||
|
|
||||||
The PCA10040 does not have RS-232 drivers or serial connectors on board.
|
https://www.adafruit.com/product/3406
|
||||||
UART0, is available on P4 as follows:
|
|
||||||
|
|
||||||
-------- -----
|
Console
|
||||||
Signal PIN
|
-------
|
||||||
-------- -----
|
The Feather nRF52 default console is the UART0.
|
||||||
UART0-TX P0.24
|
|
||||||
UART0-RX P0.23
|
The Feather nRF52 have USB serial bridge chip on board and UART0 is
|
||||||
|
connected to micro USB connector through the bridge chip.
|
||||||
|
|
||||||
|
LEDs
|
||||||
|
----
|
||||||
|
The Feather has 2 user-controllable LEDs
|
||||||
|
|
||||||
|
LED MCU
|
||||||
|
LED1 PIN-17
|
||||||
|
LED2 PIN-19
|
||||||
|
|
||||||
|
A high output illuminates the LED.
|
||||||
|
|
||||||
|
Pushbuttons
|
||||||
|
-----------
|
||||||
|
The Feather nRF52 does not have user-controllable buttons. The reset button
|
||||||
|
on the board is connected to nRF52832 reset pin directly.
|
||||||
|
|
||||||
|
Memory Map
|
||||||
|
==========
|
||||||
|
|
||||||
|
Block Start Length
|
||||||
|
Name Address
|
||||||
|
--------------------- ---------- ------
|
||||||
|
FLASH 0x00000000 512K
|
||||||
|
RAM 0x20000000 64K
|
||||||
|
|
||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each PCA10040 configuration is maintained in a sub-directory and can be selected
|
Each configuration is maintained in a sub-directory and can be selected as
|
||||||
as follow:
|
follow:
|
||||||
|
|
||||||
tools/configure.sh nrf52-pca10040/<subdir>
|
tools/configure.sh nrf52-generic/<subdir>
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
nsh:
|
<board>-nsh:
|
||||||
----
|
-----------
|
||||||
This configuration is the NuttShell (NSH) example at examples/nsh/.
|
This configuration is the NuttShell (NSH) example at examples/nsh/.
|
||||||
|
|
||||||
NOTES:
|
NOTES:
|
||||||
@ -109,8 +113,23 @@ Where <subdir> is one of the following:
|
|||||||
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
b. Execute 'make menuconfig' in nuttx/ in order to start the
|
||||||
reconfiguration process.
|
reconfiguration process.
|
||||||
|
|
||||||
wdog:
|
<board>-wdog:
|
||||||
----
|
------------
|
||||||
|
|
||||||
This configuration is a simple NSH-based test of the nRF52 watchdog
|
This configuration is a simple NSH-based test of the nRF52 watchdog
|
||||||
timer driver using the test at apps/examples/watchdog.
|
timer driver using the test at apps/examples/watchdog.
|
||||||
|
|
||||||
|
CONFIG_ARCH_LEDS
|
||||||
|
----------------
|
||||||
|
If CONFIG_ARCH_LEDS is defined, the LED will be controlled as follows
|
||||||
|
for NuttX debug functionality (where NC means "No Change").
|
||||||
|
|
||||||
|
TBD!
|
||||||
|
|
||||||
|
If CONFIG_ARCH_LEDS is not defined, then the LEDs are completely under
|
||||||
|
control of the application. The following interfaces are then available
|
||||||
|
for application control of the LEDs:
|
||||||
|
|
||||||
|
void board_userled_initialize(void);
|
||||||
|
void board_userled(int led, bool ledon);
|
||||||
|
void board_userled_all(uint8_t ledset);
|
||||||
|
|
47
configs/nrf52-generic/feather-nsh/defconfig
Normal file
47
configs/nrf52-generic/feather-nsh/defconfig
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# CONFIG_ARCH_FPU is not set
|
||||||
|
# CONFIG_NSH_DISABLE_IFCONFIG is not set
|
||||||
|
# CONFIG_NSH_DISABLE_PS is not set
|
||||||
|
CONFIG_ARCH="arm"
|
||||||
|
CONFIG_ARCH_BOARD="nrf52-generic"
|
||||||
|
CONFIG_ARCH_BOARD_NRF52_GENERIC=y
|
||||||
|
CONFIG_ARCH_CHIP_NRF52832=y
|
||||||
|
CONFIG_ARCH_CHIP_NRF52=y
|
||||||
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
|
CONFIG_ARCH_STDARG_H=y
|
||||||
|
CONFIG_BOARD_LOOPSPERMSEC=5500
|
||||||
|
CONFIG_FAT_LCNAMES=y
|
||||||
|
CONFIG_FAT_LFN=y
|
||||||
|
CONFIG_FS_FAT=y
|
||||||
|
CONFIG_MAX_TASKS=16
|
||||||
|
CONFIG_MAX_WDOGPARMS=2
|
||||||
|
CONFIG_MM_REGIONS=2
|
||||||
|
CONFIG_NFILE_DESCRIPTORS=8
|
||||||
|
CONFIG_NFILE_STREAMS=8
|
||||||
|
CONFIG_NRF52_UART0=y
|
||||||
|
CONFIG_NSH_ARCHINIT=y
|
||||||
|
CONFIG_NSH_FILEIOSIZE=512
|
||||||
|
CONFIG_NSH_LINELEN=64
|
||||||
|
CONFIG_NSH_READLINE=y
|
||||||
|
CONFIG_PREALLOC_MQ_MSGS=4
|
||||||
|
CONFIG_PREALLOC_TIMERS=4
|
||||||
|
CONFIG_PREALLOC_WDOGS=4
|
||||||
|
CONFIG_RAM_SIZE=65535
|
||||||
|
CONFIG_RAM_START=0x20000000
|
||||||
|
CONFIG_RAW_BINARY=y
|
||||||
|
CONFIG_RR_INTERVAL=200
|
||||||
|
CONFIG_SCHED_WAITPID=y
|
||||||
|
CONFIG_SDCLONE_DISABLE=y
|
||||||
|
CONFIG_START_DAY=26
|
||||||
|
CONFIG_START_MONTH=3
|
||||||
|
CONFIG_SYMTAB_ORDEREDBYNAME=y
|
||||||
|
CONFIG_SYSTEM_NSH=y
|
||||||
|
CONFIG_TASK_NAME_SIZE=0
|
||||||
|
CONFIG_UART0_SERIAL_CONSOLE=y
|
||||||
|
CONFIG_NRF52_GENERIC_UART0_RX_PIN=8
|
||||||
|
CONFIG_NRF52_GENERIC_UART0_TX_PIN=6
|
||||||
|
CONFIG_NRF52_GENERIC_NUM_LEDS=2
|
||||||
|
# CONFIG_NRF52_GENERIC_LED_ACTIVELOW is not set
|
||||||
|
CONFIG_NRF52_GENERIC_LED1_PIN=17
|
||||||
|
CONFIG_NRF52_GENERIC_LED2_PIN=19
|
||||||
|
CONFIG_USER_ENTRYPOINT="nsh_main"
|
||||||
|
CONFIG_WDOG_INTRESERVE=0
|
52
configs/nrf52-generic/feather-userleds/defconfig
Normal file
52
configs/nrf52-generic/feather-userleds/defconfig
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
# CONFIG_ARCH_FPU is not set
|
||||||
|
# CONFIG_ARCH_LEDS is not set
|
||||||
|
# CONFIG_NRF52_GENERIC_LED_ACTIVELOW is not set
|
||||||
|
# CONFIG_NSH_DISABLE_IFCONFIG is not set
|
||||||
|
# CONFIG_NSH_DISABLE_PS is not set
|
||||||
|
CONFIG_ARCH="arm"
|
||||||
|
CONFIG_ARCH_BOARD="nrf52-generic"
|
||||||
|
CONFIG_ARCH_BOARD_NRF52_GENERIC=y
|
||||||
|
CONFIG_ARCH_CHIP_NRF52832=y
|
||||||
|
CONFIG_ARCH_CHIP_NRF52=y
|
||||||
|
CONFIG_ARCH_STACKDUMP=y
|
||||||
|
CONFIG_ARCH_STDARG_H=y
|
||||||
|
CONFIG_BOARD_LOOPSPERMSEC=5500
|
||||||
|
CONFIG_BUILTIN=y
|
||||||
|
CONFIG_EXAMPLES_LEDS=y
|
||||||
|
CONFIG_FAT_LCNAMES=y
|
||||||
|
CONFIG_FAT_LFN=y
|
||||||
|
CONFIG_FS_FAT=y
|
||||||
|
CONFIG_MAX_TASKS=16
|
||||||
|
CONFIG_MAX_WDOGPARMS=2
|
||||||
|
CONFIG_MM_REGIONS=2
|
||||||
|
CONFIG_NFILE_DESCRIPTORS=8
|
||||||
|
CONFIG_NFILE_STREAMS=8
|
||||||
|
CONFIG_NRF52_GENERIC_LED2_PIN=19
|
||||||
|
CONFIG_NRF52_GENERIC_NUM_LEDS=2
|
||||||
|
CONFIG_NRF52_GENERIC_UART0_RX_PIN=8
|
||||||
|
CONFIG_NRF52_GENERIC_UART0_TX_PIN=6
|
||||||
|
CONFIG_NRF52_UART0=y
|
||||||
|
CONFIG_NSH_ARCHINIT=y
|
||||||
|
CONFIG_NSH_BUILTIN_APPS=y
|
||||||
|
CONFIG_NSH_FILEIOSIZE=512
|
||||||
|
CONFIG_NSH_LINELEN=64
|
||||||
|
CONFIG_NSH_READLINE=y
|
||||||
|
CONFIG_PREALLOC_MQ_MSGS=4
|
||||||
|
CONFIG_PREALLOC_TIMERS=4
|
||||||
|
CONFIG_PREALLOC_WDOGS=4
|
||||||
|
CONFIG_RAM_SIZE=65535
|
||||||
|
CONFIG_RAM_START=0x20000000
|
||||||
|
CONFIG_RAW_BINARY=y
|
||||||
|
CONFIG_RR_INTERVAL=200
|
||||||
|
CONFIG_SCHED_WAITPID=y
|
||||||
|
CONFIG_SDCLONE_DISABLE=y
|
||||||
|
CONFIG_START_DAY=26
|
||||||
|
CONFIG_START_MONTH=3
|
||||||
|
CONFIG_SYMTAB_ORDEREDBYNAME=y
|
||||||
|
CONFIG_SYSTEM_NSH=y
|
||||||
|
CONFIG_TASK_NAME_SIZE=0
|
||||||
|
CONFIG_UART0_SERIAL_CONSOLE=y
|
||||||
|
CONFIG_USERLED=y
|
||||||
|
CONFIG_USERLED_LOWER=y
|
||||||
|
CONFIG_USER_ENTRYPOINT="nsh_main"
|
||||||
|
CONFIG_WDOG_INTRESERVE=0
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* configs/nrf52-pca10040/include/board.h
|
* configs/nrf52_generic/include/board.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
||||||
* Author: Janne Rosberg <janne@offcode.fi>
|
* Author: Janne Rosberg <janne@offcode.fi>
|
||||||
@ -33,8 +33,8 @@
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef _CONFIGS_NRF52_PCA10040_INCLUDE_BOARD_H
|
#ifndef _CONFIGS_NRF52_GENERIC_INCLUDE_BOARD_H
|
||||||
#define _CONFIGS_NRF52_PCA10040_INCLUDE_BOARD_H
|
#define _CONFIGS_NRF52_GENERIC_INCLUDE_BOARD_H
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Included Files
|
* Included Files
|
||||||
@ -66,7 +66,7 @@
|
|||||||
#define BOARD_LED2 1
|
#define BOARD_LED2 1
|
||||||
#define BOARD_LED3 2
|
#define BOARD_LED3 2
|
||||||
#define BOARD_LED4 3
|
#define BOARD_LED4 3
|
||||||
#define BOARD_NLEDS 4
|
#define BOARD_NLEDS CONFIG_NRF52_GENERIC_NUM_LEDS
|
||||||
|
|
||||||
/* LED bits for use with board_userled_all() */
|
/* LED bits for use with board_userled_all() */
|
||||||
|
|
||||||
@ -118,7 +118,7 @@
|
|||||||
* driver can set up the UART for the serial console properly.
|
* driver can set up the UART for the serial console properly.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define BOARD_UART0_RX_PIN (GPIO_INPUT | GPIO_PIN23)
|
#define BOARD_UART0_RX_PIN (GPIO_INPUT | GPIO_PIN(CONFIG_NRF52_GENERIC_UART0_RX_PIN))
|
||||||
#define BOARD_UART0_TX_PIN (GPIO_OUTPUT | GPIO_VALUE_ONE | GPIO_PIN24)
|
#define BOARD_UART0_TX_PIN (GPIO_OUTPUT | GPIO_VALUE_ONE | GPIO_PIN(CONFIG_NRF52_GENERIC_UART0_TX_PIN))
|
||||||
|
|
||||||
#endif /* _CONFIGS_NRF52_PCA10040_INCLUDE_BOARD_H */
|
#endif /* _CONFIGS_NRF52_GENERIC_INCLUDE_BOARD_H */
|
@ -2,8 +2,8 @@
|
|||||||
# CONFIG_NSH_DISABLE_IFCONFIG is not set
|
# CONFIG_NSH_DISABLE_IFCONFIG is not set
|
||||||
# CONFIG_NSH_DISABLE_PS is not set
|
# CONFIG_NSH_DISABLE_PS is not set
|
||||||
CONFIG_ARCH="arm"
|
CONFIG_ARCH="arm"
|
||||||
CONFIG_ARCH_BOARD="nrf52-pca10040"
|
CONFIG_ARCH_BOARD="nrf52-generic"
|
||||||
CONFIG_ARCH_BOARD_NRF52_PCA10040=y
|
CONFIG_ARCH_BOARD_NRF52_GENERIC=y
|
||||||
CONFIG_ARCH_CHIP_NRF52832=y
|
CONFIG_ARCH_CHIP_NRF52832=y
|
||||||
CONFIG_ARCH_CHIP_NRF52=y
|
CONFIG_ARCH_CHIP_NRF52=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
@ -2,8 +2,8 @@
|
|||||||
# CONFIG_NSH_DISABLE_IFCONFIG is not set
|
# CONFIG_NSH_DISABLE_IFCONFIG is not set
|
||||||
# CONFIG_NSH_DISABLE_PS is not set
|
# CONFIG_NSH_DISABLE_PS is not set
|
||||||
CONFIG_ARCH="arm"
|
CONFIG_ARCH="arm"
|
||||||
CONFIG_ARCH_BOARD="nrf52-pca10040"
|
CONFIG_ARCH_BOARD="nrf52-generic"
|
||||||
CONFIG_ARCH_BOARD_NRF52_PCA10040=y
|
CONFIG_ARCH_BOARD_NRF52_GENERIC=y
|
||||||
CONFIG_ARCH_CHIP_NRF52832=y
|
CONFIG_ARCH_CHIP_NRF52832=y
|
||||||
CONFIG_ARCH_CHIP_NRF52=y
|
CONFIG_ARCH_CHIP_NRF52=y
|
||||||
CONFIG_ARCH_STACKDUMP=y
|
CONFIG_ARCH_STACKDUMP=y
|
@ -1,5 +1,5 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
# configs/nrf52-pca10040/scripts/Make.defs
|
# configs/nrf52-generic/scripts/Make.defs
|
||||||
#
|
#
|
||||||
# Copyright (C) 2014, 2017, 2018 Gregory Nutt. All rights reserved.
|
# Copyright (C) 2014, 2017, 2018 Gregory Nutt. All rights reserved.
|
||||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* configs/nrf52-pca10040/scripts/flash_config.ld
|
* configs/nrf52-generic/scripts/flash_config.ld
|
||||||
*
|
*
|
||||||
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
||||||
* Author: Janne Rosberg <janne@offcode.fi>
|
* Author: Janne Rosberg <janne@offcode.fi>
|
@ -1,5 +1,5 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
# configs/nrf52-pca10040/src/Makefile
|
# configs/nrf52-generic/src/Makefile
|
||||||
#
|
#
|
||||||
# Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
# Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
||||||
# Author: Janne Rosberg <janne@offcode.fi>
|
# Author: Janne Rosberg <janne@offcode.fi>
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* configs/nrf52-pca10040/src/lpc4357-evb.h
|
* configs/nrf52-generic/src/nrf52-generic.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@ -33,8 +33,8 @@
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef _CONFIGS_NRF52PCA10040_SRC_NRF52PCA10040_H
|
#ifndef _CONFIGS_NRF52GENERIC_SRC_NRF52GENERIC_H
|
||||||
#define _CONFIGS_NRF52PCA10040_SRC_NRF52PCA10040_H
|
#define _CONFIGS_NRF52GENERIC_SRC_NRF52GENERIC_H
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Included Files
|
* Included Files
|
||||||
@ -50,27 +50,12 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/* LED definitions **********************************************************/
|
/* LED definitions **********************************************************/
|
||||||
/* The PCA10040 has 4 user-controllable LEDs
|
|
||||||
*
|
|
||||||
* ---- ------- -------------
|
|
||||||
* LED SIGNAL MCU
|
|
||||||
* ---- ------- -------------
|
|
||||||
* LED1 GPIO 17
|
|
||||||
* LED2 GPIO 18
|
|
||||||
* LED3 GPIO 19
|
|
||||||
* LED4 GPIO 20
|
|
||||||
* ---- ------- -------------
|
|
||||||
*
|
|
||||||
* A low output illuminates the LED.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Definitions to configure LED GPIO as outputs */
|
/* Definitions to configure LED GPIO as outputs */
|
||||||
|
|
||||||
#define GPIO_LED1 (GPIO_OUTPUT | GPIO_VALUE_ONE | GPIO_PIN17)
|
#define GPIO_LED1 (GPIO_OUTPUT | GPIO_VALUE_ONE | GPIO_PIN(CONFIG_NRF52_GENERIC_LED1_PIN))
|
||||||
#define GPIO_LED2 (GPIO_OUTPUT | GPIO_VALUE_ONE | GPIO_PIN18)
|
#define GPIO_LED2 (GPIO_OUTPUT | GPIO_VALUE_ONE | GPIO_PIN(CONFIG_NRF52_GENERIC_LED2_PIN))
|
||||||
#define GPIO_LED3 (GPIO_OUTPUT | GPIO_VALUE_ONE | GPIO_PIN19)
|
#define GPIO_LED3 (GPIO_OUTPUT | GPIO_VALUE_ONE | GPIO_PIN(CONFIG_NRF52_GENERIC_LED3_PIN))
|
||||||
#define GPIO_LED4 (GPIO_OUTPUT | GPIO_VALUE_ONE | GPIO_PIN20)
|
#define GPIO_LED4 (GPIO_OUTPUT | GPIO_VALUE_ONE | GPIO_PIN(CONFIG_NRF52_GENERIC_LED4_PIN))
|
||||||
|
|
||||||
/* Button definitions *******************************************************/
|
/* Button definitions *******************************************************/
|
||||||
/* Board supports four buttons. */
|
/* Board supports four buttons. */
|
||||||
@ -111,4 +96,4 @@
|
|||||||
int nrf52_bringup(void);
|
int nrf52_bringup(void);
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
#endif /* _CONFIGS_NRF52PCA10040_SRC_NRF52PCA10040_H */
|
#endif /* _CONFIGS_NRF52GENERIC_SRC_NRF52GENERIC_H */
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* config/nrf52-pca10040/src/nrf52_appinit.c
|
* config/nrf52-generic/src/nrf52_appinit.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
||||||
* Author: Janne Rosberg <janne@offcode.fi>
|
* Author: Janne Rosberg <janne@offcode.fi>
|
||||||
@ -46,7 +46,7 @@
|
|||||||
#include <nuttx/board.h>
|
#include <nuttx/board.h>
|
||||||
|
|
||||||
#include "chip.h"
|
#include "chip.h"
|
||||||
#include "nrf52-pca10040.h"
|
#include "nrf52-generic.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* configs/nrf52-pca10040/src/lpc43_autoleds.c
|
* configs/nrf52-generic/src/lpc43_autoleds.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@ -61,10 +61,36 @@
|
|||||||
#include "up_arch.h"
|
#include "up_arch.h"
|
||||||
#include "up_internal.h"
|
#include "up_internal.h"
|
||||||
|
|
||||||
#include "nrf52-pca10040.h"
|
#include "nrf52-generic.h"
|
||||||
|
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
|
|
||||||
|
#ifdef CONFIG_NRF52_GENERIC_LED_ACTIVELOW
|
||||||
|
#define LED_ON 0
|
||||||
|
#define LED_OFF 1
|
||||||
|
#else
|
||||||
|
#define LED_ON 1
|
||||||
|
#define LED_OFF 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* This array maps an LED number to GPIO pin configuration */
|
||||||
|
|
||||||
|
static const uint32_t g_ledcfg[BOARD_NLEDS] =
|
||||||
|
{
|
||||||
|
#if 0 < BOARD_NLEDS
|
||||||
|
GPIO_LED1,
|
||||||
|
#endif
|
||||||
|
#if 1 < BOARD_NLEDS
|
||||||
|
GPIO_LED2,
|
||||||
|
#endif
|
||||||
|
#if 2 < BOARD_NLEDS
|
||||||
|
GPIO_LED3,
|
||||||
|
#endif
|
||||||
|
#if 3 < BOARD_NLEDS
|
||||||
|
GPIO_LED4,
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Functions
|
* Private Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -93,14 +119,16 @@ static void led_dumppins(FAR const char *msg)
|
|||||||
|
|
||||||
void board_autoled_initialize(void)
|
void board_autoled_initialize(void)
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
/* Configure LED pin as a GPIO outputs */
|
/* Configure LED pin as a GPIO outputs */
|
||||||
|
|
||||||
led_dumppins("board_autoled_initialize() Entry)");
|
led_dumppins("board_autoled_initialize() Entry)");
|
||||||
|
|
||||||
nrf52_gpio_config(GPIO_LED1);
|
for (i = 0; i < BOARD_NLEDS; i++)
|
||||||
nrf52_gpio_config(GPIO_LED2);
|
{
|
||||||
nrf52_gpio_config(GPIO_LED3);
|
nrf52_gpio_config(g_ledcfg[i]);
|
||||||
nrf52_gpio_config(GPIO_LED4);
|
}
|
||||||
|
|
||||||
led_dumppins("board_autoled_initialize() Exit");
|
led_dumppins("board_autoled_initialize() Exit");
|
||||||
}
|
}
|
||||||
@ -111,24 +139,9 @@ void board_autoled_initialize(void)
|
|||||||
|
|
||||||
void board_autoled_on(int led)
|
void board_autoled_on(int led)
|
||||||
{
|
{
|
||||||
switch (led)
|
if ((unsigned)led < BOARD_NLEDS)
|
||||||
{
|
{
|
||||||
default:
|
nrf52_gpio_write(g_ledcfg[led], LED_ON);
|
||||||
case 0:
|
|
||||||
nrf52_gpio_write(GPIO_LED1, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
nrf52_gpio_write(GPIO_LED2, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
nrf52_gpio_write(GPIO_LED3, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
nrf52_gpio_write(GPIO_LED4, 0);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -138,24 +151,9 @@ void board_autoled_on(int led)
|
|||||||
|
|
||||||
void board_autoled_off(int led)
|
void board_autoled_off(int led)
|
||||||
{
|
{
|
||||||
switch (led)
|
if ((unsigned)led < BOARD_NLEDS)
|
||||||
{
|
{
|
||||||
default:
|
nrf52_gpio_write(g_ledcfg[led], LED_OFF);
|
||||||
case 0:
|
|
||||||
nrf52_gpio_write(GPIO_LED1, 1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
nrf52_gpio_write(GPIO_LED2, 1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
nrf52_gpio_write(GPIO_LED3, 1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
nrf52_gpio_write(GPIO_LED4, 1);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* configs/nrf52-pca10040/src/lpc43_boot.c
|
* configs/nrf52-generic/src/lpc43_boot.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@ -47,7 +47,7 @@
|
|||||||
#include "up_arch.h"
|
#include "up_arch.h"
|
||||||
#include "up_internal.h"
|
#include "up_internal.h"
|
||||||
|
|
||||||
#include "nrf52-pca10040.h"
|
#include "nrf52-generic.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* config/nrf52-pca10040/src/nrf53_bringup.c
|
* config/nrf52-generic/src/nrf53_bringup.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@ -42,7 +42,13 @@
|
|||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
|
|
||||||
#include "nrf52_wdt.h"
|
#ifdef CONFIG_NRF52_WDT
|
||||||
|
# include "nrf52_wdt.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_USERLED
|
||||||
|
# include <nuttx/leds/userled.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
@ -76,6 +82,16 @@ int nrf52_bringup(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_USERLED
|
||||||
|
/* Register the LED driver */
|
||||||
|
|
||||||
|
ret = userled_lower_initialize(CONFIG_EXAMPLES_LEDS_DEVPATH);
|
||||||
|
if (ret < 0)
|
||||||
|
{
|
||||||
|
syslog(LOG_ERR, "ERROR: userled_lower_initialize() failed: %d\n", ret);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
UNUSED(ret);
|
UNUSED(ret);
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* configs/nrf52-pca10400/src/nrf52_buttons.c
|
* configs/nrf52-generic/src/nrf52_buttons.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
||||||
* Author: Janne Rosberg <janne@offcode.fi>
|
* Author: Janne Rosberg <janne@offcode.fi>
|
||||||
@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
#include "nrf52_gpio.h"
|
#include "nrf52_gpio.h"
|
||||||
|
|
||||||
#include "nrf52-pca10040.h"
|
#include "nrf52-generic.h"
|
||||||
|
|
||||||
#ifdef CONFIG_ARCH_BUTTONS
|
#ifdef CONFIG_ARCH_BUTTONS
|
||||||
|
|
||||||
@ -56,7 +56,7 @@
|
|||||||
* Private Data
|
* Private Data
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/* Pin configuration for each PCA10400 button. This array is indexed by
|
/* Pin configuration for each PCA10040 button. This array is indexed by
|
||||||
* the BUTTON_* definitions in board.h
|
* the BUTTON_* definitions in board.h
|
||||||
*/
|
*/
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* configs/nrf52-pca10040/src/nrf52_userleds.c
|
* configs/nrf52-generic/src/nrf52_userleds.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
||||||
* Author: Janne Rosberg <janne@offcode.fi>
|
* Author: Janne Rosberg <janne@offcode.fi>
|
||||||
@ -49,7 +49,7 @@
|
|||||||
#include "up_arch.h"
|
#include "up_arch.h"
|
||||||
#include "up_internal.h"
|
#include "up_internal.h"
|
||||||
|
|
||||||
#include "nrf52-pca10040.h"
|
#include "nrf52-generic.h"
|
||||||
|
|
||||||
#ifndef CONFIG_ARCH_LEDS
|
#ifndef CONFIG_ARCH_LEDS
|
||||||
|
|
||||||
@ -67,6 +67,32 @@
|
|||||||
* void board_userled_all(uint8_t ledset);
|
* void board_userled_all(uint8_t ledset);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef CONFIG_NRF52_GENERIC_LED_ACTIVELOW
|
||||||
|
#define LED_ON 0
|
||||||
|
#define LED_OFF 1
|
||||||
|
#else
|
||||||
|
#define LED_ON 1
|
||||||
|
#define LED_OFF 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* This array maps an LED number to GPIO pin configuration */
|
||||||
|
|
||||||
|
static const uint32_t g_ledcfg[BOARD_NLEDS] =
|
||||||
|
{
|
||||||
|
#if 0 < BOARD_NLEDS
|
||||||
|
GPIO_LED1,
|
||||||
|
#endif
|
||||||
|
#if 1 < BOARD_NLEDS
|
||||||
|
GPIO_LED2,
|
||||||
|
#endif
|
||||||
|
#if 2 < BOARD_NLEDS
|
||||||
|
GPIO_LED3,
|
||||||
|
#endif
|
||||||
|
#if 3 < BOARD_NLEDS
|
||||||
|
GPIO_LED4,
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Functions
|
* Private Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -95,16 +121,18 @@ static void led_dumppins(FAR const char *msg)
|
|||||||
|
|
||||||
void board_userled_initialize(void)
|
void board_userled_initialize(void)
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
/* Configure LED pin as a GPIO outputs */
|
/* Configure LED pin as a GPIO outputs */
|
||||||
|
|
||||||
led_dumppins("board_userled_initialize() Entry)");
|
led_dumppins("board_userled_initialize() Entry)");
|
||||||
|
|
||||||
/* Configure GPIO as an outputs */
|
/* Configure GPIO as an outputs */
|
||||||
|
|
||||||
nrf52_gpio_config(GPIO_LED1);
|
for (i = 0; i < BOARD_NLEDS; i++)
|
||||||
nrf52_gpio_config(GPIO_LED2);
|
{
|
||||||
nrf52_gpio_config(GPIO_LED3);
|
nrf52_gpio_config(g_ledcfg[i]);
|
||||||
nrf52_gpio_config(GPIO_LED4);
|
}
|
||||||
|
|
||||||
led_dumppins("board_userled_initialize() Exit");
|
led_dumppins("board_userled_initialize() Exit");
|
||||||
}
|
}
|
||||||
@ -115,9 +143,9 @@ void board_userled_initialize(void)
|
|||||||
|
|
||||||
void board_userled(int led, bool ledon)
|
void board_userled(int led, bool ledon)
|
||||||
{
|
{
|
||||||
if (led == BOARD_LED1)
|
if ((unsigned)led < BOARD_NLEDS)
|
||||||
{
|
{
|
||||||
nrf52_gpio_write(GPIO_LED1, !ledon);
|
nrf52_gpio_write(g_ledcfg[led], ledon ? LED_ON : LED_OFF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -127,10 +155,14 @@ void board_userled(int led, bool ledon)
|
|||||||
|
|
||||||
void board_userled_all(uint8_t ledset)
|
void board_userled_all(uint8_t ledset)
|
||||||
{
|
{
|
||||||
nrf52_gpio_write(GPIO_LED1, (ledset & BOARD_LED1_BIT) == 0);
|
int i;
|
||||||
nrf52_gpio_write(GPIO_LED2, (ledset & BOARD_LED2_BIT) == 0);
|
|
||||||
nrf52_gpio_write(GPIO_LED3, (ledset & BOARD_LED3_BIT) == 0);
|
/* Configure LED1-8 GPIOs for output */
|
||||||
nrf52_gpio_write(GPIO_LED4, (ledset & BOARD_LED4_BIT) == 0);
|
|
||||||
|
for (i = 0; i < BOARD_NLEDS; i++)
|
||||||
|
{
|
||||||
|
nrf52_gpio_write(g_ledcfg[i], (ledset & (1 << i)) ? LED_ON : LED_OFF);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* !CONFIG_ARCH_LEDS */
|
#endif /* !CONFIG_ARCH_LEDS */
|
@ -1,8 +0,0 @@
|
|||||||
#
|
|
||||||
# For a description of the syntax of this configuration file,
|
|
||||||
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
||||||
#
|
|
||||||
|
|
||||||
if ARCH_BOARD_NRF52_PCA10040
|
|
||||||
|
|
||||||
endif
|
|
Loading…
Reference in New Issue
Block a user