Skip to content

Commit af88224

Browse files
modules: led: simplify led module
Simplify led module. Signed-off-by: Giacomo Dematteis <giacomo.dematteis@nordicsemi.no>
1 parent c5229f0 commit af88224

File tree

11 files changed

+175
-929
lines changed

11 files changed

+175
-929
lines changed

app/boards/thingy91x_nrf9151_ns.conf

+3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ CONFIG_BME680=y
1313
# Battery module
1414
CONFIG_APP_BATTERY=y
1515

16+
# LED module
17+
CONFIG_APP_LED=y
18+
1619
# Fuel Gage
1720
CONFIG_NRF_FUEL_GAUGE=y
1821
CONFIG_NPM1300_CHARGER=y

app/src/modules/app/app.c

+47-7
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include "cloud_module.h"
2020
#include "fota.h"
2121
#include "location.h"
22+
#include "led.h"
2223

2324
#if defined(CONFIG_APP_BATTERY)
2425
#include "battery.h"
@@ -219,7 +220,7 @@ static void init_run(void *o)
219220
}
220221

221222
if ((user_object->status == CLOUD_DISCONNECTED) ||
222-
(user_object->status == CLOUD_CONNECTED_PAUSED)) {
223+
(user_object->status == CLOUD_CONNECTED_PAUSED)) {
223224
LOG_DBG("Cloud disconnected/paused, going into disconnected state");
224225
STATE_SET(app_state, STATE_CLOUD_DISCONNECTED);
225226
return;
@@ -235,6 +236,25 @@ static void cloud_disconnected_entry(void *o)
235236

236237
LOG_DBG("%s", __func__);
237238

239+
int err;
240+
241+
/* Blink Yellow */
242+
struct led_msg led_msg = {
243+
.type = LED_RGB_SET,
244+
.red = 255,
245+
.green = 255,
246+
.blue = 0,
247+
.duration_on_msec = 1000,
248+
.duration_off_msec = 1000,
249+
.repetitions = 10,
250+
};
251+
err = zbus_chan_pub(&LED_CHAN, &led_msg, K_SECONDS(1));
252+
if (err) {
253+
LOG_ERR("zbus_chan_pub, error: %d", err);
254+
SEND_FATAL_ERROR();
255+
return;
256+
}
257+
238258
k_work_cancel_delayable(&trigger_work);
239259
}
240260

@@ -245,7 +265,7 @@ static void cloud_disconnected_run(void *o)
245265
LOG_DBG("%s", __func__);
246266

247267
if ((user_object->chan == &CLOUD_CHAN) &&
248-
(user_object->status == CLOUD_CONNECTED_READY_TO_SEND)) {
268+
(user_object->status == CLOUD_CONNECTED_READY_TO_SEND)) {
249269
LOG_DBG("Cloud connected and ready, going into connected state");
250270
STATE_SET(app_state, STATE_CLOUD_CONNECTED);
251271
return;
@@ -260,6 +280,26 @@ static void cloud_connected_entry(void *o)
260280

261281
LOG_DBG("%s", __func__);
262282

283+
int err;
284+
285+
/* Blink Green */
286+
struct led_msg led_msg = {
287+
.type = LED_RGB_SET,
288+
.red = 0,
289+
.green = 255,
290+
.blue = 0,
291+
.duration_on_msec = 1000,
292+
.duration_off_msec = 1000,
293+
.repetitions = 10,
294+
};
295+
296+
err = zbus_chan_pub(&LED_CHAN, &led_msg, K_SECONDS(1));
297+
if (err) {
298+
LOG_ERR("zbus_chan_pub, error: %d", err);
299+
SEND_FATAL_ERROR();
300+
return;
301+
}
302+
263303
k_work_reschedule(&trigger_work, K_NO_WAIT);
264304
}
265305

@@ -270,8 +310,8 @@ static void cloud_connected_run(void *o)
270310
LOG_DBG("%s", __func__);
271311

272312
if ((user_object->chan == &CLOUD_CHAN) &&
273-
((user_object->status == CLOUD_CONNECTED_PAUSED) ||
274-
(user_object->status == CLOUD_DISCONNECTED))) {
313+
((user_object->status == CLOUD_CONNECTED_PAUSED) ||
314+
(user_object->status == CLOUD_DISCONNECTED))) {
275315
LOG_DBG("Cloud disconnected/paused, going into disconnected state");
276316
STATE_SET(app_state, STATE_CLOUD_DISCONNECTED);
277317
return;
@@ -321,9 +361,9 @@ static void app_callback(const struct zbus_channel *chan)
321361
int err;
322362

323363
if ((chan != &CONFIG_CHAN) &&
324-
(chan != &CLOUD_CHAN) &&
325-
(chan != &BUTTON_CHAN) &&
326-
(chan != &TIME_CHAN)) {
364+
(chan != &CLOUD_CHAN) &&
365+
(chan != &BUTTON_CHAN) &&
366+
(chan != &TIME_CHAN)) {
327367
LOG_ERR("Unknown channel");
328368
return;
329369
}

app/src/modules/led/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,3 @@
66

77
target_include_directories(app PRIVATE .)
88
target_sources(app PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/led.c)
9-
target_sources(app PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/led_pwm.c)

app/src/modules/led/Kconfig.led

-5
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,9 @@
77
menuconfig APP_LED
88
bool "LED"
99
select LED
10-
default y if !BOARD_NATIVE_POSIX
1110

1211
if APP_LED
1312

14-
config APP_LED_PWM_WORKQUEUE_STACK_SIZE
15-
int "LED PWM WQ stack size"
16-
default 768
17-
1813
module = APP_LED
1914
module-str = LED
2015
source "subsys/logging/Kconfig.template.log_config"

0 commit comments

Comments
 (0)