Skip to content

Commit e23b33f

Browse files
authored
Merge pull request #44 from tmobile/CFSPDK-859-add-configuration-options-dfu
TMO_SHELL: DFU: Changes to conform to the new file and directory names
2 parents 41c9976 + 9c723b3 commit e23b33f

File tree

3 files changed

+40
-38
lines changed

3 files changed

+40
-38
lines changed

samples/tmo_shell/src/dfu_murata_1sc.c

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,6 @@ struct dfu_file_t dfu_files_modem[] = {
4242
// sha1sum for update3.2.20351_20161_dis.ua - a56cac18f64452aa166b1c20ac7db9a7a96a7eb0
4343
{ 0xa5, 0x6c, 0xac, 0x18, 0xf6, 0x44, 0x52, 0xaa, 0x16, 0x6b, 0x1c, 0x20, 0xac, 0x7d, 0xb9, 0xa7, 0xa9, 0x6a, 0x7e, 0xb0 }
4444
},
45-
{
46-
"Murata 1SC: 20351 to 20161 Sample - SHA1" ,
47-
"/tmo/update1.ua.sha1",
48-
"",
49-
// sha1sum for update3.2.20351_20161_dis.ua - a56cac18f64452aa166b1c20ac7db9a7a96a7eb0
50-
{ 0xa5, 0x6c, 0xac, 0x18, 0xf6, 0x44, 0x52, 0xaa, 0x16, 0x6b, 0x1c, 0x20, 0xac, 0x7d, 0xb9, 0xa7, 0xa9, 0x6a, 0x7e, 0xb0 }
51-
},
5245
{"","","",""}
5346
};
5447

samples/tmo_shell/src/dfu_rs9116w.c

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,6 @@ struct dfu_file_t dfu_files_rs9116w[] = {
3131
// { 0x4b, 0xb8, 0xf8, 0x48, 0x04, 0x36, 0xa5, 0xa8, 0xed, 0x66, 0x50, 0x30, 0x87, 0xfe, 0xe5, 0xef, 0x99, 0x0d, 0x81, 0xa2 }
3232
"",
3333
{ 0xfb, 0x3b, 0xc5, 0x71, 0xe5, 0xa3, 0x9a, 0xc6, 0x14, 0x5e, 0xda, 0x90, 0xd3, 0xc0, 0xff, 0xf9, 0x5b, 0x06, 0x9c, 0xe8 }
34-
},
35-
{
36-
"SiLabs RS9116W - SHA1",
37-
"/tmo/rs9116_file.rps.sha1",
38-
"",
39-
{ 0xfb, 0x3b, 0xc5, 0x71, 0xe5, 0xa3, 0x9a, 0xc6, 0x14, 0x5e, 0xda, 0x90, 0xd3, 0xc0, 0xff, 0xf9, 0x5b, 0x06, 0x9c, 0xe8 }
4034
},
4135
{"","","",""}
4236
};

samples/tmo_shell/src/tmo_dfu_download.c

Lines changed: 40 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ struct fs_file_t file = {0};
3737
struct fs_dirent* my_finfo;
3838

3939
#define MAX_BASE_URL_LEN 256
40-
static char base_url_s[MAX_BASE_URL_LEN] = "https://devkit.devedge.t-mobile.com/bin/latest/";
40+
#define MAX_BASE_URL_DIR_LEN 32
41+
static char base_url_s[MAX_BASE_URL_LEN] = "https://devkit.devedge.t-mobile.com/bin/";
4142

4243
static int iface_s = WIFI_ID; // Default iface is wifi
4344

@@ -149,54 +150,68 @@ int dfu_download(const struct dfu_file_t *dfu_file, enum dfu_tgts dfu_tgt)
149150
return totalbytes;
150151
}
151152

