fix bug: config_w5500_network
This commit is contained in:
parent
7bd09f7d9c
commit
3ea8baf7a2
|
@ -479,6 +479,8 @@ void char_arr_assign(uint8_t *dst[4], uint32_t src[4]) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *network_param_name[] = {"ip", "sn", "gw"};
|
||||||
|
|
||||||
void config_w5500_network(int argc, char *argv[]) {
|
void config_w5500_network(int argc, char *argv[]) {
|
||||||
if (argc < 2) {
|
if (argc < 2) {
|
||||||
KPrintf("[W5500] Network config require params.");
|
KPrintf("[W5500] Network config require params.");
|
||||||
|
@ -498,22 +500,24 @@ void config_w5500_network(int argc, char *argv[]) {
|
||||||
uint32_t tmp_arr[4];
|
uint32_t tmp_arr[4];
|
||||||
sscanf(argv[cur_arg_idx + 1], "%d.%d.%d.%d", &tmp_arr[0], &tmp_arr[1],
|
sscanf(argv[cur_arg_idx + 1], "%d.%d.%d.%d", &tmp_arr[0], &tmp_arr[1],
|
||||||
&tmp_arr[2], &tmp_arr[3]);
|
&tmp_arr[2], &tmp_arr[3]);
|
||||||
if (argv[cur_arg_idx] == "ip") {
|
if (memcmp(argv[cur_arg_idx], network_param_name[0]) == 0) {
|
||||||
for (int i = 0; i < 4; ++i) {
|
for (int i = 0; i < 4; ++i) {
|
||||||
wiz_netinfo.ip[i] = (uint8_t)(tmp_arr[i]);
|
wiz_netinfo.ip[i] = (uint8_t)(tmp_arr[i]);
|
||||||
}
|
}
|
||||||
KPrintf("[W5500] Network config %s: %d.%d.%d.%d", wiz_netinfo.ip[0],
|
KPrintf("[W5500] Network config %s: %d.%d.%d.%d", wiz_netinfo.ip[0],
|
||||||
wiz_netinfo.ip[1], wiz_netinfo.ip[2], wiz_netinfo.ip[3]);
|
wiz_netinfo.ip[1], wiz_netinfo.ip[2], wiz_netinfo.ip[3]);
|
||||||
} else if (argv[cur_arg_idx] == "sn") {
|
} else if (memcmp(argv[cur_arg_idx], network_param_name[1]) == 0) {
|
||||||
for (int i = 0; i < 4; ++i) {
|
for (int i = 0; i < 4; ++i) {
|
||||||
wiz_netinfo.sn[i] = (uint8_t)(tmp_arr[i]);
|
wiz_netinfo.sn[i] = (uint8_t)(tmp_arr[i]);
|
||||||
}
|
}
|
||||||
KPrintf("[W5500] Network config %s: %d.%d.%d.%d", wiz_netinfo.sn[0],
|
KPrintf("[W5500] Network config %s: %d.%d.%d.%d", wiz_netinfo.sn[0],
|
||||||
wiz_netinfo.sn[1], wiz_netinfo.sn[2], wiz_netinfo.sn[3]);
|
wiz_netinfo.sn[1], wiz_netinfo.sn[2], wiz_netinfo.sn[3]);
|
||||||
} else if (argv[cur_arg_idx] == "gw") {
|
} else if (memcmp(argv[cur_arg_idx], network_param_name[2]) == 0) {
|
||||||
for (int i = 0; i < 4; ++i) {
|
for (int i = 0; i < 4; ++i) {
|
||||||
wiz_netinfo.gw[i] = (uint8_t)(tmp_arr[i]);
|
wiz_netinfo.gw[i] = (uint8_t)(tmp_arr[i]);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
KPrintf("[W5500] Invalid network param.");
|
||||||
}
|
}
|
||||||
cur_arg_idx += 2;
|
cur_arg_idx += 2;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue