Skip to content

Commit 58f75db

Browse files
committed
plugins: mcumgr: Use canonical mode CBOR
1 parent 95c5448 commit 58f75db

10 files changed

Lines changed: 58 additions & 34 deletions

plugins/mcumgr/smp_group_enum_mgmt.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -623,7 +623,7 @@ void smp_group_enum_mgmt::cancel()
623623
bool smp_group_enum_mgmt::start_enum_count(uint16_t *count)
624624
{
625625
smp_message *tmp_message = new smp_message();
626-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_ENUM, COMMAND_COUNT);
626+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_ENUM, COMMAND_COUNT, 0);
627627
tmp_message->end_message();
628628

629629
mode = MODE_COUNT;
@@ -640,7 +640,7 @@ bool smp_group_enum_mgmt::start_enum_count(uint16_t *count)
640640
bool smp_group_enum_mgmt::start_enum_list(QList<uint16_t> *groups)
641641
{
642642
smp_message *tmp_message = new smp_message();
643-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_ENUM, COMMAND_LIST);
643+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_ENUM, COMMAND_LIST, 0);
644644
tmp_message->end_message();
645645

646646
mode = MODE_LIST;
@@ -683,7 +683,7 @@ bool smp_group_enum_mgmt::start_enum_single(uint16_t index, uint16_t *id, bool *
683683
bool smp_group_enum_mgmt::start_enum_details(QList<enum_details_t> *groups, enum_fields_present_t *fields_present)
684684
{
685685
smp_message *tmp_message = new smp_message();
686-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_ENUM, COMMAND_DETAILS);
686+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_ENUM, COMMAND_DETAILS, 0);
687687
tmp_message->end_message();
688688

689689
mode = MODE_DETAILS;

plugins/mcumgr/smp_group_fs_mgmt.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -845,7 +845,7 @@ void smp_group_fs_mgmt::cancel()
845845
void smp_group_fs_mgmt::upload_chunk()
846846
{
847847
smp_message *tmp_message = new smp_message();
848-
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_FS, COMMAND_UPLOAD_DOWNLOAD);
848+
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_FS, COMMAND_UPLOAD_DOWNLOAD, (file_upload_area == 0 ? 4 : 3));
849849

850850
if (local_file.pos() != file_upload_area)
851851
{
@@ -876,7 +876,7 @@ void smp_group_fs_mgmt::upload_chunk()
876876
void smp_group_fs_mgmt::download_chunk()
877877
{
878878
smp_message *tmp_message = new smp_message();
879-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_FS, COMMAND_UPLOAD_DOWNLOAD);
879+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_FS, COMMAND_UPLOAD_DOWNLOAD, 2);
880880

