zephyr/samples/basic/blink_led
Andrzej Głąbek 20202902f2 dts_fixups: Use DT_ prefix in all defined labels not related to Kconfig
These changes were obtained by running a script  created by
Ulf Magnusson <Ulf.Magnusson@nordicsemi.no> for the following
specification:

1. Read the contents of all dts_fixup.h files in Zephyr
2. Check the left-hand side of the #define macros (i.e. the X in
   #define X Y)
3. Check if that name is also the name of a Kconfig option
   3.a If it is, then do nothing
   3.b If it is not, then replace CONFIG_ with DT_ or add DT_ if it
       has neither of these two prefixes
4. Replace the use of the changed #define in the code itself
   (.c, .h, .ld)

Additionally, some tweaks had to be added to this script to catch some
of the macros used in the code in a parameterized form, e.g.:
- CONFIG_GPIO_STM32_GPIO##__SUFFIX##_BASE_ADDRESS
- CONFIG_UART_##idx##_TX_PIN
- I2C_SBCON_##_num##_BASE_ADDR
and to prevent adding DT_ prefix to the following symbols:
- FLASH_START
- FLASH_SIZE
- SRAM_START
- SRAM_SIZE
- _ROM_ADDR
- _ROM_SIZE
- _RAM_ADDR
- _RAM_SIZE
which are surprisingly also defined in some dts_fixup.h files.

Finally, some manual corrections had to be done as well:
- name##_IRQ -> DT_##name##_IRQ in uart_stm32.c

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2018-11-13 10:44:42 -06:00
..
src dts_fixups: Use DT_ prefix in all defined labels not related to Kconfig 2018-11-13 10:44:42 -06:00
CMakeLists.txt samples, tests: Use semi-accurate project names 2018-10-27 21:31:25 -04:00
README.rst
prj.conf
prj_nrf52832_mdk.conf samples: blink_led: make it work for nrf52832-mdk 2018-10-17 12:51:22 -05:00
prj_nrf52840_mdk.conf samples: blink_led: make it work for nrf52840-mdk 2018-10-17 12:51:22 -05:00
prj_nrf52840_pca10056.conf
sample.yaml samples: blink_led: make it work for nrf52832-mdk 2018-10-17 12:51:22 -05:00

README.rst

.. _blink-led-sample:

PWM: Blink LED
##############

Overview
********

This is a sample app which blinks a LED using PWM.

The LED will start at a blinking frequency of 1 Hz. Every 4 seconds,
the blinking frequency will double. When the blinking frequency
reaches 64 Hz, the blinking frequency will be halved every 4 seconds
until the blinking frequency reaches 1 Hz. This completes a whole
blinking cycle. This faster-then-slower LED blinking cycle repeats forever.

Wiring
******

Arduino 101 and Quark D2000 CRB
===============================
You will need to connect the LED to ground and PWM0 via the shield.
You may need a current limiting resistor. See your LED datasheet.

Nucleo_F401RE, Nucleo_L476RG, STM32F4_DISCOVERY, Nucleo_F302R8
==============================================================
Connect PWM2(PA0) to LED

Nucleo_F103RB
=============
Connect PWM1(PA8) to LED

Hexiwear K64
============
No special board setup is necessary because there is an on-board RGB LED
connected to the K64 PWM.

nRF52840_PCA10056
=================
No special board setup is necessary because there is an on-board LED connected.

Building and Running
********************

This sample can be built for multiple boards, in this example we will build it
for the arduino_101 board:

.. zephyr-app-commands::
   :zephyr-app: samples/basic/blink_led
   :board: arduino_101
   :goals: build flash
   :compact:

After flashing the image to the board, the user LED on the board should start to
blinking as discussed in overview