Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
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);
}
Ejemplo n.º 3
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;
}
Ejemplo n.º 4
0
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);
}
Ejemplo n.º 5
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);
}