Add support for listing and updating two independent images
The commit adds code that allows to upload and list two independent
images.
Authored by: Sigvart Hovland sigvart.hovland@nordicsemi.no
Co-Authored by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
diff --git a/cmd/img_mgmt/src/img_mgmt.c b/cmd/img_mgmt/src/img_mgmt.c
index e938568..b86d0ae 100644
--- a/cmd/img_mgmt/src/img_mgmt.c
+++ b/cmd/img_mgmt/src/img_mgmt.c
@@ -241,7 +241,7 @@
int i;
struct image_version ver;
- for (i = 0; i < 2; i++) {
+ for (i = 0; i < 2 * IMG_MGMT_UPDATABLE_IMAGE_NUMBER; i++) {
if (img_mgmt_read_info(i, &ver, hash, NULL) != 0) {
continue;
}
@@ -262,7 +262,7 @@
int i;
uint8_t hash[IMAGE_HASH_LEN];
- for (i = 0; i < 2; i++) {
+ for (i = 0; i < 2 * IMG_MGMT_UPDATABLE_IMAGE_NUMBER; i++) {
if (img_mgmt_read_info(i, ver, hash, NULL) != 0) {
continue;
}
diff --git a/cmd/img_mgmt/src/img_mgmt_state.c b/cmd/img_mgmt/src/img_mgmt_state.c
index cb5a600..4d3c975 100644
--- a/cmd/img_mgmt/src/img_mgmt_state.c
+++ b/cmd/img_mgmt/src/img_mgmt_state.c
@@ -203,7 +203,8 @@
err |= cbor_encoder_create_array(&ctxt->encoder, &images,
CborIndefiniteLength);
- for (i = 0; i < 2; i++) {
+
+ for (i = 0; i < 2 * IMG_MGMT_UPDATABLE_IMAGE_NUMBER; i++) {
rc = img_mgmt_read_info(i, &ver, hash, &flags);
if (rc != 0) {
continue;
@@ -213,8 +214,13 @@
err |= cbor_encoder_create_map(&images, &image,
CborIndefiniteLength);
+
+#if IMG_MGMT_UPDATABLE_IMAGE_NUMBER > 1
+ err |= cbor_encode_text_stringz(&image, "image");
+ err |= cbor_encode_int(&image, i >> 1);
+#endif
err |= cbor_encode_text_stringz(&image, "slot");
- err |= cbor_encode_int(&image, i);
+ err |= cbor_encode_int(&image, i % 2);
err |= cbor_encode_text_stringz(&image, "version");
img_mgmt_ver_str(&ver, vers_str);