Skip to content

Commit f3b7ebe

Browse files
committed
samples: Added fade sample
Added a fade sample to demonstrate how to use analogWrite API Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
1 parent 1948a8c commit f3b7ebe

File tree

4 files changed

+69
-0
lines changed

4 files changed

+69
-0
lines changed

samples/fade/CMakeLists.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
cmake_minimum_required(VERSION 3.20.0)
4+
5+
set(DTC_OVERLAY_FILE $ENV{ZEPHYR_BASE}/../modules/lib/Arduino-Zephyr-API/variants/${BOARD}/${BOARD}.overlay)
6+
7+
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
8+
project(fade)
9+
10+
target_sources(app PRIVATE src/app.cpp)
11+
12+
zephyr_compile_options(-Wno-unused-variable -Wno-comment)

samples/fade/README.rst

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
.. _fade:
2+
3+
Fade
4+
####
5+
6+
Overview
7+
********
8+
9+
The Fade sample gradually increases/decreases the voltage of the output pin.
10+
When connecting the LED to the output pin, the LED blinks gradually.
11+
12+
Building and Running
13+
********************
14+
15+
Build and flash Fade sample as follows,
16+
17+
```sh
18+
$> west build -p -b arduino_nano_33_ble samples/basic/fade/ -DZEPHYR_EXTRA_MODULES=/home/$USER/zephyrproject/modules/lib/Arduino-Core-Zephyr
19+
20+
$> west flash --bossac=/home/$USER/.arduino15/packages/arduino/tools/bossac/1.9.1-arduino2/bossac
21+
```

samples/fade/prj.conf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
CONFIG_CPLUSPLUS=y
2+
CONFIG_ARDUINO_API=y
3+
CONFIG_GPIO=y
4+
CONFIG_PWM=y

samples/fade/src/app.cpp

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/*
2+
* Copyright (c) 2022 TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <Arduino.h>
8+
#include "zephyrSerial.h"
9+
10+
const int led = 3; // PWM output pin.
11+
const int increments = 5;
12+
const int wait_ms = 10;
13+
14+
void setup() {
15+
/* Pin that use as the PWM output must not configure by pinMode() */
16+
}
17+
18+
void loop() {
19+
int value = 0;
20+
while (value < 256) {
21+
analogWrite(led, value);
22+
value += increments;
23+
delay(wait_ms);
24+
}
25+
26+
value = 255;
27+
while (value >= 0) {
28+
analogWrite(led, value);
29+
value -= increments;
30+
delay(wait_ms);
31+
}
32+
}

0 commit comments

Comments
 (0)