hello Nordic
i am working with nrf52840, zephyr rtos.
i can preform dfu via mcumgr cli (command line interface) or via nrfConnect application on my cell phone.
however, i need to be writing (in rust) a dfu over ble mechanism, like the mcumgr (which to my understanding from looking at the data transfer below, the nrfConnect is using as well)
data transmission on the nrfConnect application:
nRF Connect, 2021-11-09 Canary_EP_-1 (F3:5E:20:33:B0:0D) V 13:02:22.762 Connecting to F3:5E:20:33:B0:0D... D 13:02:22.762 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE) D 13:02:23.922 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2) D 13:02:23.924 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED I 13:02:23.959 Connected to F3:5E:20:33:B0:0D V 13:02:24.042 Discovering services... D 13:02:24.042 gatt.discoverServices() D 13:02:25.318 [Callback] Services discovered with status: 0 I 13:02:25.318 Services discovered V 13:02:25.350 Generic Attribute (0x1801) - Service Changed [I] (0x2A05) Client Characteristic Configuration (0x2902) Generic Access (0x1800) - Device Name [R W] (0x2A00) - Appearance [R] (0x2A01) - Peripheral Preferred Connection Parameters [R] (0x2A04) Battery Service (0x180F) - Battery Level [R] (0x2A19) Unknown Service (b65452a2-66a6-418a-cc40-31d4da2db50b) - Unknown Characteristic [R W] (4d853009-03b8-f6a6-3643-307a87f67bac) Current Time Service (0x1805) - Current Time [N R W] (0x2A2B) Client Characteristic Configuration (0x2902) Unknown Service (52e2788e-5525-81b3-604c-a378379128bf) - Unknown Characteristic [N R W] (704718fd-ffc2-b79c-5940-bbb0bef9d1b5) Client Characteristic Configuration (0x2902) Device Information (0x180A) - Model Number String [R] (0x2A24) - Manufacturer Name String [R] (0x2A29) - Serial Number String [R] (0x2A25) - Firmware Revision String [R] (0x2A26) - Hardware Revision String [R] (0x2A27) Unknown Service (00001523-ca77-eca5-6347-d8cb280e2c68) - Unknown Characteristic [R W] (00001524-ca77-eca5-6347-d8cb280e2c68) - Unknown Characteristic [N R] (00001525-ca77-eca5-6347-d8cb280e2c68) Client Characteristic Configuration (0x2902) Tx Power (0x1804) - Tx Power Level [R] (0x2A07) SMP Service (8d53dc1d-1db7-4cd3-868b-8a527460aa84) - SMP Characteristic [N WNR] (da2e7828-fbce-4e01-ae9e-261174997c48) Client Characteristic Configuration (0x2902) D 13:02:25.350 gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true) D 13:02:25.353 gatt.setCharacteristicNotification(00002a2b-0000-1000-8000-00805f9b34fb, true) D 13:02:25.355 gatt.setCharacteristicNotification(704718fd-ffc2-b79c-5940-bbb0bef9d1b5, true) D 13:02:25.357 gatt.setCharacteristicNotification(00001525-ca77-eca5-6347-d8cb280e2c68, true) V 13:02:47.859 [McuMgr] Connecting... D 13:02:47.914 [McuMgr] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE) D 13:02:47.953 [McuMgr] [Callback] Connection state changed with status: 0 and new state: 2 (CONNECTED) I 13:02:47.968 [McuMgr] Connected to F3:5E:20:33:B0:0D D 13:02:47.979 [McuMgr] wait(300) V 13:02:48.308 [McuMgr] Discovering services... D 13:02:48.322 [McuMgr] gatt.discoverServices() I 13:02:48.405 [McuMgr] Services discovered V 13:02:48.416 [McuMgr] Primary service found V 13:02:48.433 [McuMgr] Requesting new MTU... D 13:02:48.440 [McuMgr] gatt.requestMtu(515) I 13:02:48.524 [McuMgr] MTU changed to: 252 D 13:02:48.535 [McuMgr] gatt.setCharacteristicNotification(da2e7828-fbce-4e01-ae9e-261174997c48, true) V 13:02:48.548 [McuMgr] Enabling notifications for da2e7828-fbce-4e01-ae9e-261174997c48 D 13:02:48.557 [McuMgr] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00) I 13:02:48.668 [McuMgr] Data written to descr. 00002902-0000-1000-8000-00805f9b34fb, value: (0x) 01-00 I 13:02:48.678 [McuMgr] Notifications enabled V 13:02:48.706 [McuMgr] Writing characteristic da2e7828-fbce-4e01-ae9e-261174997c48 (WRITE COMMAND) D 13:02:48.716 [McuMgr] gatt.writeCharacteristic(da2e7828-fbce-4e01-ae9e-261174997c48) I 13:02:48.728 [McuMgr] Data written to da2e7828-fbce-4e01-ae9e-261174997c48, value: (0x) 00-00-00-02-00-01-00-00-BF-FF A 13:02:48.739 [McuMgr] "Operation: READ Flags: 0 Length: 2 Group Id: 1 (IMAGE) Sequence Num: 0 Command Id: 0 (STATE) Message: {}" sent I 13:02:48.822 [McuMgr] Notification received from da2e7828-fbce-4e01-ae9e-261174997c48, value: (0x) 01-00-00-F4-00-01-00-00-BF-66-69-6D-61-67-65-73-9F-BF-64-73-6C-6F-74-00-67-76-65-72-73-69-6F-6E-65-30-2E-34-2E-31-64-68-61-73-68-58-20-20-2F-53-64-6E-8A-B9-87-B9-2D-19-54-7C-10-38-87-A8-20-35-11-E8-31-2C-7F-B3-2E-3E-E0-6E-08-21-B7-68-62-6F-6F-74-61-62-6C-65-F5-67-70-65-6E-64-69-6E-67-F4-69-63-6F-6E-66-69-72-6D-65-64-F5-66-61-63-74-69-76-65-F5-69-70-65-72-6D-61-6E-65-6E-74-F4-FF-BF-64-73-6C-6F-74-01-67-76-65-72-73-69-6F-6E-65-30-2E-34-2E-31-64-68-61-73-68-58-20-A2-91-E8-D0-E4-88-EC-F0-32-9B-E6-D5-5A-50-6D-F9-EA-63-B2-BE-D7-86-F0-68-E0-2D-9A-88-18-32-DA-25-68-62-6F-6F-74-61-62-6C-65-F5-67-70-65-6E-64-69-6E-67-F4-69-63-6F-6E-66-69-72-6D-65-64-F4-66-61-63-74-69-76-65-F4-69-70-65-72-6D-61-6E-65-6E-74-F4-FF-FF-6B-73-70-6C-69-74-53-74-61-74-75 I 13:02:48.831 [McuMgr] Notification received from da2e7828-fbce-4e01-ae9e-261174997c48, value: (0x) 73-00-FF A 13:02:48.876 [McuMgr] "{"images":[{"slot":0,"version":"0.4.1","hash":"IC9TZG6KuYe5LRlUfBA4h6ggNRHoMSx/sy4+4G4IIbc=","bootable":true,"pending":false,"confirmed":true,"active":true,"permanent":false},{"slot":1,"version":"0.4.1","hash":"opHo0OSI7PAym+bVWlBt+epjsr7XhvBo4C2aiBgy2iU=","bootable":true,"pending":false,"confirmed":false,"active":false,"permanent":false}],"splitStatus":0}" received V 13:02:48.963 [McuMgr] Uploading firmware... V 13:05:24.983 [McuMgr] Writing characteristic da2e7828-fbce-4e01-ae9e-261174997c48 (WRITE COMMAND) D 13:05:24.996 [McuMgr] gatt.writeCharacteristic(da2e7828-fbce-4e01-ae9e-261174997c48) I 13:05:25.009 [McuMgr] Data written to da2e7828-fbce-4e01-ae9e-261174997c48, value: (0x) 02-00-00-32-00-01-00-00-BF-67-63-6F-6E-66-69-72-6D-F4-64-68-61-73-68-58-20-8A-B4-65-7D-20-CD-52-CB-8D-66-4E-D9-15-7D-A0-EC-41-06-02-0C-E0-84-F8-62-2F-D9-76-A1-DB-27-31-21-FF A 13:05:25.033 [McuMgr] "Operation: WRITE Flags: 0 Length: 50 Group Id: 1 (IMAGE) Sequence Num: 0 Command Id: 0 (STATE) Message: {"confirm":false,"hash":"irRlfSDNUsuNZk7ZFX2g7EEGAgzghPhiL9l2odsnMSE="}" sent I 13:05:25.159 [McuMgr] Notification received from da2e7828-fbce-4e01-ae9e-261174997c48, value: (0x) 03-00-00-F4-00-01-00-00-BF-66-69-6D-61-67-65-73-9F-BF-64-73-6C-6F-74-00-67-76-65-72-73-69-6F-6E-65-30-2E-34-2E-31-64-68-61-73-68-58-20-20-2F-53-64-6E-8A-B9-87-B9-2D-19-54-7C-10-38-87-A8-20-35-11-E8-31-2C-7F-B3-2E-3E-E0-6E-08-21-B7-68-62-6F-6F-74-61-62-6C-65-F5-67-70-65-6E-64-69-6E-67-F4-69-63-6F-6E-66-69-72-6D-65-64-F5-66-61-63-74-69-76-65-F5-69-70-65-72-6D-61-6E-65-6E-74-F4-FF-BF-64-73-6C-6F-74-01-67-76-65-72-73-69-6F-6E-65-30-2E-34-2E-31-64-68-61-73-68-58-20-8A-B4-65-7D-20-CD-52-CB-8D-66-4E-D9-15-7D-A0-EC-41-06-02-0C-E0-84-F8-62-2F-D9-76-A1-DB-27-31-21-68-62-6F-6F-74-61-62-6C-65-F5-67-70-65-6E-64-69-6E-67-F5-69-63-6F-6E-66-69-72-6D-65-64-F4-66-61-63-74-69-76-65-F4-69-70-65-72-6D-61-6E-65-6E-74-F4-FF-FF-6B-73-70-6C-69-74-53-74-61-74-75 I 13:05:25.171 [McuMgr] Notification received from da2e7828-fbce-4e01-ae9e-261174997c48, value: (0x) 73-00-FF A 13:05:25.204 [McuMgr] "{"images":[{"slot":0,"version":"0.4.1","hash":"IC9TZG6KuYe5LRlUfBA4h6ggNRHoMSx/sy4+4G4IIbc=","bootable":true,"pending":false,"confirmed":true,"active":true,"permanent":false},{"slot":1,"version":"0.4.1","hash":"irRlfSDNUsuNZk7ZFX2g7EEGAgzghPhiL9l2odsnMSE=","bootable":true,"pending":true,"confirmed":false,"active":false,"permanent":false}],"splitStatus":0}" received V 13:05:25.220 [McuMgr] Writing characteristic da2e7828-fbce-4e01-ae9e-261174997c48 (WRITE COMMAND) D 13:05:25.225 [McuMgr] gatt.writeCharacteristic(da2e7828-fbce-4e01-ae9e-261174997c48) I 13:05:25.233 [McuMgr] Data written to da2e7828-fbce-4e01-ae9e-261174997c48, value: (0x) 02-00-00-02-00-00-00-05-BF-FF A 13:05:25.241 [McuMgr] "Operation: WRITE Flags: 0 Length: 2 Group Id: 0 (OS) Sequence Num: 0 Command Id: 5 (RESET) Message: {}" sent I 13:05:25.299 [McuMgr] Notification received from da2e7828-fbce-4e01-ae9e-261174997c48, value: (0x) 03-00-00-02-00-00-00-05-BF-FF A 13:05:25.329 [McuMgr] "{}" received D 13:05:26.020 [McuMgr] [Callback] Connection state changed with status: 8 and new state: 0 (DISCONNECTED) D 13:05:26.023 [Callback] Connection state changed with status: 8 and new state: DISCONNECTED (0) E 13:05:26.023 Error 8 (0x8): GATT CONN TIMEOUT I 13:05:26.023 Disconnected W 13:05:26.105 [McuMgr] Error: (0x8): GATT CONN TIMEOUT D 13:05:26.129 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED I 13:05:26.144 [McuMgr] Disconnected D 13:05:26.159 [McuMgr] gatt.close() V 13:05:26.192 [McuMgr] Connecting... D 13:05:26.202 [McuMgr] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE) D 13:05:53.785 [McuMgr] [Callback] Connection state changed with status: 0 and new state: 2 (CONNECTED) D 13:05:53.786 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED I 13:05:53.809 [McuMgr] Connected to F3:5E:20:33:B0:0D D 13:05:53.822 [McuMgr] wait(300) V 13:05:54.154 [McuMgr] Discovering services... D 13:05:54.162 [McuMgr] gatt.discoverServices() I 13:05:55.177 [McuMgr] Services discovered V 13:05:55.205 [McuMgr] Primary service found V 13:05:55.230 [McuMgr] Requesting new MTU... D 13:05:55.238 [McuMgr] gatt.requestMtu(515) I 13:05:55.329 [McuMgr] MTU changed to: 252 D 13:05:55.339 [McuMgr] gatt.setCharacteristicNotification(da2e7828-fbce-4e01-ae9e-261174997c48, true) V 13:05:55.351 [McuMgr] Enabling notifications for da2e7828-fbce-4e01-ae9e-261174997c48 D 13:05:55.359 [McuMgr] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00) I 13:05:55.426 [McuMgr] Data written to descr. 00002902-0000-1000-8000-00805f9b34fb, value: (0x) 01-00 I 13:05:55.433 [McuMgr] Notifications enabled V 13:05:55.470 [McuMgr] Writing characteristic da2e7828-fbce-4e01-ae9e-261174997c48 (WRITE COMMAND) D 13:05:55.476 [McuMgr] gatt.writeCharacteristic(da2e7828-fbce-4e01-ae9e-261174997c48) I 13:05:55.481 [McuMgr] Data written to da2e7828-fbce-4e01-ae9e-261174997c48, value: (0x) 02-00-00-0B-00-01-00-00-BF-67-63-6F-6E-66-69-72-6D-F5-FF A 13:05:55.487 [McuMgr] "Operation: WRITE Flags: 0 Length: 11 Group Id: 1 (IMAGE) Sequence Num: 0 Command Id: 0 (STATE) Message: {"confirm":true}" sent I 13:05:55.579 [McuMgr] Notification received from da2e7828-fbce-4e01-ae9e-261174997c48, value: (0x) 03-00-00-F4-00-01-00-00-BF-66-69-6D-61-67-65-73-9F-BF-64-73-6C-6F-74-00-67-76-65-72-73-69-6F-6E-65-30-2E-34-2E-31-64-68-61-73-68-58-20-8A-B4-65-7D-20-CD-52-CB-8D-66-4E-D9-15-7D-A0-EC-41-06-02-0C-E0-84-F8-62-2F-D9-76-A1-DB-27-31-21-68-62-6F-6F-74-61-62-6C-65-F5-67-70-65-6E-64-69-6E-67-F4-69-63-6F-6E-66-69-72-6D-65-64-F5-66-61-63-74-69-76-65-F5-69-70-65-72-6D-61-6E-65-6E-74-F4-FF-BF-64-73-6C-6F-74-01-67-76-65-72-73-69-6F-6E-65-30-2E-34-2E-31-64-68-61-73-68-58-20-20-2F-53-64-6E-8A-B9-87-B9-2D-19-54-7C-10-38-87-A8-20-35-11-E8-31-2C-7F-B3-2E-3E-E0-6E-08-21-B7-68-62-6F-6F-74-61-62-6C-65-F5-67-70-65-6E-64-69-6E-67-F4-69-63-6F-6E-66-69-72-6D-65-64-F4-66-61-63-74-69-76-65-F4-69-70-65-72-6D-61-6E-65-6E-74-F4-FF-FF-6B-73-70-6C-69-74-53-74-61-74-75 I 13:05:55.586 [McuMgr] Notification received from da2e7828-fbce-4e01-ae9e-261174997c48, value: (0x) 73-00-FF A 13:05:55.631 [McuMgr] "{"images":[{"slot":0,"version":"0.4.1","hash":"irRlfSDNUsuNZk7ZFX2g7EEGAgzghPhiL9l2odsnMSE=","bootable":true,"pending":false,"confirmed":true,"active":true,"permanent":false},{"slot":1,"version":"0.4.1","hash":"IC9TZG6KuYe5LRlUfBA4h6ggNRHoMSx/sy4+4G4IIbc=","bootable":true,"pending":false,"confirmed":false,"active":false,"permanent":false}],"splitStatus":0}" received V 13:05:55.659 [McuMgr] Disconnecting... D 13:05:55.675 [McuMgr] gatt.disconnect() D 13:05:55.692 [McuMgr] [Callback] Connection state changed with status: 0 and new state: 0 (DISCONNECTED) I 13:05:55.716 [McuMgr] Disconnected D 13:05:55.737 [McuMgr] gatt.close() D 13:05:55.783 gatt.close() D 13:05:55.786 wait(200) V 13:05:55.991 Connecting to F3:5E:20:33:B0:0D... D 13:05:55.992 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE) D 13:05:56.106 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 13:05:56.106 Connected to F3:5E:20:33:B0:0D V 13:05:56.141 Discovering services... D 13:05:56.141 gatt.discoverServices() D 13:05:57.277 [Callback] Services discovered with status: 0 I 13:05:57.277 Services discovered V 13:05:57.308 Generic Attribute (0x1801) - Service Changed [I] (0x2A05) Client Characteristic Configuration (0x2902) Generic Access (0x1800) - Device Name [R W] (0x2A00) - Appearance [R] (0x2A01) - Peripheral Preferred Connection Parameters [R] (0x2A04) Battery Service (0x180F) - Battery Level [R] (0x2A19) Unknown Service (b65452a2-66a6-418a-cc40-31d4da2db50b) - Unknown Characteristic [R W] (4d853009-03b8-f6a6-3643-307a87f67bac) Current Time Service (0x1805) - Current Time [N R W] (0x2A2B) Client Characteristic Configuration (0x2902) Unknown Service (52e2788e-5525-81b3-604c-a378379128bf) - Unknown Characteristic [N R W] (704718fd-ffc2-b79c-5940-bbb0bef9d1b5) Client Characteristic Configuration (0x2902) Device Information (0x180A) - Model Number String [R] (0x2A24) - Manufacturer Name String [R] (0x2A29) - Serial Number String [R] (0x2A25) - Firmware Revision String [R] (0x2A26) - Hardware Revision String [R] (0x2A27) Unknown Service (00001523-ca77-eca5-6347-d8cb280e2c68) - Unknown Characteristic [R W] (00001524-ca77-eca5-6347-d8cb280e2c68) - Unknown Characteristic [N R] (00001525-ca77-eca5-6347-d8cb280e2c68) Client Characteristic Configuration (0x2902) Tx Power (0x1804) - Tx Power Level [R] (0x2A07) SMP Service (8d53dc1d-1db7-4cd3-868b-8a527460aa84) - SMP Characteristic [N WNR] (da2e7828-fbce-4e01-ae9e-261174997c48) Client Characteristic Configuration (0x2902) D 13:05:57.309 gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true) D 13:05:57.311 gatt.setCharacteristicNotification(00002a2b-0000-1000-8000-00805f9b34fb, true) D 13:05:57.312 gatt.setCharacteristicNotification(704718fd-ffc2-b79c-5940-bbb0bef9d1b5, true) D 13:05:57.314 gatt.setCharacteristicNotification(00001525-ca77-eca5-6347-d8cb280e2c68, true) D 13:06:21.226 [Callback] Connection state changed with status: 8 and new state: DISCONNECTED (0) E 13:06:21.226 Error 8 (0x8): GATT CONN TIMEOUT I 13:06:21.227 Disconnected D 13:06:21.439 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED
i tried finding the same commands of the mcumgr cli (image list -> image upload -> image list -> image test -> reset -> confirm, as explained here: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/device_mgmt/mcumgr.html#mcumgr-cli ) in the nrfConnect and could not really find all the correlations,
also when printing the commands while running the mcumgr cli, i read some data which i don't understand it's origen or meaning, for example, for the image confirm command, i see the device receives this bytes:
/// edit this function in the smp_ct.c file: static ssize_t smp_bt_chr_write(struct bt_conn *conn, const struct bt_gatt_attr *attr, const void *buf, uint16_t len, uint16_t offset, uint8_t flags) { struct smp_bt_user_data *ud; struct net_buf *nb; LOG_INF("in smp_bt write UUID - %d\n",attr->uuid->type); LOG_INF("in smp_bt write len - %d\n",len); LOG_INF("in smp_bt offset - %d\n",offset); LOG_INF("in smp_bt buff "); if( 100 > len) { for( uint16_t i = 0; i < len; i++) { LOG_INF("%x, ", ((uint8_t*)buf)[i]); } } ... ///////// resulting with this prints: I: in smp_bt write UUID - 2 00> 00> I: in smp_bt write len - 24 00> 00> I: in smp_bt offset - 0 00> 00> I: in smp_bt buff 00> I: 2, 00> I: 0, 00> I: 0, 00> I: 10, 00> I: 0, 00> I: 1, 00> I: 42, 00> I: 0, 00> I: a2, 00> I: 67, 00> I: 63, 00> I: 6f, 00> I: 6e, 00> I: 66, 00> I: 69, 00> I: 72, 00> I: 6d, 00> I: f5, 00> I: 64, 00> I: 68, 00> I: 61, 00> I: 73, 00> I: 68, 00> I: f6, 00> I: Swap type: revert 00> I: Swap type: revert 00> I: Swap type: none 00> I: Swap type: none which correlats to the prints i take in running the mcumgr cli: sudo ./mcumgr --conntype ble --connstring 'peer_id=e8:7d:90:dc:db:65' image confirm in npm, BodyByets, data = [] in npm, BodyByets, data = [162 103 99 111 110 102 105 114 109 245 100 104 97 115 104 246] in sens util TxRxMgmt sesn: &{cfg:{MgmtProto:0 AdvFilter:0x71dac0 PreferredMtu:512 ConnTimeout:10000000000 ConnTries:3 WriteRsp:false TxFilter:<nil> RxFilter:<nil>} cln:0xc00028a0a0 txvr:0xc0000d5b80 mtx:{state:0 sema:0} attMtu:252 nmpReqChr:0xc0003200b0 nmpRspChr:0xc0003200b0 resReqChr:<nil> resRspChr:<nil>} in sens util TxRxMgmt nmpMsg: &{Hdr:{Op:2 Flags:0 Len:16 Group:1 Seq:66 Id:0} Body:0xc000180210} in txReq rsp: &{NmpBase:{hdr:{Op:3 Flags:0 Len:244 Group:1 Seq:66 Id:0}} Rc:0 Images:[{NmpBase:{hdr:{Op:0 Flags:0 Len:0 Group:0 Seq:0 Id:0}} Image:0 Slot:0 Version:0.5.0 Hash:[71 18 86 1 155 68 31 143 2 103 144 173 169 105 192 24 44 58 29 41 99 245 38 59 25 98 241 144 250 41 187 131] Bootable:true Pending:false Confirmed:true Active:true Permanent:false} {NmpBase:{hdr:{Op:0 Flags:0 Len:0 Group:0 Seq:0 Id:0}} Image:0 Slot:1 Version:0.5.0 Hash:[244 2 53 28 132 194 234 206 9 167 41 163 57 194 86 134 182 89 167 49 224 148 50 208 224 104 162 159 41 137 176 166] Bootable:true Pending:false Confirmed:false Active:false Permanent:false}] SplitStatus:N/A} Images: image=0 slot=0 version: 0.5.0 bootable: true flags: active confirmed hash: 471256019b441f8f026790ada969c0182c3a1d2963f5263b1962f190fa29bb83 image=0 slot=1 version: 0.5.0 bootable: true flags: hash: f402351c84c2eace09a729a339c25686b659a731e09432d0e068a29f2989b0a6 Split status: N/A (0)
the 'body' bytes in the above example are not clear, is it somesort of calculation or key or what ? can you help with understanding the mcumgr protocol behind, as the nrfConnect is also using it (i have already went through related smp_bt info: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/samples/subsys/mgmt/mcumgr/smp_svr/README.html there is no such info there, also not in the mcumgr ripo github.com/.../go.mod)
also not clear to me if the commands sent and replied as a json or byte[]
hope to read from you soon
best regards
Ziv