Skip to content

Commit 60eaafe

Browse files
Veijo Pesonencarlescufi
authored andcommitted
net: lwm2m: SenML CBOR gencode adaption
Generated code needs some modifications for it to work correctly. Adds license information. Signed-off-by: Veijo Pesonen <[email protected]>
1 parent 0562de9 commit 60eaafe

File tree

5 files changed

+51
-32
lines changed

5 files changed

+51
-32
lines changed

subsys/net/lib/lwm2m/lwm2m_senml_cbor_decode.c

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
/*
2+
* Copyright (c) 2022 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
16
/*
27
* Generated using zcbor version 0.3.99
38
* https://github.com/zephyrproject-rtos/zcbor
@@ -10,10 +15,7 @@
1015
#include <string.h>
1116
#include "zcbor_decode.h"
1217
#include "lwm2m_senml_cbor_decode.h"
13-
14-
#if DEFAULT_MAX_QTY != 99
15-
#error "The type file was generated with a different default_max_qty than this file"
16-
#endif
18+
#include "lwm2m_senml_cbor_types.h"
1719

1820
static bool decode_repeated_record_bn(zcbor_state_t *state, struct record_bn *result)
1921
{
@@ -155,7 +157,8 @@ static bool decode_record(zcbor_state_t *state, struct record *result)
155157
zcbor_present_decode(&((*result)._record_union_present),
156158
(zcbor_decoder_t *)decode_repeated_record_union, state,
157159
(&(*result)._record_union)) &&
158-
zcbor_multi_decode(0, 3, &(*result)._record__key_value_pair_count,
160+
zcbor_multi_decode(0, ARRAY_SIZE(result->_record__key_value_pair),
161+
&(*result)._record__key_value_pair_count,
159162
(zcbor_decoder_t *)decode_repeated_record__key_value_pair,
160163
state, (&(*result)._record__key_value_pair),
161164
sizeof(struct record__key_value_pair))) ||
@@ -174,7 +177,8 @@ static bool decode_lwm2m_senml(zcbor_state_t *state, struct lwm2m_senml *result)
174177

175178
bool tmp_result = ((
176179
(zcbor_list_start_decode(state) &&
177-
((zcbor_multi_decode(1, 99, &(*result)._lwm2m_senml__record_count,
180+
((zcbor_multi_decode(1, ARRAY_SIZE(result->_lwm2m_senml__record),
181+
&(*result)._lwm2m_senml__record_count,
178182
(zcbor_decoder_t *)decode_record, state,
179183
(&(*result)._lwm2m_senml__record), sizeof(struct record))) ||
180184
(zcbor_list_map_end_force_decode(state), false)) &&
@@ -201,6 +205,7 @@ uint_fast8_t cbor_decode_lwm2m_senml(const uint8_t *payload, size_t payload_len,
201205

202206
if (!ret) {
203207
uint_fast8_t ret = zcbor_pop_error(states);
208+
204209
return (ret == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : ret;
205210
}
206211
return ZCBOR_SUCCESS;

subsys/net/lib/lwm2m/lwm2m_senml_cbor_decode.h

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
/*
2+
* Copyright (c) 2022 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
16
/*
27
* Generated using zcbor version 0.3.99
38
* https://github.com/zephyrproject-rtos/zcbor
@@ -12,11 +17,7 @@
1217
#include <stddef.h>
1318
#include <string.h>
1419
#include "zcbor_decode.h"
15-
#include "lwm2m_senml_cbor_decode_types.h"
16-
17-
#if DEFAULT_MAX_QTY != 99
18-
#error "The type file was generated with a different default_max_qty than this file"
19-
#endif
20+
#include "lwm2m_senml_cbor_types.h"
2021

2122
uint_fast8_t cbor_decode_lwm2m_senml(const uint8_t *payload, size_t payload_len,
2223
struct lwm2m_senml *result, size_t *payload_len_out);

subsys/net/lib/lwm2m/lwm2m_senml_cbor_encode.c

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
/*
2+
* Copyright (c) 2022 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
16
/*
27
* Generated using zcbor version 0.3.99
38
* https://github.com/zephyrproject-rtos/zcbor
@@ -10,10 +15,7 @@
1015
#include <string.h>
1116
#include "zcbor_encode.h"
1217
#include "lwm2m_senml_cbor_encode.h"
13-
14-
#if DEFAULT_MAX_QTY != 99
15-
#error "The type file was generated with a different default_max_qty than this file"
16-
#endif
18+
#include "lwm2m_senml_cbor_types.h"
1719

1820
static bool encode_repeated_record_bn(zcbor_state_t *state, const struct record_bn *input)
1921
{
@@ -139,7 +141,9 @@ static bool encode_record(zcbor_state_t *state, const struct record *input)
139141
{
140142
zcbor_print("%s\r\n", __func__);
141143

142-
bool tmp_result = (((zcbor_map_start_encode(state, 6) &&
144+
int max_keys = ARRAY_SIZE(input->_record__key_value_pair);
145+
146+
bool tmp_result = (((zcbor_map_start_encode(state, max_keys) &&
143147
((zcbor_present_encode(&((*input)._record_bn_present),
144148
(zcbor_encoder_t *)encode_repeated_record_bn,
145149
state, (&(*input)._record_bn)) &&
@@ -150,12 +154,13 @@ static bool encode_record(zcbor_state_t *state, const struct record *input)
150154
(zcbor_encoder_t *)encode_repeated_record_union,
151155
state, (&(*input)._record_union)) &&
152156
zcbor_multi_encode_minmax(
153-
0, 3, &(*input)._record__key_value_pair_count,
157+
0, max_keys,
158+
&(*input)._record__key_value_pair_count,
154159
(zcbor_encoder_t *)encode_repeated_record__key_value_pair,
155160
state, (&(*input)._record__key_value_pair),
156161
sizeof(struct record__key_value_pair))) ||
157162
(zcbor_list_map_end_force_encode(state), false)) &&
158-
zcbor_map_end_encode(state, 6))));
163+
zcbor_map_end_encode(state, max_keys))));
159164

160165
if (!tmp_result)
161166
zcbor_trace();
@@ -166,15 +171,16 @@ static bool encode_record(zcbor_state_t *state, const struct record *input)
166171
static bool encode_lwm2m_senml(zcbor_state_t *state, const struct lwm2m_senml *input)
167172
{
168173
zcbor_print("%s\r\n", __func__);
174+
size_t max_records = ARRAY_SIZE(input->_lwm2m_senml__record);
169175

170176
bool tmp_result =
171-
(((zcbor_list_start_encode(state, 99) &&
172-
((zcbor_multi_encode_minmax(1, 99, &(*input)._lwm2m_senml__record_count,
177+
(((zcbor_list_start_encode(state, max_records) &&
178+
((zcbor_multi_encode_minmax(1, max_records, &(*input)._lwm2m_senml__record_count,
173179
(zcbor_encoder_t *)encode_record, state,
174180
(&(*input)._lwm2m_senml__record),
175181
sizeof(struct record))) ||
176182
(zcbor_list_map_end_force_encode(state), false)) &&
177-
zcbor_list_end_encode(state, 99))));
183+
zcbor_list_end_encode(state, max_records))));
178184

179185
if (!tmp_result)
180186
zcbor_trace();
@@ -197,6 +203,7 @@ uint_fast8_t cbor_encode_lwm2m_senml(uint8_t *payload, size_t payload_len,
197203

198204
if (!ret) {
199205
uint_fast8_t ret = zcbor_pop_error(states);
206+
200207
return (ret == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : ret;
201208
}
202209
return ZCBOR_SUCCESS;

subsys/net/lib/lwm2m/lwm2m_senml_cbor_encode.h

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
/*
2+
* Copyright (c) 2022 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
16
/*
27
* Generated using zcbor version 0.3.99
38
* https://github.com/zephyrproject-rtos/zcbor
@@ -12,11 +17,7 @@
1217
#include <stddef.h>
1318
#include <string.h>
1419
#include "zcbor_encode.h"
15-
#include "lwm2m_senml_cbor_encode_types.h"
16-
17-
#if DEFAULT_MAX_QTY != 99
18-
#error "The type file was generated with a different default_max_qty than this file"
19-
#endif
20+
#include "lwm2m_senml_cbor_types.h"
2021

2122
uint_fast8_t cbor_encode_lwm2m_senml(uint8_t *payload, size_t payload_len,
2223
const struct lwm2m_senml *input, size_t *payload_len_out);

subsys/net/lib/lwm2m/lwm2m_senml_cbor_types.h

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
1+
/*
2+
* Copyright (c) 2022 Nordic Semiconductor ASA
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
16
/*
27
* Generated using zcbor version 0.3.99
38
* https://github.com/zephyrproject-rtos/zcbor
49
* Generated with a --default-max-qty of 99
510
*/
611

