Skip to content

Commit 449bad5

Browse files
committed
modules: transport: Move channel definitions to module
Move channel definitions to the module folder and some minor cleanup of leftovers from previous updates to the module. Signed-off-by: Jan Tore Guggedal <jantore.guggedal@nordicsemi.no>
1 parent 0635ce3 commit 449bad5

File tree

8 files changed

+75
-53
lines changed

8 files changed

+75
-53
lines changed

app/src/common/message_channel.c

-16
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,6 @@ ZBUS_CHAN_DEFINE(FOTA_STATUS_CHAN,
3434
ZBUS_MSG_INIT(0)
3535
);
3636

37-
ZBUS_CHAN_DEFINE(PAYLOAD_CHAN,
38-
struct payload,
39-
NULL,
40-
NULL,
41-
ZBUS_OBSERVERS_EMPTY,
42-
ZBUS_MSG_INIT(0)
43-
);
44-
4537
ZBUS_CHAN_DEFINE(NETWORK_CHAN,
4638
struct network_msg,
4739
NULL,
@@ -74,14 +66,6 @@ ZBUS_CHAN_DEFINE(CONFIG_CHAN,
7466
ZBUS_MSG_INIT(0)
7567
);
7668

77-
ZBUS_CHAN_DEFINE(CLOUD_CHAN,
78-
enum cloud_msg_type,
79-
NULL,
80-
NULL,
81-
ZBUS_OBSERVERS_EMPTY,
82-
CLOUD_DISCONNECTED
83-
);
84-
8569
ZBUS_CHAN_DEFINE(BUTTON_CHAN,
8670
uint8_t,
8771
NULL,

app/src/common/message_channel.h

+2-24
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
#include <memfault/panics/assert.h>
1717
#endif
1818

19+
#include "transport_module.h"
20+
1921
#ifdef __cplusplus
2022
extern "C" {
2123
#endif
@@ -46,13 +48,6 @@ extern "C" {
4648
k_sleep(K_SECONDS(10)); \
4749
} while (0)
4850

49-
struct payload {
50-
uint8_t buffer[CONFIG_APP_PAYLOAD_CHANNEL_BUFFER_MAX_SIZE];
51-
size_t buffer_len;
52-
};
53-
54-
#define MSG_TO_PAYLOAD(_msg) ((struct payload *)_msg)
55-
5651
/** NETWORK_MODULE */
5752

5853
enum network_msg_type {
@@ -207,21 +202,6 @@ struct battery_msg {
207202

208203
#define MSG_TO_BATTERY_MSG(_msg) (*(const struct battery_msg *)_msg)
209204

210-
enum cloud_msg_type {
211-
CLOUD_DISCONNECTED = 0x1,
212-
CLOUD_CONNECTED_READY_TO_SEND,
213-
CLOUD_CONNECTED_PAUSED,
214-
CLOUD_CONNECTION_ATTEMPT_COUNT_REACHED,
215-
CLOUD_PAYLOAD_JSON,
216-
};
217-
218-
struct cloud_msg {
219-
enum cloud_msg_type type;
220-
struct payload payload;
221-
};
222-
223-
#define MSG_TO_CLOUD_MSG(_msg) (*(const struct cloud_msg *)_msg)
224-
225205
enum trigger_type {
226206
TRIGGER_POLL_SHADOW = 0x1,
227207
TRIGGER_FOTA_POLL,
@@ -293,14 +273,12 @@ struct configuration {
293273

294274
ZBUS_CHAN_DECLARE(
295275
BUTTON_CHAN,
296-
CLOUD_CHAN,
297276
CONFIG_CHAN,
298277
ERROR_CHAN,
299278
FOTA_STATUS_CHAN,
300279
LED_CHAN,
301280
NETWORK_CHAN,
302281
BATTERY_CHAN,
303-
PAYLOAD_CHAN,
304282
TIME_CHAN,
305283
TRIGGER_CHAN,
306284
TRIGGER_MODE_CHAN,

app/src/modules/shell/shell.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ static int cmd_button_press(const struct shell *sh, size_t argc,
201201
static int cmd_publish_on_payload_chan(const struct shell *sh, size_t argc, char **argv)
202202
{
203203
int err, ret;
204-
struct payload payload = {
204+
struct cloud_payload payload = {
205205
.buffer_len = strlen(argv[1]),
206206
};
207207
int64_t current_time;

app/src/modules/transport/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
55
#
66

7-
target_sources(app PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/transport.c)
8-
7+
target_sources(app PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/transport_module.c)
8+
target_include_directories(app PRIVATE .)

app/src/modules/transport/Kconfig.transport

+1-7
Original file line numberDiff line numberDiff line change
@@ -53,20 +53,14 @@ config APP_TRANSPORT_BACKOFF_MAX_SECONDS
5353

5454
config APP_TRANSPORT_THREAD_STACK_SIZE
5555
int "Thread stack size"
56-
default 2048
56+
default 4096
5757

5858
config APP_TRANSPORT_MESSAGE_QUEUE_SIZE
5959
int "Message queue size"
6060
default 5
6161
help
6262
ZBus subscriber message queue size.
6363

64-
config APP_TRANSPORT_WORKQUEUE_STACK_SIZE
65-
int "Workqueue stack size"
66-
default 1792
67-
help
68-
Stack size of the module's internal workqueue.
69-
7064
config APP_TRANSPORT_POLL_INTERVAL_SECONDS
7165
int "Poll interval in seconds"
7266
default 10

app/src/modules/transport/transport.c app/src/modules/transport/transport_module.c

+20-2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ LOG_MODULE_REGISTER(transport, CONFIG_APP_TRANSPORT_LOG_LEVEL);
2525

2626
#define CUSTOM_JSON_APPID_VAL_CONEVAL "CONEVAL"
2727
#define CUSTOM_JSON_APPID_VAL_BATTERY "BATTERY"
28+
#define MAX_MSG_SIZE (MAX(sizeof(struct cloud_payload), \
29+
MAX(sizeof(struct network_msg), sizeof(struct battery_msg))))
2830

2931
BUILD_ASSERT(CONFIG_APP_TRANSPORT_WATCHDOG_TIMEOUT_SECONDS >
3032
CONFIG_APP_TRANSPORT_EXEC_TIME_SECONDS_MAX,
@@ -39,7 +41,23 @@ ZBUS_CHAN_ADD_OBS(NETWORK_CHAN, transport, 0);
3941
ZBUS_CHAN_ADD_OBS(BATTERY_CHAN, transport, 0);
4042
ZBUS_CHAN_ADD_OBS(TRIGGER_CHAN, transport, 0);
4143

42-
#define MAX_MSG_SIZE (MAX(sizeof(struct payload), MAX(sizeof(struct network_msg), sizeof(struct battery_msg))))
44+
/* Define channels provided by this module */
45+
46+
ZBUS_CHAN_DEFINE(PAYLOAD_CHAN,
47+
struct cloud_payload,
48+
NULL,
49+
NULL,
50+
ZBUS_OBSERVERS_EMPTY,
51+
ZBUS_MSG_INIT(0)
52+
);
53+
54+
ZBUS_CHAN_DEFINE(CLOUD_CHAN,
55+
enum cloud_msg_type,
56+
NULL,
57+
NULL,
58+
ZBUS_OBSERVERS_EMPTY,
59+
CLOUD_DISCONNECTED
60+
);
4361

4462
/* Enumerator to be used in privat transport channel */
4563
enum priv_transport_msg {
@@ -527,7 +545,7 @@ static void state_connected_ready_run(void *o)
527545
}
528546

529547
if (state_object->chan == &PAYLOAD_CHAN) {
530-
struct payload *payload = MSG_TO_PAYLOAD(state_object->msg_buf);
548+
struct cloud_payload *payload = MSG_TO_PAYLOAD(state_object->msg_buf);
531549

532550
err = nrf_cloud_coap_json_message_send(payload->buffer, false, false);
533551
if (err) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/*
2+
* Copyright (c) 2025 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
#ifndef _TRANSPORT_MODULE_H_
8+
#define _TRANSPORT_MODULE_H_
9+
10+
#include <zephyr/kernel.h>
11+
#include <zephyr/zbus/zbus.h>
12+
13+
#ifdef __cplusplus
14+
extern "C" {
15+
#endif
16+
17+
/* Channels provided by this module */
18+
ZBUS_CHAN_DECLARE(
19+
CLOUD_CHAN,
20+
PAYLOAD_CHAN
21+
);
22+
23+
struct cloud_payload {
24+
uint8_t buffer[CONFIG_APP_PAYLOAD_CHANNEL_BUFFER_MAX_SIZE];
25+
size_t buffer_len;
26+
};
27+
28+
enum cloud_msg_type {
29+
CLOUD_DISCONNECTED = 0x1,
30+
CLOUD_CONNECTED_READY_TO_SEND,
31+
CLOUD_CONNECTED_PAUSED,
32+
CLOUD_CONNECTION_ATTEMPT_COUNT_REACHED,
33+
CLOUD_PAYLOAD_JSON,
34+
};
35+
36+
struct cloud_msg {
37+
enum cloud_msg_type type;
38+
struct cloud_payload payload;
39+
};
40+
41+
#define MSG_TO_CLOUD_MSG(_msg) (*(const struct cloud_msg *)_msg)
42+
#define MSG_TO_PAYLOAD(_msg) ((struct cloud_payload *)_msg)
43+
44+
#ifdef __cplusplus
45+
}
46+
#endif
47+
48+
#endif /* _TRANSPORT_MODULE_H_ */
49+

tests/module/transport/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ target_compile_definitions(app PRIVATE
3131
-DCONFIG_APP_PAYLOAD_CHANNEL_BUFFER_MAX_SIZE=100
3232
-DCONFIG_APP_TRANSPORT_LOG_LEVEL=0
3333
-DCONFIG_APP_TRANSPORT_THREAD_STACK_SIZE=2048
34-
-DCONFIG_APP_TRANSPORT_WORKQUEUE_STACK_SIZE=4096
3534
-DCONFIG_APP_TRANSPORT_MESSAGE_QUEUE_SIZE=5
3635
-DCONFIG_APP_TRANSPORT_EXEC_TIME_SECONDS_MAX=1
3736
-DCONFIG_APP_TRANSPORT_WATCHDOG_TIMEOUT_SECONDS=2

0 commit comments

Comments
 (0)