rc = flash_area_open(flash_area_id_from_multi_image_slot(img_num, 0), &fap);
#else
rc = flash_area_open(flash_area_id_from_direct_image(img_num), &fap);
#endif
/*
* Expected data format.
* {
* "image":<image number in a multi-image set (OPTIONAL)>
* "data":<image data>
* "len":<image len>
* "off":<current offset of image data>
* }
*/
struct Upload upload;
uint32_t decoded_len;
bool result = cbor_decode_Upload((const uint8_t *)buf, len, &upload, &decoded_len);
if (!result || (len != decoded_len)) {
goto out_invalid_data;
}
for (int i = 0; i < upload._Upload_members_count; i++) {
struct Member_ *member = &upload._Upload_members[i];
switch(member->_Member_choice) {
case _Member_image:
img_num = member->_Member_image;
break;
case _Member_data:
img_data = member->_Member_data.value;
slen = member->_Member_data.len;
img_blen = slen;
break;
case _Member_len:
data_len = member->_Member_len;
break;
case _Member_off:
off = member->_Member_off;
break;
case _Member_sha:
default:
/* Nothing to do. */
break;
}
}
rc = flash_area_open(flash_area_id_from_multi_image_slot(img_num, 1), &fap); <---- change 0 to 1
#else
rc = flash_area_open(flash_area_id_from_direct_image(img_num), &fap);
#endif
0 B / 125.29 KiB 0.00%