I used NRF5 SKD before, it is my first time to use nrf connect sdk. I had been spent few days to learn how to use it to develop ,but encountered many problems.
LED_EFFECT_LED_ON() function is locate in ncs\nrf\applications\nrf_desktop\configuration\nrf52840_pca20041\led_state_def.h
In led_state_def.h ,There are several function to control LED in different status ,but which LED it is control??
like LED_EFFECT_LED_ON(LED_COLOR(255, 0, 20)) ,I know I can change the led color ,but how can I use this function make other led on?
This is led_state_def.h
/*
* Copyright (c) 2018 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: LicenseRef-BSD-5-Clause-Nordic
*/
#include "led_state.h"
#include "led_effect.h"
/* This configuration file is included only once from led_state module and holds
* information about LED effect associated with each state.
*/
/* This structure enforces the header file is included only once in the build.
* Violating this requirement triggers a multiple definition error at link time.
*/
const struct {} led_state_def_include_once;
/* Map function to LED ID */
static const u8_t led_map[LED_ID_COUNT] = {
[LED_ID_SYSTEM_STATE] = 0,
[LED_ID_PEER_STATE] = 1
};
static const struct led_effect led_system_state_effect[LED_SYSTEM_STATE_COUNT] = {
[LED_SYSTEM_STATE_IDLE] = LED_EFFECT_LED_ON(LED_COLOR(255, 0, 20)),
[LED_SYSTEM_STATE_CHARGING] = LED_EFFECT_LED_ON(LED_COLOR(250, 250, 250)),
[LED_SYSTEM_STATE_ERROR] = LED_EFFECT_LED_BLINK(200, LED_COLOR(255, 0, 0)),
};
static const struct led_effect led_peer_state_effect[LED_PEER_COUNT][LED_PEER_STATE_COUNT] = {
{
[LED_PEER_STATE_DISCONNECTED] = LED_EFFECT_LED_OFF(),
[LED_PEER_STATE_CONNECTED] = LED_EFFECT_LED_ON(LED_COLOR(150, 0, 0)),
[LED_PEER_STATE_PEER_SEARCH] = LED_EFFECT_LED_BREATH(500, LED_COLOR(150, 0, 0)),
[LED_PEER_STATE_CONFIRM_SELECT] = LED_EFFECT_LED_BLINK(50, LED_COLOR(150, 0, 0)),
[LED_PEER_STATE_CONFIRM_ERASE] = LED_EFFECT_LED_BLINK(25, LED_COLOR(150, 0, 0)),
[LED_PEER_STATE_ERASE_ADV] = LED_EFFECT_LED_BREATH(100, LED_COLOR(150, 0, 0)),
},
{
[LED_PEER_STATE_DISCONNECTED] = LED_EFFECT_LED_OFF(),
[LED_PEER_STATE_CONNECTED] = LED_EFFECT_LED_ON(LED_COLOR(0, 150, 0)),
[LED_PEER_STATE_PEER_SEARCH] = LED_EFFECT_LED_BREATH(500, LED_COLOR(0, 150, 0)),
[LED_PEER_STATE_CONFIRM_SELECT] = LED_EFFECT_LED_BLINK(50, LED_COLOR(0, 150, 0)),
[LED_PEER_STATE_CONFIRM_ERASE] = LED_EFFECT_LED_BLINK(25, LED_COLOR(0, 150, 0)),
[LED_PEER_STATE_ERASE_ADV] = LED_EFFECT_LED_BREATH(100, LED_COLOR(0, 150, 0)),
},
{
[LED_PEER_STATE_DISCONNECTED] = LED_EFFECT_LED_OFF(),
[LED_PEER_STATE_CONNECTED] = LED_EFFECT_LED_ON(LED_COLOR(0, 0, 150)),
[LED_PEER_STATE_PEER_SEARCH] = LED_EFFECT_LED_BREATH(500, LED_COLOR(0, 0, 150)),
[LED_PEER_STATE_CONFIRM_SELECT] = LED_EFFECT_LED_BLINK(50, LED_COLOR(0, 0, 150)),
[LED_PEER_STATE_CONFIRM_ERASE] = LED_EFFECT_LED_BLINK(25, LED_COLOR(0, 0, 150)),
[LED_PEER_STATE_ERASE_ADV] = LED_EFFECT_LED_BREATH(100, LED_COLOR(0, 0, 150)),
},
{
[LED_PEER_STATE_DISCONNECTED] = LED_EFFECT_LED_OFF(),
[LED_PEER_STATE_CONNECTED] = LED_EFFECT_LED_ON(LED_COLOR(150, 150, 150)),
[LED_PEER_STATE_PEER_SEARCH] = LED_EFFECT_LED_BREATH(500, LED_COLOR(150, 150, 150)),
[LED_PEER_STATE_CONFIRM_SELECT] = LED_EFFECT_LED_BLINK(50, LED_COLOR(150, 150, 150)),
[LED_PEER_STATE_CONFIRM_ERASE] = LED_EFFECT_LED_BLINK(25, LED_COLOR(150, 150, 150)),
[LED_PEER_STATE_ERASE_ADV] = LED_EFFECT_LED_BREATH(100, LED_COLOR(150, 150, 150)),
},
};