5 #ifndef PB_DFU_CC_PB_H_INCLUDED
6 #define PB_DFU_CC_PB_H_INCLUDED
10 #if PB_PROTO_HEADER_VERSION != 30
11 #error Regenerate this file with the current version of nanopb generator.
21 DFU_OP_CODE_RESET = 0,
24 #define DFU_OP_CODE_MIN DFU_OP_CODE_RESET
25 #define DFU_OP_CODE_MAX DFU_OP_CODE_INIT
26 #define DFU_OP_CODE_ARRAYSIZE ((dfu_op_code_t)(DFU_OP_CODE_INIT+1))
30 DFU_FW_TYPE_APPLICATION = 0,
31 DFU_FW_TYPE_SOFTDEVICE = 1,
32 DFU_FW_TYPE_BOOTLOADER = 2,
33 DFU_FW_TYPE_SOFTDEVICE_BOOTLOADER = 3
35 #define DFU_FW_TYPE_MIN DFU_FW_TYPE_APPLICATION
36 #define DFU_FW_TYPE_MAX DFU_FW_TYPE_SOFTDEVICE_BOOTLOADER
37 #define DFU_FW_TYPE_ARRAYSIZE ((dfu_fw_type_t)(DFU_FW_TYPE_SOFTDEVICE_BOOTLOADER+1))
41 DFU_HASH_TYPE_NO_HASH = 0,
42 DFU_HASH_TYPE_CRC = 1,
43 DFU_HASH_TYPE_SHA128 = 2,
44 DFU_HASH_TYPE_SHA256 = 3,
45 DFU_HASH_TYPE_SHA512 = 4
47 #define DFU_HASH_TYPE_MIN DFU_HASH_TYPE_NO_HASH
48 #define DFU_HASH_TYPE_MAX DFU_HASH_TYPE_SHA512
49 #define DFU_HASH_TYPE_ARRAYSIZE ((dfu_hash_type_t)(DFU_HASH_TYPE_SHA512+1))
53 DFU_SIGNATURE_TYPE_ECDSA_P256_SHA256 = 0,
54 DFU_SIGNATURE_TYPE_ED25519 = 1
55 } dfu_signature_type_t;
56 #define DFU_SIGNATURE_TYPE_MIN DFU_SIGNATURE_TYPE_ECDSA_P256_SHA256
57 #define DFU_SIGNATURE_TYPE_MAX DFU_SIGNATURE_TYPE_ED25519
58 #define DFU_SIGNATURE_TYPE_ARRAYSIZE ((dfu_signature_type_t)(DFU_SIGNATURE_TYPE_ED25519+1))
61 typedef PB_BYTES_ARRAY_T(32) dfu_hash_hash_t;
63 dfu_hash_type_t hash_type;
71 } dfu_reset_command_t;
78 pb_size_t sd_req_count;
97 dfu_op_code_t op_code;
99 dfu_init_command_t init;
101 dfu_reset_command_t reset;
105 typedef PB_BYTES_ARRAY_T(64) dfu_signed_command_signature_t;
107 dfu_command_t command;
108 dfu_signature_type_t signature_type;
109 dfu_signed_command_signature_t signature;
111 } dfu_signed_command_t;
115 dfu_command_t command;
116 bool has_signed_command;
117 dfu_signed_command_t signed_command;
122 extern const bool dfu_init_command_is_debug_default;
125 #define DFU_HASH_INIT_DEFAULT {(dfu_hash_type_t)0, {0, {0}}}
126 #define DFU_INIT_COMMAND_INIT_DEFAULT {false, 0, false, 0, 0, {0, 0, 0, 0}, false, (dfu_fw_type_t)0, false, 0, false, 0, false, 0, false, DFU_HASH_INIT_DEFAULT, false, false}
127 #define DFU_RESET_COMMAND_INIT_DEFAULT {0}
128 #define DFU_COMMAND_INIT_DEFAULT {false, (dfu_op_code_t)0, false, DFU_INIT_COMMAND_INIT_DEFAULT, false, DFU_RESET_COMMAND_INIT_DEFAULT}
129 #define DFU_SIGNED_COMMAND_INIT_DEFAULT {DFU_COMMAND_INIT_DEFAULT, (dfu_signature_type_t)0, {0, {0}}}
130 #define DFU_PACKET_INIT_DEFAULT {false, DFU_COMMAND_INIT_DEFAULT, false, DFU_SIGNED_COMMAND_INIT_DEFAULT}
131 #define DFU_HASH_INIT_ZERO {(dfu_hash_type_t)0, {0, {0}}}
132 #define DFU_INIT_COMMAND_INIT_ZERO {false, 0, false, 0, 0, {0, 0, 0, 0}, false, (dfu_fw_type_t)0, false, 0, false, 0, false, 0, false, DFU_HASH_INIT_ZERO, false, 0}
133 #define DFU_RESET_COMMAND_INIT_ZERO {0}
134 #define DFU_COMMAND_INIT_ZERO {false, (dfu_op_code_t)0, false, DFU_INIT_COMMAND_INIT_ZERO, false, DFU_RESET_COMMAND_INIT_ZERO}
135 #define DFU_SIGNED_COMMAND_INIT_ZERO {DFU_COMMAND_INIT_ZERO, (dfu_signature_type_t)0, {0, {0}}}
136 #define DFU_PACKET_INIT_ZERO {false, DFU_COMMAND_INIT_ZERO, false, DFU_SIGNED_COMMAND_INIT_ZERO}
139 #define DFU_HASH_HASH_TYPE_TAG 1
140 #define DFU_HASH_HASH_TAG 2
141 #define DFU_RESET_COMMAND_TIMEOUT_TAG 1
142 #define DFU_INIT_COMMAND_FW_VERSION_TAG 1
143 #define DFU_INIT_COMMAND_HW_VERSION_TAG 2
144 #define DFU_INIT_COMMAND_SD_REQ_TAG 3
145 #define DFU_INIT_COMMAND_TYPE_TAG 4
146 #define DFU_INIT_COMMAND_SD_SIZE_TAG 5
147 #define DFU_INIT_COMMAND_BL_SIZE_TAG 6
148 #define DFU_INIT_COMMAND_APP_SIZE_TAG 7
149 #define DFU_INIT_COMMAND_HASH_TAG 8
150 #define DFU_INIT_COMMAND_IS_DEBUG_TAG 9
151 #define DFU_COMMAND_OP_CODE_TAG 1
152 #define DFU_COMMAND_INIT_TAG 2
153 #define DFU_COMMAND_RESET_TAG 3
154 #define DFU_SIGNED_COMMAND_COMMAND_TAG 1
155 #define DFU_SIGNED_COMMAND_SIGNATURE_TYPE_TAG 2
156 #define DFU_SIGNED_COMMAND_SIGNATURE_TAG 3
157 #define DFU_PACKET_COMMAND_TAG 1
158 #define DFU_PACKET_SIGNED_COMMAND_TAG 2
161 extern const pb_field_t dfu_hash_fields[3];
162 extern const pb_field_t dfu_init_command_fields[10];
163 extern const pb_field_t dfu_reset_command_fields[2];
164 extern const pb_field_t dfu_command_fields[4];
165 extern const pb_field_t dfu_signed_command_fields[4];
166 extern const pb_field_t dfu_packet_fields[3];
169 #define DFU_HASH_SIZE 36
170 #define DFU_INIT_COMMAND_SIZE 96
171 #define DFU_RESET_COMMAND_SIZE 6
172 #define DFU_COMMAND_SIZE 108
173 #define DFU_SIGNED_COMMAND_SIZE 178
174 #define DFU_PACKET_SIZE 291
179 #define DFU_CC_MESSAGES \