7-
#ifndef LWM2M_SENML_CBOR_DECODE_TYPES_H__
8-
#define LWM2M_SENML_CBOR_DECODE_TYPES_H__
12+
#ifndef LWM2M_SENML_CBOR_TYPES_H__
13+
#define LWM2M_SENML_CBOR_TYPES_H__
914

1015
#include <stdint.h>
1116
#include <stdbool.h>
1217
#include <stddef.h>
1318
#include <string.h>
14-
#include "zcbor_decode.h"
19+
#include "zcbor_common.h"
1520

1621
/** Which value for --default-max-qty this file was created with.
1722
*
@@ -20,7 +25,7 @@
2025
*
2126
* See `zcbor --help` for more information about --default-max-qty
2227
*/
23-
#define DEFAULT_MAX_QTY 99
28+
#define DEFAULT_MAX_QTY CONFIG_LWM2M_RW_SENML_CBOR_RECORDS
2429

2530
struct record_bn {
2631
struct zcbor_string _record_bn;
@@ -97,8 +102,8 @@ struct record {
97102
};
98103

99104
struct lwm2m_senml {
100-
struct record _lwm2m_senml__record[99];
105+
struct record _lwm2m_senml__record[DEFAULT_MAX_QTY];
101106
uint_fast32_t _lwm2m_senml__record_count;
102107
};
103108

104-
#endif /* LWM2M_SENML_CBOR_DECODE_TYPES_H__ */
109+
#endif /* LWM2M_SENML_CBOR_TYPES_H__ */

0 commit comments

Comments
 (0)