152-
void generate_mcu_filename(struct dfu_file_t *dfu_files_mcu, char *base, char *version, int slots) {
153-
for (int i = 0; i < slots; i++) {
154-
/* BIN */
155-
sprintf(dfu_files_mcu[i].desc, "%s %d/%d", base ,i+1, slots*2);
156-
sprintf(dfu_files_mcu[i].lfile, "/tmo/zephyr.slot%d.bin", i);
157-
sprintf(dfu_files_mcu[i].rfile, "%s.slot%d.%s.bin",base, i, version);
158-
memset(dfu_files_mcu[i].sha1, 0, DFU_SHA1_LEN);
159-
160-
/* SHA1 */
161-
sprintf(dfu_files_mcu[i+slots].desc, "%s %d/%d", base, i + (1+slots), slots*2);
162-
sprintf(dfu_files_mcu[i+slots].lfile, "%s.sha1", dfu_files_mcu[i].lfile);
163-
sprintf(dfu_files_mcu[i+slots].rfile, "%s.sha1",dfu_files_mcu[i].rfile);
164-
memset(dfu_files_mcu[i+slots].sha1, 0, DFU_SHA1_LEN);
153+
void generate_mcu_filename(struct dfu_file_t *dfu_files_mcu, char *base, int slots, char *version)
154+
{
155+
int total_files = (slots*2) + 1;
156+
157+
sprintf(dfu_files_mcu[0].desc, "%s 1/%d", base, total_files);
158+
sprintf(dfu_files_mcu[0].lfile, "/tmo/zephyr.bin");
159+
sprintf(dfu_files_mcu[0].rfile, "%s.%s.bin",base,version);
160+
memset(dfu_files_mcu[0].sha1, 0, DFU_SHA1_LEN);
161+
162+
for (int i = 1; i <= slots; i++) {
163+
164+
/* BIN */
165+
sprintf(dfu_files_mcu[i].desc, "%s %d/%d", base ,i+1, total_files);
166+
sprintf(dfu_files_mcu[i].lfile, "/tmo/zephyr.slot%d.bin", i-1);
167+
sprintf(dfu_files_mcu[i].rfile, "%s.%s.slot%d.bin",base,version, i-1);
168+
memset(dfu_files_mcu[i].sha1, 0, DFU_SHA1_LEN);
169+
170+
/* SHA1 */
171+
sprintf(dfu_files_mcu[i+slots].desc, "%s %d/%d", base,(i+slots)+1, total_files);
172+
sprintf(dfu_files_mcu[i+slots].lfile, "%s.sha1", dfu_files_mcu[i].lfile);
173+
sprintf(dfu_files_mcu[i+slots].rfile, "%s.sha1",dfu_files_mcu[i].rfile);
174+
memset(dfu_files_mcu[i+slots].sha1, 0, DFU_SHA1_LEN);
165175
}
166176
}
167177

168178
int tmo_dfu_download(const struct shell *shell, enum dfu_tgts dfu_tgt, char *base, char *version)
169179
{
170180
mbedtls_sha1_init(&sha1_ctx);
171181
const struct dfu_file_t *dfu_files = NULL;
172-
struct dfu_file_t dfu_files_mcu_gen[5];
182+
struct dfu_file_t dfu_files_mcu_gen[6];
183+
char base_url[MAX_BASE_URL_LEN];
173184

174-
memset(dfu_files_mcu_gen,0,sizeof(struct dfu_file_t) * 5);
185+
memset(dfu_files_mcu_gen,0,sizeof(struct dfu_file_t) * 6);
175186

176187
switch (dfu_tgt) {
177188
case DFU_GECKO:
178-
if (base == NULL)
189+
if (base == NULL) {
179190
dfu_files = dfu_files_mcu;
180-
else {
181-
generate_mcu_filename(dfu_files_mcu_gen,base,version,2);
191+
set_dfu_base_url("https://devkit.devedge.t-mobile.com/bin/latest/");
192+
} else {
193+
generate_mcu_filename(dfu_files_mcu_gen,base,2, version);
182194
dfu_files = dfu_files_mcu_gen;
195+
196+
sprintf(base_url, "https://devkit.devedge.t-mobile.com/bin/%s/", version);
197+
set_dfu_base_url(base_url);
183198
}
184199
break;
185200

186201
case DFU_MODEM:
187-
sprintf((char *)dfu_files_modem[0].desc, "%s 1/2",base);
202+
sprintf((char *)dfu_files_modem[0].desc, "%s",base);
188203
sprintf((char *)dfu_files_modem[0].rfile, "%s.ua",base);
189-
sprintf((char *)dfu_files_modem[1].desc, "%s 2/2 ",base);
190-
sprintf((char *)dfu_files_modem[1].rfile, "%s.sha1",dfu_files_modem[0].rfile);
191204
dfu_files = dfu_files_modem;
205+
206+
set_dfu_base_url("https://devkit.devedge.t-mobile.com/bin/murata_1sc/");
192207
break;
193208

194209
case DFU_9116W:
195-
sprintf((char *)dfu_files_rs9116w[0].desc, "%s 1/2",base);
210+
sprintf((char *)dfu_files_rs9116w[0].desc, "%s",base);
196211
sprintf((char *)dfu_files_rs9116w[0].rfile, "%s.rps",base);
197-
sprintf((char *)dfu_files_rs9116w[1].desc, "%s 2/2",base);
198-
sprintf((char *)dfu_files_rs9116w[1].rfile, "%s.sha1",dfu_files_rs9116w[0].rfile);
199212
dfu_files = dfu_files_rs9116w;
213+
214+
set_dfu_base_url("https://devkit.devedge.t-mobile.com/bin/rs9116w/");
200215
break;
201216

202217
default:

0 commit comments

Comments
 (0)