Skip to content

Commit 9d6fe22

Browse files
author
Frese
committed
west: project_generator: Migrate templates to CLOUDv2, add --version command, add VERSION file, link subsystem-cloud
1 parent 1198311 commit 9d6fe22

28 files changed

+573
-764
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{%- set parts = data['project']['fw_version'][1:].split('.') %}
2+
{%- set major = parts[0] | int %}
3+
{%- set minor = parts[1] | int %}
4+
{%- set patchlevel = parts[2] | int -%}
5+
VERSION_MAJOR = {{ major }}
6+
VERSION_MINOR = {{ minor }}
7+
PATCHLEVEL = {{ patchlevel }}
8+
VERSION_TWEAK = 0
9+
EXTRAVERSION = dev

scripts/west_commands/project_generator/jinja_templates/app_cbor_c.j2

+64-121
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,24 @@
1515
{% endraw %}
1616
{%- endif -%}
1717

18-
#if defined(FEATURE_SUBSYSTEM_LTE)
18+
#if defined(FEATURE_SUBSYSTEM_LTE_V2)
1919

2020
#include "app_cbor.h"
21+
#include "app_codec.h"
22+
#include "app_config.h"
2123
#include "app_data.h"
22-
#include "msg_key.h"
2324

2425
/* CHESTER includes */
2526
#include <chester/ctr_info.h>
26-
#include <chester/ctr_lte.h>
27+
#include <chester/ctr_lte_v2.h>
2728
#include <chester/ctr_rtc.h>
2829

2930
/* Zephyr includes */
3031
#include <zephyr/kernel.h>
3132
#include <zephyr/logging/log.h>
3233

3334
#include <zcbor_common.h>
35+
#include <zcbor_decode.h>
3436
#include <zcbor_encode.h>
3537

3638
/* Standard includes */
@@ -41,25 +43,30 @@
4143
#include <stdint.h>
4244
#include <stdlib.h>
4345

46+
/* ### Preserved code "functions" (begin) */
47+
/* ^^^ Preserved code "functions" (end) */
48+
4449
LOG_MODULE_REGISTER(app_cbor, LOG_LEVEL_DBG);
4550

46-
int encode(zcbor_state_t *zs)
51+
static int encode(zcbor_state_t *zs)
4752
{
4853
int ret;
4954

5055
zs->constant_state->stop_on_error = true;
5156

5257
zcbor_map_start_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
5358

54-
zcbor_uint32_put(zs, MSG_KEY_MESSAGE);
59+
/* ### Preserved code "message" (begin) */
60+
61+
zcbor_uint32_put(zs, CODEC_KEY_E_MESSAGE);
5562
{
5663
zcbor_map_start_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
5764

58-
zcbor_uint32_put(zs, MSG_KEY_VERSION);
65+
zcbor_uint32_put(zs, CODEC_KEY_E_MESSAGE__VERSION);
5966
zcbor_uint32_put(zs, 1);
6067

68+
zcbor_uint32_put(zs, CODEC_KEY_E_MESSAGE__SEQUENCE);
6169
static uint32_t sequence;
62-
zcbor_uint32_put(zs, MSG_KEY_SEQUENCE);
6370
zcbor_uint32_put(zs, sequence++);
6471

6572
uint64_t timestamp;
@@ -68,84 +75,85 @@ int encode(zcbor_state_t *zs)
6875
LOG_ERR("Call `ctr_rtc_get_ts` failed: %d", ret);
6976
return ret;
7077
}
71-
72-
zcbor_uint32_put(zs, MSG_KEY_TIMESTAMP);
78+
zcbor_uint32_put(zs, CODEC_KEY_E_MESSAGE__TIMESTAMP);
7379
zcbor_uint64_put(zs, timestamp);
7480

7581
zcbor_map_end_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
7682
}
7783

