fix bug: config_w5500_network

This commit is contained in:
TXuian 2022-11-25 16:51:40 +08:00
parent 7bd09f7d9c
commit 3ea8baf7a2
1 changed files with 7 additions and 3 deletions

View File

@ -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[]) {
if (argc < 2) {
KPrintf("[W5500] Network config require params.");
@ -498,22 +500,24 @@ void config_w5500_network(int argc, char *argv[]) {
uint32_t tmp_arr[4];
sscanf(argv[cur_arg_idx + 1], "%d.%d.%d.%d", &tmp_arr[0], &tmp_arr[1],
&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) {
wiz_netinfo.ip[i] = (uint8_t)(tmp_arr[i]);
}
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]);
} 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) {
wiz_netinfo.sn[i] = (uint8_t)(tmp_arr[i]);
}
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]);
} 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) {
wiz_netinfo.gw[i] = (uint8_t)(tmp_arr[i]);
}
} else {
KPrintf("[W5500] Invalid network param.");
}
cur_arg_idx += 2;
}