Код:
int16_t TurnOffByButtonTimeouts[16] PROGMEM ={0,5,5,5,5,5,30,30,30,30,30,30,30,30,30,30}; // время до авт. нажатия Pwr для выключения в зависимости от режима
int32_t FullHardOffTimeouts[16] PROGMEM ={20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,300}; // время до полного выключения питания в зависимости от режима
int16_t HardOffToSleepTimeouts[16] PROGMEM ={10,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0}; // время до выключения всего кроме Vsb в зависимости от режима
// Если HardOffToSleepTimeout=0, то считается, что комп НЕ РАБОТАЕТ в ждущем режиме
// То есть когда комп выключится при отсутствии зажигания, с него будет убран Vsb.
// из этого следует, что в состоянии, когда выключено зажигание, комп нельзя будет включить.
#define FullHardOffOnIncorrectGoSleep true // если true, то в случае, если срабатывает HardOffToSleep, но комп при этом включен, будет произведен FullHardOff (жесткое полное отключение питания), если false, то останется Vsb.
#define AmplifierOnlyOnIgnition true // если true, то при выключении зажигания усилок сразу выключится.
#define MinVoltageToStartR 11.5 // при напряжении ниже этого комп не включится.
#define MinVoltageToWorkR 11.7 // при напряжении ниже этого тикает таймер низкого напряжения
#define MinVoltageToStartAfterLowVoltageStopR 12.5 // если комп отключился по низкому напряжению, то включится он не раньше, чем будет зафиксировано это напряжение.
#define MinIgnVoltageR 8 // минимальное напряжение на выводе "зажигание", считающееся наличием зажигания
#define ExtremeLowVoltageR 7 // напряжение, при понижении до которого идет мгновенное отключение блока питания
#define ExtremeHighVoltageR 18 // напряжение, при превышении которого начинает тикать таймер отключения. Больше 19 не ставить.
#define IgnitionTimeBeforeStartF 0.2 // время в секундах до автоматического включения компа (нажатия power) после включения зажигания. Может быть дробным, 0 - комп не включается автоматически. Но вместе с зажиганием всегда подается Vsb
#define MaxWorkTimeWithLowVoltage 60 // максимальное время работы в секундах при напряжении ниже MinVoltageToWorkR
#define TimeBeforeAmpOn 20 // в секундах, время перед включением усилка максимальное значение 65000/SmallCyclesPerSecond
#define MaxWorkTimeWithExtremeHighVoltage 60 // максимальное время работы при напряжении выше чем ExtremeHighVoltageR. в секундах, максимальное значение 65000/SmallCyclesPerSecond