void bootmgr_save_settings() { if(!bootmgr_toggle_sdcard(1, 0)) { FILE *f = fopen("/sdrt/multirom.txt", "w"); if(f) { char *line = (char*)malloc(30); sprintf(line, "timeout = %u\r\n", settings.timeout_seconds); fputs(line, f); float timezone = settings.timezone + settings.timezone_mins/60.f; sprintf(line, "timezone = %.2f\r\n", timezone); fputs(line, f); sprintf(line, "show_seconds = %u\r\n", (uint8_t)settings.show_seconds); fputs(line, f); sprintf(line, "touch_ui = %u\r\n", (uint8_t)settings.touch_ui); fputs(line, f); sprintf(line, "tetris_max_score = %u\r\n", settings.tetris_max_score); fputs(line, f); sprintf(line, "brightness = %u\r\n", settings.brightness); fputs(line, f); fclose(f); free(line); } } bootmgr_toggle_sdcard(0, 0); }
void bootmgr_load_settings() { settings.timezone = 0; settings.timeout_seconds = 3; settings.show_seconds = 0; settings.touch_ui = 1; settings.tetris_max_score = 0; settings.brightness = 100; if(!bootmgr_toggle_sdcard(1, 0)) { FILE *f = fopen("/sdrt/multirom.txt", "r"); if(f) { fseek (f, 0, SEEK_END); int size = ftell(f); char *con = (char*)malloc(size+1); rewind(f); if(fread(con, 1, size, f)) { con[size] = 0; char *p = strtok (con, "=\n"); char *n = p; for(; p != NULL; n = p) { if(!(p = strtok (NULL, "=\n"))) break; if(strstr(n, "timeout")) settings.timeout_seconds = atoi(p); else if(strstr(n, "timezone")) { double timezone = atof(p); settings.timezone = (int8_t)timezone; settings.timezone_mins = (timezone - settings.timezone)*60; } else if(strstr(n, "show_seconds")) settings.show_seconds = atoi(p); else if(strstr(n, "touch_ui")) settings.touch_ui = atoi(p); else if(strstr(n, "tetris_max_score")) settings.tetris_max_score = atoi(p); else if(strstr(n, "brightness")) settings.brightness = atoi(p); p = strtok (NULL, "=\n"); } } free(con); fclose(f); } } bootmgr_toggle_sdcard(0, 0); }
uint8_t bootmgr_toggle_ums(void) { bootmgr_printf(-1, 21, WHITE, "%sabling USB mass storage...", ums_enabled ? "dis" : "en"); bootmgr_draw(); sync(); static const char* gadget_files[] = { "/sys/devices/platform/msm_hsusb/gadget/lun0/file", "/sys/devices/platform/usb_mass_storage/lun0/file", NULL }; FILE *f = NULL; uint8_t i = 0; for(; gadget_files[i] != NULL && f == NULL; ++i) f = fopen(gadget_files[i], "w+"); if(!f) { bootmgr_erase_text(21); return 0; } if(!ums_enabled) { bootmgr_toggle_sdcard(1, 1); fputs(SD_FAT_BLOCK, f); bootmgr_printf(-1, 20, WHITE, "USB mass storage enabled"); bootmgr_printf(-1, 21, WHITE, "Press \"search\" again to exit"); } else { fputc(0, f); bootmgr_erase_text(20); bootmgr_erase_text(21); bootmgr_toggle_sdcard(0, 1); } fclose(f); bootmgr_display->bg_img = ums_enabled; bootmgr_draw(); ums_enabled = !ums_enabled; return 1; }
void bootmgr_save_settings(void) { if(!bootmgr_toggle_sdcard(1, 0)) { FILE *f = fopen("/sdrt/multirom.txt", "w"); if(f) { float timezone = settings.timezone + settings.timezone_mins/60.f; fprintf(f, "timeout = %u\r\n", settings.timeout_seconds); fprintf(f, "timezone = %.2f\r\n", timezone); fprintf(f, "show_seconds = %u\r\n", (uint8_t)settings.show_seconds); fprintf(f, "touch_ui = %u\r\n", (uint8_t)settings.touch_ui); fprintf(f, "tetris_max_score = %u\r\n", settings.tetris_max_score); fprintf(f, "brightness = %u\r\n", settings.brightness); fprintf(f, "default_boot = %u\r\n", settings.default_boot); fprintf(f, "default_boot_sd = \"%s\"\r\n", settings.default_boot_sd); fprintf(f, "charger_settings = %u\r\b", settings.charger_settings); fclose(f); } } bootmgr_toggle_sdcard(0, 0); }
void bootmgr_load_settings(void) { settings.timezone = 0; settings.timeout_seconds = 3; settings.show_seconds = 0; settings.touch_ui = 1; settings.tetris_max_score = 0; settings.brightness = 100; settings.charger_settings = (CHARGER_AUTO_START | CHARGER_DISABLE_LG); strcpy(settings.default_boot_sd, ""); if(!bootmgr_toggle_sdcard(1, 0)) { FILE *f = fopen("/sdrt/multirom.txt", "r"); if(f) { fseek (f, 0, SEEK_END); int size = ftell(f); char *con = (char*)malloc(size+1); rewind(f); if(fread(con, 1, size, f)) { con[size] = 0; char *p = strtok (con, "=\n"); char *n = p; for(; p != NULL; n = p) { if(!(p = strtok (NULL, "=\n"))) break; if(strstr(n, "timeout")) settings.timeout_seconds = atoi(p); else if(strstr(n, "timezone")) { double timezone = atof(p); settings.timezone = (int8_t)timezone; settings.timezone_mins = (timezone - settings.timezone)*60; } else if(strstr(n, "show_seconds")) settings.show_seconds = atoi(p); else if(strstr(n, "touch_ui")) settings.touch_ui = atoi(p); else if(strstr(n, "tetris_max_score")) settings.tetris_max_score = atoi(p); else if(strstr(n, "brightness")) settings.brightness = atoi(p); else if(strstr(n, "default_boot_sd")) { char *buff = (char*)malloc(256); strcpy(buff, p); char *first = strchr(buff, '"'); if(first == NULL) { free(buff); continue; } char *second = strchr(first+1, '"'); if(second == NULL) { free(buff); continue; } *second = 0; strcpy(settings.default_boot_sd, first+1); free(buff); } else if(strstr(n, "default_boot")) { settings.default_boot = atoi(p); if(settings.default_boot > 1) settings.default_boot = 0; } else if(strstr(n, "charger_settings")) settings.charger_settings = atoi(p); p = strtok (NULL, "=\n"); } } free(con); fclose(f); } } bootmgr_toggle_sdcard(0, 0); }