78-
zcbor_uint32_put(zs, MSG_KEY_ATTRIBUTE);
84+
/* ^^^ Preserved code "message" (end) */
85+
86+
/* ### Preserved code "attribute" (begin) */
87+
88+
zcbor_uint32_put(zs, CODEC_KEY_E_ATTRIBUTE);
7989
{
8090
zcbor_map_start_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
8191

8292
char *vendor_name;
8393
ctr_info_get_vendor_name(&vendor_name);
8494

85-
zcbor_uint32_put(zs, MSG_KEY_VENDOR_NAME);
95+
zcbor_uint32_put(zs, CODEC_KEY_E_ATTRIBUTE__VENDOR_NAME);
8696
zcbor_tstr_put_term(zs, vendor_name);
8797

8898
char *product_name;
8999
ctr_info_get_product_name(&product_name);
90100

91-
zcbor_uint32_put(zs, MSG_KEY_PRODUCT_NAME);
101+
zcbor_uint32_put(zs, CODEC_KEY_E_ATTRIBUTE__PRODUCT_NAME);
92102
zcbor_tstr_put_term(zs, product_name);
93103

94104
char *hw_variant;
95105
ctr_info_get_hw_variant(&hw_variant);
96106

97-
zcbor_uint32_put(zs, MSG_KEY_HW_VARIANT);
107+
zcbor_uint32_put(zs, CODEC_KEY_E_ATTRIBUTE__HW_VARIANT);
98108
zcbor_tstr_put_term(zs, hw_variant);
99109

100110
char *hw_revision;
101111
ctr_info_get_hw_revision(&hw_revision);
102112

103-
zcbor_uint32_put(zs, MSG_KEY_HW_REVISION);
113+
zcbor_uint32_put(zs, CODEC_KEY_E_ATTRIBUTE__HW_REVISION);
104114
zcbor_tstr_put_term(zs, hw_revision);
105115

106-
char *fw_name;
107-
ctr_info_get_fw_name(&fw_name);
108-
109-
zcbor_uint32_put(zs, MSG_KEY_FW_NAME);
110-
zcbor_tstr_put_term(zs, fw_name);
111-
112116
char *fw_version;
113117
ctr_info_get_fw_version(&fw_version);
114118

115-
zcbor_uint32_put(zs, MSG_KEY_FW_VERSION);
119+
zcbor_uint32_put(zs, CODEC_KEY_E_ATTRIBUTE__FW_VERSION);
116120
zcbor_tstr_put_term(zs, fw_version);
117121

118122
char *serial_number;
119123
ctr_info_get_serial_number(&serial_number);
120124

121-
zcbor_uint32_put(zs, MSG_KEY_SERIAL_NUMBER);
125+
zcbor_uint32_put(zs, CODEC_KEY_E_ATTRIBUTE__SERIAL_NUMBER);
122126
zcbor_tstr_put_term(zs, serial_number);
123127

124128
zcbor_map_end_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
125129
}
126130