881881
/* if (local_file.pos() != file_upload_area)
882882
{
@@ -942,7 +942,7 @@ bool smp_group_fs_mgmt::start_download(QString file_name, QString destination_na
942942
bool smp_group_fs_mgmt::start_status(QString file_name, uint32_t *file_size)
943943
{
944944
smp_message *tmp_message = new smp_message();
945-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_FS, COMMAND_STATUS);
945+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_FS, COMMAND_STATUS, 1);
946946
tmp_message->writer()->append("name");
947947
tmp_message->writer()->append(file_name);
948948
tmp_message->end_message();
@@ -959,7 +959,7 @@ bool smp_group_fs_mgmt::start_status(QString file_name, uint32_t *file_size)
959959
bool smp_group_fs_mgmt::start_hash_checksum(QString file_name, QString hash_checksum, QByteArray *result, uint32_t *file_size)
960960
{
961961
smp_message *tmp_message = new smp_message();
962-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_FS, COMMAND_HASH_CHECKSUM);
962+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_FS, COMMAND_HASH_CHECKSUM, 2);
963963
tmp_message->writer()->append("name");
964964
tmp_message->writer()->append(file_name);
965965
tmp_message->writer()->append("type");
@@ -980,7 +980,7 @@ bool smp_group_fs_mgmt::start_hash_checksum(QString file_name, QString hash_chec
980980
bool smp_group_fs_mgmt::start_supported_hashes_checksums(QList<hash_checksum_t> *hash_checksum_list)
981981
{
982982
smp_message *tmp_message = new smp_message();
983-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_FS, COMMAND_SUPPORTED_HASHES_CHECKSUMS);
983+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_FS, COMMAND_SUPPORTED_HASHES_CHECKSUMS, 0);
984984
tmp_message->end_message();
985985

986986
mode = MODE_SUPPORTED_HASHES_CHECKSUMS;
@@ -994,7 +994,7 @@ bool smp_group_fs_mgmt::start_supported_hashes_checksums(QList<hash_checksum_t>
994994
bool smp_group_fs_mgmt::start_file_close()
995995
{
996996
smp_message *tmp_message = new smp_message();
997-
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_FS, COMMAND_FILE_CLOSE);
997+
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_FS, COMMAND_FILE_CLOSE, 0);
998998
tmp_message->end_message();
999999

10001000
mode = MODE_FILE_CLOSE;

plugins/mcumgr/smp_group_img_mgmt.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -969,7 +969,7 @@ log_error() << "Going in circles...";
969969
}
970970

971971
smp_message *tmp_message = new smp_message();
972-
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_IMG, COMMAND_UPLOAD);
972+
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_IMG, COMMAND_UPLOAD, 2 + (this->file_upload_area == 0 ? ((this->upload_image != 0 ? 1 : 0) + 2 + (this->upgrade_only == true ? 1 : 0)): 0));
973973

974974
if (this->file_upload_area == 0)
975975
{
@@ -1231,7 +1231,7 @@ bool smp_group_img_mgmt::start_image_get(QList<image_state_t> *images)
12311231
host_images->clear();
12321232

12331233
smp_message *tmp_message = new smp_message();
1234-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_IMG, COMMAND_STATE);
1234+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_IMG, COMMAND_STATE, 0);
12351235
tmp_message->end_message();
12361236

12371237
mode = MODE_LIST_IMAGES;
@@ -1248,7 +1248,7 @@ bool smp_group_img_mgmt::start_image_set(QByteArray *hash, bool confirm, QList<i
12481248
host_images = images;
12491249

12501250
smp_message *tmp_message = new smp_message();
1251-
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_IMG, COMMAND_STATE);
1251+
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_IMG, COMMAND_STATE, (confirm == true ? 2 : 1));
12521252

12531253
tmp_message->writer()->append("hash");
12541254
tmp_message->writer()->append(*hash);
@@ -1320,7 +1320,7 @@ bool smp_group_img_mgmt::start_firmware_update(uint8_t image, QString filename,
13201320
bool smp_group_img_mgmt::start_image_erase(uint8_t slot)
13211321
{
13221322
smp_message *tmp_message = new smp_message();
1323-
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_IMG, COMMAND_ERASE);
1323+
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_IMG, COMMAND_ERASE, 1);
13241324

13251325
tmp_message->writer()->append("slot");
13261326
tmp_message->writer()->append(slot);
@@ -1338,7 +1338,7 @@ bool smp_group_img_mgmt::start_image_erase(uint8_t slot)
13381338
bool smp_group_img_mgmt::start_image_slot_info(QList<slot_info_t> *images)
13391339
{
13401340
smp_message *tmp_message = new smp_message();
1341-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_IMG, COMMAND_SLOT_INFO);
1341+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_IMG, COMMAND_SLOT_INFO, 0);
13421342

13431343
// qDebug() << message;
13441344
// qDebug() << "hash is " << this->upload_hash;

plugins/mcumgr/smp_group_os_mgmt.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -969,7 +969,7 @@ void smp_group_os_mgmt::cancel()
969969
bool smp_group_os_mgmt::start_echo(QString data)
970970
{
971971
smp_message *tmp_message = new smp_message();
972-
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_OS, COMMAND_ECHO);
972+
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_OS, COMMAND_ECHO, 1);
973973
tmp_message->writer()->append("d");
974974
tmp_message->writer()->append(data);
975975
tmp_message->end_message();
@@ -986,7 +986,7 @@ bool smp_group_os_mgmt::start_echo(QString data)
986986
bool smp_group_os_mgmt::start_task_stats(QList<task_list_t> *tasks)
987987
{
988988
smp_message *tmp_message = new smp_message();
989-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_OS, COMMAND_TASK_STATS);
989+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_OS, COMMAND_TASK_STATS, 0);
990990
tmp_message->end_message();
991991

992992
task_list = tasks;
@@ -1003,7 +1003,7 @@ bool smp_group_os_mgmt::start_task_stats(QList<task_list_t> *tasks)
10031003
bool smp_group_os_mgmt::start_memory_pool(QList<memory_pool_t> *memory)
10041004
{
10051005
smp_message *tmp_message = new smp_message();
1006-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_OS, COMMAND_MEMORY_POOL);
1006+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_OS, COMMAND_MEMORY_POOL, 0);
10071007
tmp_message->end_message();
10081008

10091009
memory_list = memory;
@@ -1020,7 +1020,8 @@ bool smp_group_os_mgmt::start_memory_pool(QList<memory_pool_t> *memory)
10201020
bool smp_group_os_mgmt::start_reset(bool force)
10211021
{
10221022
smp_message *tmp_message = new smp_message();
1023-
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_OS, COMMAND_RESET);
1023+
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_OS, COMMAND_RESET, (force == true ? 1 : 0));
1024+
10241025
if (force == true)
10251026
{
10261027
tmp_message->writer()->append("force");
@@ -1040,7 +1041,7 @@ bool smp_group_os_mgmt::start_reset(bool force)
10401041
bool smp_group_os_mgmt::start_mcumgr_parameters()
10411042
{
10421043
smp_message *tmp_message = new smp_message();
1043-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_OS, COMMAND_MCUMGR_PARAMETERS);
1044+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_OS, COMMAND_MCUMGR_PARAMETERS, 0);
10441045
tmp_message->end_message();
10451046

10461047
mode = MODE_MCUMGR_PARAMETERS;
@@ -1055,7 +1056,7 @@ bool smp_group_os_mgmt::start_mcumgr_parameters()
10551056
bool smp_group_os_mgmt::start_os_application_info(QString format)
10561057
{
10571058
smp_message *tmp_message = new smp_message();
1058-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_OS, COMMAND_OS_APPLICATION_INFO);
1059+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_OS, COMMAND_OS_APPLICATION_INFO, (format.isEmpty() == false ? 1 : 0));
10591060

10601061
if (format.isEmpty() == false)
10611062
{
@@ -1077,7 +1078,7 @@ bool smp_group_os_mgmt::start_os_application_info(QString format)
10771078
bool smp_group_os_mgmt::start_date_time_get(QDateTime *date_time)
10781079
{
10791080
smp_message *tmp_message = new smp_message();
1080-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_OS, COMMAND_DATE_TIME);
1081+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_OS, COMMAND_DATE_TIME, 0);
10811082
tmp_message->end_message();
10821083

10831084
mode = MODE_DATE_TIME_GET;
@@ -1093,7 +1094,7 @@ bool smp_group_os_mgmt::start_date_time_get(QDateTime *date_time)
10931094
bool smp_group_os_mgmt::start_date_time_set(QDateTime date_time)
10941095
{
10951096
smp_message *tmp_message = new smp_message();
1096-
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_OS, COMMAND_DATE_TIME);
1097+
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_OS, COMMAND_DATE_TIME, 1);
10971098
tmp_message->writer()->append("datetime");
10981099
tmp_message->writer()->append(date_time.toString(Qt::ISODate));
10991100
tmp_message->end_message();
@@ -1110,7 +1111,7 @@ bool smp_group_os_mgmt::start_date_time_set(QDateTime date_time)
11101111
bool smp_group_os_mgmt::start_bootloader_info(QString query, QVariant *response)
11111112
{
11121113
smp_message *tmp_message = new smp_message();
1113-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_OS, COMMAND_BOOTLOADER_INFO);
1114+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_OS, COMMAND_BOOTLOADER_INFO, (query.isEmpty() == false ? 1 : 0));
11141115

11151116
if (query.isEmpty() == false)
11161117
{

plugins/mcumgr/smp_group_settings_mgmt.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ void smp_group_settings_mgmt::cancel()
311311
bool smp_group_settings_mgmt::start_read(QString name, uint32_t max_length, QByteArray *value)
312312
{
313313
smp_message *tmp_message = new smp_message();
314-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_SETTINGS, COMMAND_READ_WRITE);
314+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_SETTINGS, COMMAND_READ_WRITE, (max_length > 0 ? 2 : 1));
315315
tmp_message->writer()->append("name");
316316
tmp_message->writer()->append(name);
317317

@@ -336,7 +336,7 @@ bool smp_group_settings_mgmt::start_read(QString name, uint32_t max_length, QByt
336336
bool smp_group_settings_mgmt::start_write(QString name, QByteArray value)
337337
{
338338
smp_message *tmp_message = new smp_message();
339-
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_SETTINGS, COMMAND_READ_WRITE);
339+
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_SETTINGS, COMMAND_READ_WRITE, 2);
340340
tmp_message->writer()->append("name");
341341
tmp_message->writer()->append(name);
342342
tmp_message->writer()->append("val");
@@ -355,7 +355,7 @@ bool smp_group_settings_mgmt::start_write(QString name, QByteArray value)
355355
bool smp_group_settings_mgmt::start_delete(QString name)
356356
{
357357
smp_message *tmp_message = new smp_message();
358-
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_SETTINGS, COMMAND_DELETE);
358+
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_SETTINGS, COMMAND_DELETE, 1);
359359
tmp_message->writer()->append("name");
360360
tmp_message->writer()->append(name);
361361
tmp_message->end_message();
@@ -372,7 +372,7 @@ bool smp_group_settings_mgmt::start_delete(QString name)
372372
bool smp_group_settings_mgmt::start_commit(void)
373373
{
374374
smp_message *tmp_message = new smp_message();
375-
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_SETTINGS, COMMAND_COMMIT);
375+
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_SETTINGS, COMMAND_COMMIT, 0);
376376
tmp_message->end_message();
377377

378378
mode = MODE_COMMIT;
@@ -387,7 +387,7 @@ bool smp_group_settings_mgmt::start_commit(void)
387387
bool smp_group_settings_mgmt::start_load(void)
388388
{
389389
smp_message *tmp_message = new smp_message();
390-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_SETTINGS, COMMAND_LOAD_SAVE);
390+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_SETTINGS, COMMAND_LOAD_SAVE, 0);
391391
tmp_message->end_message();
392392

393393
mode = MODE_LOAD;
@@ -402,7 +402,7 @@ bool smp_group_settings_mgmt::start_load(void)
402402
bool smp_group_settings_mgmt::start_save(void)
403403
{
404404
smp_message *tmp_message = new smp_message();
405-
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_SETTINGS, COMMAND_LOAD_SAVE);
405+
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_SETTINGS, COMMAND_LOAD_SAVE, 0);
406406
tmp_message->end_message();
407407

408408
mode = MODE_SAVE;

plugins/mcumgr/smp_group_shell_mgmt.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,9 +238,9 @@ void smp_group_shell_mgmt::cancel()
238238
bool smp_group_shell_mgmt::start_execute(QStringList *arguments, int32_t *ret)
239239
{
240240
smp_message *tmp_message = new smp_message();
241-
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_SHELL, COMMAND_EXECUTE);
241+
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_SHELL, COMMAND_EXECUTE, 1);
242242
tmp_message->writer()->append("argv");
243-
tmp_message->writer()->startArray();
243+
tmp_message->writer()->startArray(arguments->length());
244244

245245
uint8_t i = 0;
246246
while (i < arguments->length())

plugins/mcumgr/smp_group_stat_mgmt.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ void smp_group_stat_mgmt::cancel()
335335
bool smp_group_stat_mgmt::start_group_data(QString name, QList<stat_value_t> *stats)
336336
{
337337
smp_message *tmp_message = new smp_message();
338-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_STATS, COMMAND_GROUP_DATA);
338+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_STATS, COMMAND_GROUP_DATA, 1);
339339
tmp_message->writer()->append("name");
340340
tmp_message->writer()->append(name);
341341
tmp_message->end_message();
@@ -353,7 +353,7 @@ bool smp_group_stat_mgmt::start_group_data(QString name, QList<stat_value_t> *st
353353
bool smp_group_stat_mgmt::start_list_groups(QStringList *groups)
354354
{
355355
smp_message *tmp_message = new smp_message();
356-
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_STATS, COMMAND_LIST_GROUPS);
356+
tmp_message->start_message(SMP_OP_READ, smp_version, SMP_GROUP_ID_STATS, COMMAND_LIST_GROUPS, 0);
357357
tmp_message->end_message();
358358

359359
mode = MODE_LIST_GROUPS;

plugins/mcumgr/smp_group_zephyr_mgmt.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ void smp_group_zephyr_mgmt::cancel()
137137
bool smp_group_zephyr_mgmt::start_storage_erase(void)
138138
{
139139
smp_message *tmp_message = new smp_message();
140-
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_ZEPHYR, COMMAND_STORAGE_ERASE);
140+
tmp_message->start_message(SMP_OP_WRITE, smp_version, SMP_GROUP_ID_ZEPHYR, COMMAND_STORAGE_ERASE, 0);
141141
tmp_message->end_message();
142142

143143
mode = MODE_STORAGE_ERASE;

plugins/mcumgr/smp_message.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,28 @@ void smp_message::start_message(smp_op_t op, uint8_t version, uint16_t group, ui
5353
this->header_added = true;
5454
}
5555

56+
void smp_message::start_message(smp_op_t op, uint8_t version, uint16_t group, uint8_t id, uint16_t map_length)
57+
{
58+
this->buffer.append((char)((version == 1 ? SMP_VERSION_2_HEADER : SMP_VERSION_1_HEADER) | op)); /* Read | Write (0x00 | 0x02) */
59+
this->buffer.append((char)0x00); /* Flags */
60+
this->buffer.append((char)0x00); /* Length A */
61+
this->buffer.append((char)0x00); /* Length B */
62+
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
63+
this->buffer.append((char)(group >> 8)); /* Group A */
64+
this->buffer.append((char)group); /* Group B */
65+
#else
66+
this->buffer.append((char)group); /* Group A */
67+
this->buffer.append((char)(group >> 8)); /* Group B */
68+
#endif
69+
this->buffer.append((char)0x00); /* Sequence */
70+
this->buffer.append((char)id); /* Message ID */
71+
72+
cbor_writer.device()->seek(this->buffer.length());
73+
cbor_writer.startMap(map_length);
74+
75+
this->header_added = true;
76+
}
77+
5678
/*smp_message::~smp_message()
5779
{
5880

plugins/mcumgr/smp_message.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ class smp_message
5959
public:
6060
smp_message();
6161
void start_message(smp_op_t op, uint8_t version, uint16_t group, uint8_t id);
62+
void start_message(smp_op_t op, uint8_t version, uint16_t group, uint8_t id, uint16_t map_length);
6263
//~smp_mesage();
6364
void append(const QByteArray data);
6465
void append(const QByteArray *data);

0 commit comments

Comments
 (0)