/*
 * UVEOS_GOST_Settings.c
 *
 *  Created on: Apr 14, 2021
 *      Author: zemon
 */
#include <UveosGostSettings.h>

void vUveosNotGostSettingsInitDefaults(tUveosNotGostSettings *env) {
    env->ECALL_TEST_MODE = 0;
    env->FULL_POWER_OFF_TIME = 10;
    env->BIP_BACKLIGHT_MODE = 1;
    env->BIP_GREEN_LED_POWER_MODE = 1;
    env->BIP_RED_LED_POWER_MODE = 1;
}

void vUveosGostSettingsInitDefaults(tUveosGostSettings *gostSettings) {

    //Radio settings
    gostSettings->RADIO_MUTE_DELAY = 0;                    //Задержка между установкой сигнала  «радио mute» и началом проигрывания звука
    gostSettings->RADIO_UNMUTE_DELAY = 0;                    //Задержка между снятием сигнала «радио mute» и окончанием проигрывания звука

    //Common settings
    gostSettings->CALL_AUTO_ANSWER_TIME = 20;                //Промежуток времени после завершения экстренного вызова, в течение которого УСВ автоматически отвечает на входящие звонки
    gostSettings->POST_TEST_REGISTRATION_TIME = 120;        //Промежуток времени, в течение которого УСВ остается зарегистрированной в сети после передачирезультатов тестирования оператору системы
    gostSettings->TEST_MODE_END_DISTANCE = 300;            //Дистанция, на которой режим тестирования выключается автоматически
    gostSettings->GARAGE_MODE_END_DISTANCE = 300;            //Дистанция, на которой режим «Автосервис» выключается автоматически

    String16CopyStatic(&gostSettings->ECALL_TEST_NUMBER, "+79418100029");

    gostSettings->GARAGE_MODE_PIN = 0;
    gostSettings->INT_MEM_TRANSMIT_INTERVAL = 60;
    gostSettings->INT_MEM_TRANSMIT_ATTEMPTS = 10;

    //Service configuration
    gostSettings->CRASH_SIGNAL_INTERNAL = 1;
    gostSettings->CRASH_SIGNAL_EXTERNAL = 0;
    gostSettings->ASI15_TRESHOLD = 0.7f;
    gostSettings->ECALL_MODE_PIN = UVEOS_GOST_NONE;

    gostSettings->SOS_BUTTON_TIME = 200;
    gostSettings->CCFT = 60;
    gostSettings->MSD_MAX_TRANSMISSION_TIME = 20;
    gostSettings->NAD_DEREGISTRATION_TIME = 120;
    gostSettings->ECALL_NO_AUTOMATIC_TRIGGERING = 0;
    gostSettings->ECALL_DIAL_DURATION = 5;
    gostSettings->ECALL_AUTO_DIAL_ATTEMPTS = 10;
    gostSettings->ECALL_MANUAL_DIAL_ATTEMPTS = 10;
    gostSettings->ECALL_MANUAL_CAN_CANCEL = 1;

    String16CopyStatic(&gostSettings->ECALL_SMS_FALLBACK_NUMBER, "2233");

    //Testing settings
    gostSettings->TEST_REGISTRATION_PERIOD = 5;

    //Emergence acceleration profile
    gostSettings->IGNITION_OFF_FOLLOW_UP_TIME1 = 120;
    gostSettings->IGNITION_OFF_FOLLOW_UP_TIME2 = 240;
    gostSettings->CRASH_RECORD_TIME = 250;
    gostSettings->CRASH_RECORD_RESOLUTION = 1;
    gostSettings->CRASH_PRE_RECORD_TIME = 3500;
    gostSettings->CRASH_PRE_RECORD_RESOLUTION = 5;

    //Other settings
    gostSettings->GNSS_POWER_OFF_TIME = 500;
    gostSettings->GNSS_DATA_RATE = 1;
    gostSettings->GNSS_MIN_ELEVATION = 5;

    //Vehicle parameters
    String32CopyStatic(&gostSettings->VIN, "0");

    gostSettings->VEHICLE_TYPE = 0;
    gostSettings->VEHICLE_PROPULSION_STORAGE_TYPE = 0;
    gostSettings->VEHICLE_PASSENGERS_NUMBER = 0;


    vUveosNotGostSettingsInitDefaults(&gostSettings->notGost);
}
