Skip to content

Commit c5d0825

Browse files
Retry IP connect on boot, fix network c string issue
1 parent 5224e34 commit c5d0825

File tree

2 files changed

+25
-9
lines changed

2 files changed

+25
-9
lines changed

CYD-Klipper/src/ui/ip_setup.cpp

+12-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,17 @@ bool verify_ip(){
2525
}
2626
}
2727

28+
bool retry_ip_verify(){
29+
for (int i = 0; i < 3; i++){
30+
if (verify_ip()){
31+
return true;
32+
}
33+
delay(500);
34+
}
35+
36+
return false;
37+
}
38+
2839
static void ta_event_cb(lv_event_t * e) {
2940
lv_event_code_t code = lv_event_get_code(e);
3041
lv_obj_t * ta = lv_event_get_target(e);
@@ -87,7 +98,7 @@ void ip_setup_inner(){
8798
void ip_setup(){
8899
connect_ok = false;
89100

90-
if (global_config.ipConfigured && verify_ip()){
101+
if (global_config.ipConfigured && retry_ip_verify()){
91102
return;
92103
}
93104

CYD-Klipper/src/ui/wifi_setup.cpp

+13-8
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,6 @@ void wifi_init_inner(){
108108
lv_task_handler();
109109
lv_refr_now(NULL);
110110

111-
int n = WiFi.scanNetworks();
112-
113111
lv_obj_clean(lv_scr_act());
114112

115113
lv_obj_t * refreshBtn = lv_btn_create(lv_scr_act());
@@ -128,15 +126,22 @@ void wifi_init_inner(){
128126
lv_obj_align(list, LV_ALIGN_TOP_LEFT, 10, 40);
129127
lv_obj_set_size(list, TFT_HEIGHT - 20, TFT_WIDTH - 40 - 5);
130128

129+
int n = WiFi.scanNetworks();
130+
131131
for (int i = 0; i < n; ++i) {
132-
const char* ssid = WiFi.SSID(i).c_str();
133-
int len = strlen(ssid);
132+
String ssid = WiFi.SSID(i);
133+
char* ssid_copy = (char*)malloc(ssid.length() + 1);
134+
int j = 0;
135+
136+
for (; j < ssid.length(); ++j){
137+
if (ssid[j] == '\0')
138+
continue;
139+
140+
ssid_copy[j] = ssid[j];
141+
}
134142

135-
if (len == 0)
136-
continue;
143+
ssid_copy[j] = '\0';
137144

138-
const char* ssid_copy = (const char*)malloc(len + 1);
139-
strcpy((char*)ssid_copy, ssid);
140145
lv_obj_t * btn = lv_list_add_btn(list, LV_SYMBOL_WIFI, ssid_copy);
141146
lv_obj_add_event_cb(btn, wifi_btn_event_handler, LV_EVENT_ALL, (void*)ssid_copy);
142147
}

0 commit comments

Comments
 (0)