Dash7Board Code Upgrade Protocol demonstration code.

Dependencies:   modem_ref_helper CRC

Committer:
Jeej
Date:
Thu May 28 09:11:58 2020 +0000
Revision:
8:6b7d38139b43
Parent:
7:bfe920ee44f2
Child:
9:d110f2b86831
Updated for v5.3.283.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jeej 0:5589104abba0 1 #include "files.h"
Jeej 0:5589104abba0 2 #include "hwcfg.h"
Jeej 0:5589104abba0 3
Jeej 0:5589104abba0 4 #include "kal_fs.h"
Jeej 0:5589104abba0 5
Jeej 0:5589104abba0 6 #define __DEVICE_ID__ 0x00000019
Jeej 0:5589104abba0 7
Jeej 0:5589104abba0 8 alp_file_header_t h_rev = {
Jeej 4:c97df2bc1731 9 .perm = RWR_R_,
Jeej 0:5589104abba0 10 .prop = FS_PERMANENT_NOTIF,
Jeej 0:5589104abba0 11 .afid = FID_ACTP_RPT_FULL,
Jeej 0:5589104abba0 12 .ifid = IFID_REPORT,
Jeej 0:5589104abba0 13 .size = HAL_U32_BYTE_SWAP((uint32_t)sizeof(revision_t)),
Jeej 0:5589104abba0 14 .alloc= HAL_U32_BYTE_SWAP((uint32_t)sizeof(revision_t))
Jeej 0:5589104abba0 15 };
Jeej 0:5589104abba0 16
Jeej 0:5589104abba0 17 revision_t f_rev = {
Jeej 0:5589104abba0 18 .manufacturer_id = __MANUFACTURER_ID__,
Jeej 0:5589104abba0 19 /// Device ID: Arbitrary number, at user/customer choice
Jeej 0:5589104abba0 20 .device_id = __DEVICE_ID__,
Jeej 0:5589104abba0 21 /// Hardware Board ID:
Jeej 0:5589104abba0 22 .hw_version = __HW_VERSION__,
Jeej 0:5589104abba0 23 /// Firmware Version: made of
Jeej 0:5589104abba0 24 /// - major,minor and patch indexes
Jeej 0:5589104abba0 25 /// - fw_id : "build-flavour"
Jeej 0:5589104abba0 26 /// FW_ID | MAJOR | MINOR | PATCH | HASH |
Jeej 0:5589104abba0 27 // 1B | 1B | 1B | 2B | 4B |
Jeej 0:5589104abba0 28 .fw_version.id = 0,
Jeej 0:5589104abba0 29 .fw_version.major = 1,
Jeej 0:5589104abba0 30 .fw_version.minor = 0,
Jeej 8:6b7d38139b43 31 .fw_version.patch = 5,
Jeej 8:6b7d38139b43 32 .fw_version.hash = 0x20200528,
Jeej 0:5589104abba0 33 /// Maximum size for CUP code
Jeej 0:5589104abba0 34 .cup_max_size = CUP_FILE_MAX_SIZE
Jeej 0:5589104abba0 35 };
Jeej 0:5589104abba0 36
Jeej 8:6b7d38139b43 37 alp_file_header_t h_cup_cfg = {
Jeej 4:c97df2bc1731 38 .perm = RW____, // This file is accessed as ROOT
Jeej 0:5589104abba0 39 .prop = FS_VOLATILE,
Jeej 0:5589104abba0 40 .afid = 0,
Jeej 0:5589104abba0 41 .ifid = 0,
Jeej 8:6b7d38139b43 42 .size = HAL_U32_BYTE_SWAP((uint32_t)sizeof(cup_cfg_t)),
Jeej 8:6b7d38139b43 43 .alloc= HAL_U32_BYTE_SWAP((uint32_t)sizeof(cup_cfg_t))
Jeej 0:5589104abba0 44 };
Jeej 0:5589104abba0 45
Jeej 8:6b7d38139b43 46 cup_cfg_t f_cup_cfg = { 0 };
Jeej 8:6b7d38139b43 47
Jeej 8:6b7d38139b43 48 alp_file_header_t h_cup_cfg_bcast = {
Jeej 8:6b7d38139b43 49 .perm = RWRWR_,
Jeej 8:6b7d38139b43 50 .prop = FS_VOLATILE,
Jeej 8:6b7d38139b43 51 .afid = 0,
Jeej 8:6b7d38139b43 52 .ifid = 0,
Jeej 8:6b7d38139b43 53 .size = HAL_U32_BYTE_SWAP((uint32_t)sizeof(cup_cfg_bcast_t)),
Jeej 8:6b7d38139b43 54 .alloc= HAL_U32_BYTE_SWAP((uint32_t)sizeof(cup_cfg_bcast_t))
Jeej 0:5589104abba0 55 };
Jeej 0:5589104abba0 56
Jeej 8:6b7d38139b43 57 cup_cfg_bcast_t f_cup_cfg_bcast = { 0 };
Jeej 8:6b7d38139b43 58
Jeej 0:5589104abba0 59 alp_file_header_t h_cup_code = {
Jeej 4:c97df2bc1731 60 .perm = RWRWRW, // This file is written as GUEST (no encryption)
Jeej 0:5589104abba0 61 .prop = FS_PERMANENT,
Jeej 0:5589104abba0 62 .afid = 0,
Jeej 0:5589104abba0 63 .ifid = 0,
Jeej 0:5589104abba0 64 .size = HAL_U32_BYTE_SWAP((uint32_t)CUP_FILE_MAX_SIZE),
Jeej 0:5589104abba0 65 .alloc= HAL_U32_BYTE_SWAP((uint32_t)CUP_FILE_MAX_SIZE)
Jeej 0:5589104abba0 66 };