zhaohe 1 year ago
parent
commit
12838d25d1
  1. 1
      usrc/main.cpp
  2. 2
      usrc/project_configs.h
  3. 27
      usrc/service/network_service.c
  4. 1
      usrc/service/network_service.h

1
usrc/main.cpp

@ -142,6 +142,7 @@ void umain() {
osDelay(10);
debug_light_ctrl();
factory_reset_key_detect();
network_service_schedule();
// if (xs_has_passedms(0) >= * 60 * 60 * 1000) {
// 限制客户使用时长

2
usrc/project_configs.h

@ -1,7 +1,7 @@
#pragma once
#define VERSION(main, sub, fix) (main << 16 | sub << 8 | fix << 0)
#define PC_VERSION VERSION(3, 3, 1)
#define PC_VERSION VERSION(3, 3, 2)
#define PC_MANUFACTURER0 ('i' | 'f' << 8 | 'l' << 16 | 'y' << 24)
#define PC_MANUFACTURER1 ('t' | 'o' << 8 | 'p' << 16 | '\0' << 24)

27
usrc/service/network_service.c

@ -102,16 +102,22 @@ void netif_ext_callback(struct netif *netif, netif_nsc_reason_t reason, const ne
// netif_set_addr(netif, &ipaddr, &netmask, &gw);
// m_networkisready = false;
// }
if (!dhcp_is_start) {
dhcp_start(&gnetif);
dhcp_is_start = true;
}
if (args->link_changed.state) {
// if (!dhcp_is_start) {
// dhcp_start(&gnetif);
// dhcp_is_start = true;
// ZLOGI(TAG, "start dhcp");
// }
if (netif->ip_addr.addr != 0) {
m_networkisready = true;
}
} else {
ZLOGI(TAG, "stop dhcp");
if (dhcp_is_start) {
dhcp_stop(&gnetif);
dhcp_is_start = false;
}
m_networkisready = false;
}
}
@ -179,9 +185,16 @@ void network_service_init() {
}
osThreadDef(EthLink, ethernet_link_thread, NETWORK_REPORT_TASK_LEVEL, 0, 1024);
osThreadCreate(osThread(EthLink), &gnetif);
}
}
void network_service_schedule() {
if (!dhcp_is_start && netif_is_up(&gnetif)) {
err_t err = dhcp_start(&gnetif);
if (err != 0) {
return;
}
dhcp_is_start = true;
ZLOGI(TAG, "start dhcp");
}
}
bool network_service_network_is_ready() { return m_networkisready; }

1
usrc/service/network_service.h

@ -4,6 +4,7 @@ extern "C" {
#endif
void network_service_init();
bool network_service_network_is_ready();
void network_service_schedule();
#ifdef __cplusplus
}
#endif
Loading…
Cancel
Save