127-
zcbor_uint32_put(zs, MSG_KEY_SYSTEM);
131+
/* ^^^ Preserved code "attribute" (end) */
132+
133+
/* ### Preserved code "system" (begin) */
134+
135+
zcbor_uint32_put(zs, CODEC_KEY_E_SYSTEM);
128136
{
129137
zcbor_map_start_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
130138

131-
zcbor_uint32_put(zs, MSG_KEY_UPTIME);
132-
zcbor_uint64_put(zs, k_uptime_get() / 1000);
139+
zcbor_uint32_put(zs, CODEC_KEY_E_SYSTEM__UPTIME);
140+
zcbor_uint32_put(zs, k_uptime_get() / 1000);
133141

134-
zcbor_uint32_put(zs, MSG_KEY_VOLTAGE_REST);
142+
zcbor_uint32_put(zs, CODEC_KEY_E_SYSTEM__VOLTAGE_REST);
135143
if (isnan(g_app_data.system_voltage_rest)) {
136144
zcbor_nil_put(zs, NULL);
137145
} else {
138-
zcbor_uint32_put(zs, g_app_data.system_voltage_rest);
146+
zcbor_uint32_put(zs, g_app_data.system_voltage_rest * 1000.f);
139147
}
140148

141-
zcbor_uint32_put(zs, MSG_KEY_VOLTAGE_LOAD);
149+
zcbor_uint32_put(zs, CODEC_KEY_E_SYSTEM__VOLTAGE_LOAD);
142150
if (isnan(g_app_data.system_voltage_load)) {
143151
zcbor_nil_put(zs, NULL);
144152
} else {
145-
zcbor_uint32_put(zs, g_app_data.system_voltage_load);
153+
zcbor_uint32_put(zs, g_app_data.system_voltage_load * 1000.f);
146154
}
147155

148-
zcbor_uint32_put(zs, MSG_KEY_CURRENT_LOAD);
156+
zcbor_uint32_put(zs, CODEC_KEY_E_SYSTEM__CURRENT_LOAD);
149157
if (isnan(g_app_data.system_current_load)) {
150158
zcbor_nil_put(zs, NULL);
151159
} else {
@@ -155,114 +163,46 @@ int encode(zcbor_state_t *zs)
155163
zcbor_map_end_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
156164
}
157165

158-
zcbor_uint32_put(zs, MSG_KEY_NETWORK);
166+
/* ^^^ Preserved code "system" (end) */
167+
168+
/* ### Preserved code "network" (begin) */
169+
170+
zcbor_uint32_put(zs, CODEC_KEY_E_NETWORK);
159171
{
160172
zcbor_map_start_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
161173

162174
uint64_t imei;
163-
ret = ctr_lte_get_imei(&imei);
175+
ret = ctr_lte_v2_get_imei(&imei);
164176
if (ret) {
165177
LOG_ERR("Call `ctr_lte_get_imei` failed: %d", ret);
166178
return ret;
167179
}
168180

169-
zcbor_uint32_put(zs, MSG_KEY_IMEI);
181+
zcbor_uint32_put(zs, CODEC_KEY_E_NETWORK__IMEI);
170182
zcbor_uint64_put(zs, imei);
171183

172184
uint64_t imsi;
173-
ret = ctr_lte_get_imsi(&imsi);
185+
ret = ctr_lte_v2_get_imsi(&imsi);
174186
if (ret) {
175187
LOG_ERR("Call `ctr_lte_get_imsi` failed: %d", ret);
176188
return ret;
177189
}
178190

179-
zcbor_uint32_put(zs, MSG_KEY_IMSI);
191+
zcbor_uint32_put(zs, CODEC_KEY_E_NETWORK__IMSI);
180192
zcbor_uint64_put(zs, imsi);
181193

182-
zcbor_uint32_put(zs, MSG_KEY_PARAMETER);
183-
{
184-
zcbor_map_start_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
185-
186-
k_mutex_lock(&g_app_data_lte_eval_mut, K_FOREVER);
187-
188-
zcbor_uint32_put(zs, MSG_KEY_EEST);
189-
if (g_app_data_lte_eval_valid) {
190-
zcbor_int32_put(zs, g_app_data_lte_eval.eest);
191-
} else {
192-
zcbor_nil_put(zs, NULL);
193-
}
194-
195-
zcbor_uint32_put(zs, MSG_KEY_ECL);
196-
if (g_app_data_lte_eval_valid) {
197-
zcbor_int32_put(zs, g_app_data_lte_eval.ecl);
198-
} else {
199-
zcbor_nil_put(zs, NULL);
200-
}
201-
202-
zcbor_uint32_put(zs, MSG_KEY_RSRP);
203-
if (g_app_data_lte_eval_valid) {
204-
zcbor_int32_put(zs, g_app_data_lte_eval.rsrp);
205-
} else {
206-
zcbor_nil_put(zs, NULL);
207-
}
208-
209-
zcbor_uint32_put(zs, MSG_KEY_RSRQ);
210-
if (g_app_data_lte_eval_valid) {
211-
zcbor_int32_put(zs, g_app_data_lte_eval.rsrq);
212-
} else {
213-
zcbor_nil_put(zs, NULL);
214-
}
215-
216-
zcbor_uint32_put(zs, MSG_KEY_SNR);
217-
if (g_app_data_lte_eval_valid) {
218-
zcbor_int32_put(zs, g_app_data_lte_eval.snr);
219-
} else {
220-
zcbor_nil_put(zs, NULL);
221-
}
222-
223-
zcbor_uint32_put(zs, MSG_KEY_PLMN);
224-
if (g_app_data_lte_eval_valid) {
225-
zcbor_int32_put(zs, g_app_data_lte_eval.plmn);
226-
} else {
227-
zcbor_nil_put(zs, NULL);
228-
}
229-
230-
zcbor_uint32_put(zs, MSG_KEY_CID);
231-
if (g_app_data_lte_eval_valid) {
232-
zcbor_int32_put(zs, g_app_data_lte_eval.cid);
233-
} else {
234-
zcbor_nil_put(zs, NULL);
235-
}
236-
237-
zcbor_uint32_put(zs, MSG_KEY_BAND);
238-
if (g_app_data_lte_eval_valid) {
239-
zcbor_int32_put(zs, g_app_data_lte_eval.band);
240-
} else {
241-
zcbor_nil_put(zs, NULL);
242-
}
243-
244-
zcbor_uint32_put(zs, MSG_KEY_EARFCN);
245-
if (g_app_data_lte_eval_valid) {
246-
zcbor_int32_put(zs, g_app_data_lte_eval.earfcn);
247-
} else {
248-
zcbor_nil_put(zs, NULL);
249-
}
250-
251-
g_app_data_lte_eval_valid = false;
252-
253-
k_mutex_unlock(&g_app_data_lte_eval_mut);
254-
255-
zcbor_map_end_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
256-
}
257-
258194
zcbor_map_end_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
259195
}
260196

261-
zcbor_uint32_put(zs, MSG_KEY_THERMOMETER);
197+
/* ^^^ Preserved code "network" (end) */
198+
199+
/* ### Preserved code "thermometer" (begin) */
200+
201+
zcbor_uint32_put(zs, CODEC_KEY_E_THERMOMETER);
262202
{
263203
zcbor_map_start_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
264204

265-
zcbor_uint32_put(zs, MSG_KEY_TEMPERATURE);
205+
zcbor_uint32_put(zs, CODEC_KEY_E_THERMOMETER__TEMPERATURE);
266206
if (isnan(g_app_data.therm_temperature)) {
267207
zcbor_nil_put(zs, NULL);
268208
} else {
@@ -272,32 +212,36 @@ int encode(zcbor_state_t *zs)
272212
zcbor_map_end_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
273213
}
274214

275-
zcbor_uint32_put(zs, MSG_KEY_ACCELEROMETER);
215+
/* ^^^ Preserved code "thermometer" (end) */
216+
217+
/* ### Preserved code "accelerometer" (begin) */
218+
219+
zcbor_uint32_put(zs, CODEC_KEY_E_ACCELEROMETER);
276220
{
277221
zcbor_map_start_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
278222

279-
zcbor_uint32_put(zs, MSG_KEY_ACCELERATION_X);
223+
zcbor_uint32_put(zs, CODEC_KEY_E_ACCELEROMETER__ACCEL_X);
280224
if (isnan(g_app_data.accel_acceleration_x)) {
281225
zcbor_nil_put(zs, NULL);
282226
} else {
283227
zcbor_int32_put(zs, g_app_data.accel_acceleration_x * 1000.f);
284228
}
285229

286-
zcbor_uint32_put(zs, MSG_KEY_ACCELERATION_Y);
230+
zcbor_uint32_put(zs, CODEC_KEY_E_ACCELEROMETER__ACCEL_Y);
287231
if (isnan(g_app_data.accel_acceleration_y)) {
288232
zcbor_nil_put(zs, NULL);
289233
} else {
290234
zcbor_int32_put(zs, g_app_data.accel_acceleration_y * 1000.f);
291235
}
292236

293-
zcbor_uint32_put(zs, MSG_KEY_ACCELERATION_Z);
237+
zcbor_uint32_put(zs, CODEC_KEY_E_ACCELEROMETER__ACCEL_Z);
294238
if (isnan(g_app_data.accel_acceleration_z)) {
295239
zcbor_nil_put(zs, NULL);
296240
} else {
297241
zcbor_int32_put(zs, g_app_data.accel_acceleration_z * 1000.f);
298242
}
299243

300-
zcbor_uint32_put(zs, MSG_KEY_ORIENTATION);
244+
zcbor_uint32_put(zs, CODEC_KEY_E_ACCELEROMETER__ORIENTATION);
301245
if (g_app_data.accel_orientation == INT_MAX) {
302246
zcbor_nil_put(zs, NULL);
303247
} else {
@@ -307,7 +251,7 @@ int encode(zcbor_state_t *zs)
307251
zcbor_map_end_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
308252
}
309253

310-
254+
/* ^^^ Preserved code "accelerometer" (end) */
311255

312256
zcbor_map_end_encode(zs, ZCBOR_VALUE_IS_INDEFINITE_LENGTH);
313257

@@ -336,5 +280,4 @@ int app_cbor_encode(zcbor_state_t *zs)
336280

337281
return 0;
338282
}
339-
340-
#endif /* defined(FEATURE_SUBSYSTEM_LTE) */
283+
#endif /* defined(FEATURE_SUBSYSTEM_LTE_V2) */

scripts/west_commands/project_generator/jinja_templates/app_cbor_h.j2

+4
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,17 @@
2121
/* Zephyr includes */
2222
#include <zephyr/kernel.h>
2323

24+
#if defined(FEATURE_SUBSYSTEM_LTE_V2)
2425
#include <zcbor_common.h>
26+
#endif /* defined(FEATURE_SUBSYSTEM_LTE_V2) */
2527

2628
#ifdef __cplusplus
2729
extern "C" {
2830
#endif
2931

32+
#if defined(FEATURE_SUBSYSTEM_LTE_V2)
3033
int app_cbor_encode(zcbor_state_t *zs);
34+
#endif /* defined(FEATURE_SUBSYSTEM_LTE_V2) */
3135

3236
#ifdef __cplusplus
3337
}

0 commit comments

Comments
 (0)