2 Commits
v1.0 ... v1.0.2

Author SHA1 Message Date
suchmememanyskill
c5d08253a7 Retry IP connect on boot, fix network c string issue 2023-11-14 00:31:52 +01:00
suchmememanyskill
5224e34f8c use absolute coords for position, rather than ajusted ones 2023-11-13 21:55:35 +01:00
3 changed files with 28 additions and 12 deletions

View File

@@ -97,15 +97,15 @@ void fetch_printer_data()
if (status.containsKey("toolhead"))
{
printer.position[0] = status["toolhead"]["position"][0];
printer.position[1] = status["toolhead"]["position"][1];
printer.position[2] = status["toolhead"]["position"][2];
const char *homed_axis = status["toolhead"]["homed_axes"];
printer.homed_axis = strcmp(homed_axis, "xyz") == 0;
}
if (status.containsKey("gcode_move"))
{
printer.position[0] = status["gcode_move"]["gcode_position"][0];
printer.position[1] = status["gcode_move"]["gcode_position"][1];
printer.position[2] = status["gcode_move"]["gcode_position"][2];
bool absolute_coords = status["gcode_move"]["absolute_coordinates"];
printer.absolute_coords = absolute_coords == true;
}

View File

@@ -25,6 +25,17 @@ bool verify_ip(){
}
}
bool retry_ip_verify(){
for (int i = 0; i < 3; i++){
if (verify_ip()){
return true;
}
delay(500);
}
return false;
}
static void ta_event_cb(lv_event_t * e) {
lv_event_code_t code = lv_event_get_code(e);
lv_obj_t * ta = lv_event_get_target(e);
@@ -87,7 +98,7 @@ void ip_setup_inner(){
void ip_setup(){
connect_ok = false;
if (global_config.ipConfigured && verify_ip()){
if (global_config.ipConfigured && retry_ip_verify()){
return;
}

View File

@@ -108,8 +108,6 @@ void wifi_init_inner(){
lv_task_handler();
lv_refr_now(NULL);
int n = WiFi.scanNetworks();
lv_obj_clean(lv_scr_act());
lv_obj_t * refreshBtn = lv_btn_create(lv_scr_act());
@@ -128,15 +126,22 @@ void wifi_init_inner(){
lv_obj_align(list, LV_ALIGN_TOP_LEFT, 10, 40);
lv_obj_set_size(list, TFT_HEIGHT - 20, TFT_WIDTH - 40 - 5);
int n = WiFi.scanNetworks();
for (int i = 0; i < n; ++i) {
const char* ssid = WiFi.SSID(i).c_str();
int len = strlen(ssid);
String ssid = WiFi.SSID(i);
char* ssid_copy = (char*)malloc(ssid.length() + 1);
int j = 0;
if (len == 0)
continue;
for (; j < ssid.length(); ++j){
if (ssid[j] == '\0')
continue;
ssid_copy[j] = ssid[j];
}
ssid_copy[j] = '\0';
const char* ssid_copy = (const char*)malloc(len + 1);
strcpy((char*)ssid_copy, ssid);
lv_obj_t * btn = lv_list_add_btn(list, LV_SYMBOL_WIFI, ssid_copy);
lv_obj_add_event_cb(btn, wifi_btn_event_handler, LV_EVENT_ALL, (void*)ssid_copy);
}