
// таблица с используемыми настройками

// выше должно быть определение того, какие поля используются
//#define SETTING(name, attrib, type, def_val)

// при добавлении новых типов данных необходимо расширить enum SettingKind

// SETTING_RSRV позволяет сделать "дырки" в номерах настроек
// если не определена, значит, она не используется
#ifndef SETTING_RSRV
#define SETTING_RSRV(name)
#endif

// SETTING_ALIAS позволяет задавать альтернативные имена для настроек
#ifndef SETTING_ALIAS
#define SETTING_ALIAS(alt_name)
#endif

SETTING_RSRV(Erased = 0)		// нулевая настройка используется при удалении какого-либо идентификатора.

// настройки физических входов: 1..9 + 1 резерв
SETTING	(iRedBlack,			NotFixed,	TInputPinSettings, {50, 3, 0})
SETTING	(iGreyBlack,		NotFixed,	TInputPinSettings, {50, 3, 0})
SETTING	(iBrownBlack,		NotFixed,	TInputPinSettings, {50, 3, 0})
SETTING	(iGreen,			NotFixed,	TInputPinSettings, {50, 0, 0})
SETTING	(iLBlueBlack,		NotFixed,	TInputPinSettings, {50, 1, 0})
SETTING	(iBlackWhite,		NotFixed,	TInputPinSettings, {50, 0, 0})
SETTING	(iBlackPink,		NotFixed,	TInputPinSettings, {50, 1, 0})
SETTING	(iYellowBlue,		NotFixed,	TInputPinSettings, {50, 1, 0})
SETTING	(iYellowWhite,		NotFixed,	TInputPinSettings, {50, 1, 0})
#ifndef ipFIRST
#define ipFIRST	iRedBlack
#endif
SETTING_ALIAS(ipLAST)

SETTING_ALIAS(ipOFFSET = ipFIRST)
SETTING_ALIAS(ipCOUNT = (ipLAST-ipFIRST))

SETTING_RSRV(ReservedPins = 10)

/* Значения по-умолчанию:
Connector input wires table for FW rev 198:
	Red-black wire		Doors input (active low)
	Grey-black wire		Trunk input (active low)
	Brown-black wire	Hood input (active low)
	Green wire			Ignition input (active high)
	Blue-black wire		Handbrake/parking input (active low)
	Black-white wire	Brake input (active high)
	Black-pink wire		Tachometer input
*/
// настройки логических входов - 11..74
// Состояние неопределенных устройств (объектов)
SETTING	(iDevice1,			NotFixed,	TInputSettings, {CIO::iNone, 0})
SETTING	(iDevice2,			NotFixed,	TInputSettings, {CIO::iNone, 0})
SETTING	(iDevice3,			NotFixed,	TInputSettings, {CIO::iNone, 0})
SETTING	(iDevice4,			NotFixed,	TInputSettings, {CIO::iNone, 0})
SETTING	(iDevice5,			NotFixed,	TInputSettings, {CIO::iNone, 0})
SETTING	(iDevice6,			NotFixed,	TInputSettings, {CIO::iNone, 0})
SETTING	(iDevice7,			NotFixed,	TInputSettings, {CIO::iNone, 0})
SETTING	(iDevice8,			NotFixed,	TInputSettings, {CIO::iNone, 0})
SETTING	(iDoorDrv,			NotFixed,	TInputSettings, {CIO::iRedBlack, CIO::ActiveGND})		// дверь водитель
SETTING	(iDoorFP,			NotFixed,	TInputSettings, {CIO::iRedBlack, CIO::ActiveGND})		// дверь переднего пассажира
SETTING	(iDoorRL,			NotFixed,	TInputSettings, {CIO::iRedBlack, CIO::ActiveGND})		// дверь задняя левая
SETTING	(iDoorRR,			NotFixed,	TInputSettings, {CIO::iRedBlack, CIO::ActiveGND})		// дверь задняя правая
SETTING	(iTrunk,			NotFixed,	TInputSettings, {CIO::iGreyBlack, CIO::ActiveGND})		// багажник
SETTING	(iHood,				NotFixed,	TInputSettings, {CIO::iBrownBlack, CIO::ActiveGND})		// капот
SETTING	(iIgn,				NotFixed,	TInputSettings, {CIO::iGreen, 0})						// Зажигание
SETTING	(iHBrake,			NotFixed,	TInputSettings, {CIO::iLBlueBlack, CIO::ActiveGND})		// ручник
SETTING	(iLamp,				NotFixed,	TInputSettings, {CIO::iNone, 0})						// Головное освещение (фары)
SETTING	(iPark,				NotFixed,	TInputSettings, {CIO::iLBlueBlack, CIO::ActiveGND})		// положение ПАРК
SETTING	(iBrake,			NotFixed,	TInputSettings, {CIO::iBlackWhite, 0})					// педаль тормоза
SETTING	(iLeftTurnLight,	NotFixed,	TInputSettings, {CIO::iNone, 0})						// Включен левый сигнал поворота
SETTING	(iRightTurnLight,	NotFixed,	TInputSettings, {CIO::iNone, 0})						// Включен правый сигнал поворота
SETTING	(iArm,				NotFixed,	TInputSettings, {CIO::iNone, 0})						// для подключения внешнего GSM модуля, например
SETTING	(iSensorAlarm,		NotFixed,	TInputSettings, {CIO::iNone, 0})						// зона тревоги с внешнего Сенсора (MWS или SHOCK)
SETTING	(iSensorNotify,		NotFixed,	TInputSettings, {CIO::iNone, 0})						// зона предупреждения с внешнего Сенсора (MWS или SHOCK)
SETTING	(iEngine,			NotFixed,	TInputSettings, {CIO::iNone, 0})						// двигатель работает
SETTING	(iLock,				NotFixed,	TInputSettings, {CIO::iNone, 0})						// ЦЗ заперт
SETTING	(iPreHeater,		NotFixed,	TInputSettings, {CIO::iNone, 0})						// подогреватель
SETTING	(iLowFuelLevel,		NotFixed,	TInputSettings, {CIO::iNone, 0})						// Датчик низкого уровня топлива
SETTING	(iACC,				NotFixed,	TInputSettings, {CIO::iNone, 0})						// аксессуары
SETTING	(iKeyIn,			NotFixed,	TInputSettings, {CIO::iNone, 0})						// ключ в замке (не нужен!?)
SETTING	(iSpark,			NotFixed,	TInputSettings, {CIO::iNone, 0})						// свечи накаливания дизеля
SETTING	(iDoorsLamp,		NotFixed,	TInputSettings, {CIO::iNone, 0})						// Плафон освещения салона
SETTING	(iTrunkLamp,		NotFixed,	TInputSettings, {CIO::iNone, 0})						// Плафон освещения багажника
SETTING	(iTrunkWindow,		NotFixed,	TInputSettings, {CIO::iNone, 0})						// Концевик окна багажника
SETTING	(iStartStop,		NotFixed,	TInputSettings, {CIO::iNone, 0})						// Вход Старт/Стоп от GSM модуля, например
SETTING	(iNeutral,			NotFixed,	TInputSettings, {CIO::iNone, 0})						// Состояние нейтрали (для РКПП)
SETTING	(iLauncher,			NotFixed,	TInputSettings, {CIO::iNone, 0})						// Состояние внешнего/стороннего модуля Запуска
SETTING	(iDisarm,			NotFixed,	TInputSettings, {CIO::iNone, 0})						// для подключения внешнего GSM модуля, например
SETTING	(iUnTrunk,			NotFixed,	TInputSettings, {CIO::iNone, 0})						// уведомление об отпирании багажника
SETTING	(iUnLock,			NotFixed,	TInputSettings, {CIO::iNone, 0})						// ЦЗ отперт

#ifndef iFIRST
#define iFIRST	iDevice1
#endif
SETTING_ALIAS(iLAST)
SETTING_ALIAS(iOFFSET = iFIRST)
SETTING_ALIAS(iCOUNT = (iLAST-iFIRST))

// дырка 75..93
SETTING_RSRV(ReservedInp = 93)
#if defined MOBICAR_3 || defined MAGICAR_X

SETTING (oWirePolarity,		NotFixed,	uint32_t,		0)						// битовая маска: положительная полярность выходных проводов
SETTING	(iTaho,				NotFixed,	TInputSettings, {CIO::iBlackPink, 0})	// мультиплексор для сигнала тахометра

#else

SETTING_RSRV(oWirePolarity)
SETTING	(iTaho,				NotFixed,	TInputSettings, {CIO::iNone, 0})		// мультиплексор для сигнала тахометра

#endif

// настройки выходов - 96..159
// Неопределенные устройства
SETTING	(oDevice1,			NotFixed, uint32_t,		0)
SETTING	(oDevice2,			NotFixed, uint32_t,		0)
SETTING	(oDevice3,			NotFixed, uint32_t,		0)
SETTING	(oDevice4,			NotFixed, uint32_t,		0)
SETTING	(oDevice5,			NotFixed, uint32_t,		0)
SETTING	(oDevice6,			NotFixed, uint32_t,		0)
SETTING	(oDevice7,			NotFixed, uint32_t,		0)
SETTING	(oDevice8,			NotFixed, uint32_t,		0)

#if defined MOBICAR_1_2

// Базовые устройства Охранной системы
SETTING	(oSiren,			NotFixed, uint32_t,		oBIT(oBrown))		// Сирена
SETTING	(oHorn,				NotFixed, uint32_t,		0)					// Клаксон
SETTING	(oLights,			NotFixed, uint32_t,		oBIT(oVioletYellow)|oBIT(oVioletBrown))// Поворотники
SETTING	(oLamp,				NotFixed, uint32_t,		0)					// Головное освещение или габариты
SETTING	(oPassiveBlockage,	NotFixed, uint32_t,		0)					// Пассивная блокировка (когда выключена, цепь разомкнута, блокировка включена)
SETTING	(oActiveBlockage,	NotFixed, uint32_t,		oBIT(oBlue))		// Активная блокировка (когда выключена, цепь замкнута, блокировка выключена)
SETTING	(oLockDoors,		NotFixed, uint32_t,		oBIT(oGreen))		// Запереть все двери
SETTING	(oUnlockDoors,		NotFixed, uint32_t,		oBIT(oYellow))		// Отпереть все двери
SETTING	(oUnlockDoorDrv,	NotFixed, uint32_t,		0)					// Отпереть дверь водителя
SETTING	(oLockTrunk,		NotFixed, uint32_t,		0)					// Запереть багажник
SETTING	(oUnlockTrunk,		NotFixed, uint32_t,		0)					// Отпереть багажник
SETTING	(oLockHood,			NotFixed, uint32_t,		0)					// Запереть Капот
SETTING	(oUnLockHood,		NotFixed, uint32_t,		0)					// Отпереть капот
SETTING	(oCloseWindows,		NotFixed, uint32_t,		0)					// Закрыть окна
SETTING	(oPreHeaterOn,		NotFixed, uint32_t,		0)					// Включение предпускового подогревателя
SETTING	(oPreHeaterOff,		NotFixed, uint32_t,		0)					// Выключение предпускового подогревателя
SETTING	(oImmOn,			NotFixed, uint32_t,		0)					// Устройство включающее Иммобилайзер
SETTING	(oImmOff,			NotFixed, uint32_t,		0)					// Устройство выключающее Иммобилайзер
SETTING	(oService,			NotFixed, uint32_t,		0)					// Устройство переводящее автомобиль в Сервисный режим
SETTING	(oDisarm,			NotFixed, uint32_t,		0)					// Устройство осуществляющее снятие с Охраны (можно использовать как выход статической блокировки)
SETTING	(oArm,				NotFixed, uint32_t,		0)					// Устройство осуществляющее постановку под Охрану (можно использовать как выход статической блокировки)
SETTING	(oAlarm,			NotFixed, uint32_t,		0)					// Устройство осуществляющее включение тревоги (можно использовать как выход статической блокировки)
SETTING	(oAutoStart,		NotFixed, uint32_t,		0)					// Состояние Автозапуска
// Базовые устройства АвтоЗапуска (подменяют или имитируют присутствие водителя в автомобиле)
SETTING	(oDoorWag,			NotFixed, uint32_t,		0)					// Устройство махающее дверью
SETTING	(oIgn,				NotFixed, uint32_t,		oBIT(oBrownGreen))	// Включение зажигания
SETTING	(oBrake,			NotFixed, uint32_t,		0)					// Педаль тормоза
SETTING	(oKeyIn,			NotFixed, uint32_t,		0)					// Ключ в замке
SETTING	(oAcc,				NotFixed, uint32_t,		oBIT(oBrownWhite))	// Аксессуары
SETTING	(oBrakeControl,		Fixed,    uint32_t,		0)					// не используется. Делать "дырку" нельзя, ломается индексация массива
SETTING	(oAuxBrake,			NotFixed, uint32_t,		0)					// Дополнительная линия педали тормоза
SETTING	(oAuxIgn,			NotFixed, uint32_t,		oBIT(oBrownViolet))	// Дополнительная линия зажигания
SETTING	(oSSButton,			NotFixed, uint32_t,		0)					// Кнопка Старт/Стоп
SETTING	(oImmBypass,		NotFixed, uint32_t,		0)					// Обходчик встроенного иммобилайзера
SETTING	(oCrank,			NotFixed, uint32_t,		oBIT(oBrownYellow))	// Стартер
SETTING	(oCrankDisable,		NotFixed, uint32_t,		0)					// Блокировка Стартера

// Дополнительные
SETTING	(oLockIgn,			NotFixed, uint32_t,		0)					// Блокировка зажигания (когда включена, зажигание заблокировано)
SETTING	(oUnLockIgn,		NotFixed, uint32_t,		0)					// Разблокировка зажигания (когда включена, зажигание разблокировано)
SETTING	(oKLine1Relay,		NotFixed, uint32_t,		0)					// Устройство коммутирующее KLine интерфейс
SETTING	(oAux1,				NotFixed, uint32_t,		0)					// Доп.канал #1
SETTING	(oAux2,				NotFixed, uint32_t,		0)					// Доп.канал #2
SETTING	(oAux3,				NotFixed, uint32_t,		0)					// Доп.канал #3
SETTING	(oEmergencyBraking,	NotFixed, uint32_t,		0)					// Выход сигнала Экстренного торможения
SETTING	(oIllumination,		NotFixed, uint32_t,		0)					// Выход для сигналов вежливой подсветки
SETTING	(oFoldMirrors,		NotFixed, uint32_t,		0)					// Сложить зеркала
SETTING	(oUnfoldMirrors,	NotFixed, uint32_t,		0)					// Разложить зеркала
SETTING	(oCloseSunroof,		NotFixed, uint32_t,		0)					// Закрыть люк
SETTING	(oMoveSunroof,		NotFixed, uint32_t,		0)					// Сдвинуть люк
SETTING	(oHeatedSeats,		NotFixed, uint32_t,		0)					// Обогрев сидений
SETTING	(oTriggerDoors,		NotFixed, uint32_t,		0)					// Триггерное управление замками дверей
SETTING (oIgnSupport,		NotFixed, uint32_t,		0)					// Состояние поддержки зажигания
SETTING (oArmWithoutTag,	NotFixed, uint32_t,		0)					// Состояние "Охрана без метки"
SETTING (oHeatedWindows,	NotFixed, uint32_t,		0)					// Обогрев окон
SETTING	(oKLine2Relay,		Fixed, uint32_t,		0)					// Mobicar3: Устройство коммутирующее KLine интерфейс
SETTING (oDVR,				NotFixed, uint32_t,		0)					// Выход на видеорегистратор

#elif defined MOBICAR_3 || defined MAGICAR_X

// Базовые устройства Охранной системы
SETTING	(oSiren,			NotFixed, uint32_t,		oBIT(oBrown))		// Сирена
SETTING	(oHorn,				NotFixed, uint32_t,		0)					// Клаксон
SETTING	(oLights,			NotFixed, uint32_t,		oBIT(oBrownViolet)|oBIT(oBrownWhite))// Поворотники
SETTING	(oLamp,				NotFixed, uint32_t,		0)					// Головное освещение или габариты
SETTING	(oPassiveBlockage,	NotFixed, uint32_t,		0)					// Пассивная блокировка (когда выключена, цепь разомкнута, блокировка включена)
SETTING	(oActiveBlockage,	NotFixed, uint32_t,		oBIT(oBlue))		// Активная блокировка (когда выключена, цепь замкнута, блокировка выключена)
SETTING	(oLockDoors,		NotFixed, uint32_t,		oBIT(oBrownGreen))	// Запереть все двери
SETTING	(oUnlockDoors,		NotFixed, uint32_t,		oBIT(oBrownYellow))	// Отпереть все двери
SETTING	(oUnlockDoorDrv,	NotFixed, uint32_t,		0)					// Отпереть дверь водителя
SETTING	(oLockTrunk,		NotFixed, uint32_t,		0)					// Запереть багажник
SETTING	(oUnlockTrunk,		NotFixed, uint32_t,		0)					// Отпереть багажник
SETTING	(oLockHood,			NotFixed, uint32_t,		0)					// Запереть Капот
SETTING	(oUnLockHood,		NotFixed, uint32_t,		0)					// Отпереть капот
SETTING	(oCloseWindows,		NotFixed, uint32_t,		0)					// Закрыть окна
SETTING	(oPreHeaterOn,		NotFixed, uint32_t,		0)					// Включение предпускового подогревателя
SETTING	(oPreHeaterOff,		NotFixed, uint32_t,		0)					// Выключение предпускового подогревателя
SETTING	(oImmOn,			NotFixed, uint32_t,		0)					// Устройство включающее Иммобилайзер
SETTING	(oImmOff,			NotFixed, uint32_t,		0)					// Устройство выключающее Иммобилайзер
SETTING	(oService,			NotFixed, uint32_t,		0)					// Устройство переводящее автомобиль в Сервисный режим
SETTING	(oDisarm,			NotFixed, uint32_t,		0)					// Устройство осуществляющее снятие с Охраны (можно использовать как выход статической блокировки)
SETTING	(oArm,				NotFixed, uint32_t,		0)					// Устройство осуществляющее постановку под Охрану (можно использовать как выход статической блокировки)
SETTING	(oAlarm,			NotFixed, uint32_t,		0)					// Устройство осуществляющее включение тревоги (можно использовать как выход статической блокировки)
SETTING	(oAutoStart,		NotFixed, uint32_t,		0)					// Состояние Автозапуска
// Базовые устройства АвтоЗапуска (подменяют или имитируют присутствие водителя в автомобиле)
SETTING	(oDoorWag,			NotFixed, uint32_t,		0)					// Устройство махающее дверью
SETTING	(oIgn,				NotFixed, uint32_t,		oBIT(oGreenRelay))	// Включение зажигания
SETTING	(oBrake,			NotFixed, uint32_t,		0)					// Педаль тормоза
SETTING	(oKeyIn,			NotFixed, uint32_t,		0)					// Ключ в замке
SETTING	(oAcc,				NotFixed, uint32_t,		oBIT(oWhiteRelay))	// Аксессуары
SETTING (oBrakeControl,		Fixed,    uint32_t,		0)					// не используется. Выкидывать нельзя, ломается адресация выходов как массива
SETTING	(oAuxBrake,			NotFixed, uint32_t,		0)					// Дополнительная линия педали тормоза
SETTING	(oAuxIgn,			NotFixed, uint32_t,		0)					// Дополнительная линия зажигания
SETTING	(oSSButton,			NotFixed, uint32_t,		0)					// Кнопка Старт/Стоп
SETTING	(oImmBypass,		NotFixed, uint32_t,		0)					// Обходчик встроенного иммобилайзера
SETTING	(oCrank,			NotFixed, uint32_t,		oBIT(oYellowRelay))	// Стартер
SETTING	(oCrankDisable,		NotFixed, uint32_t,		0)					// Блокировка Стартера

// Дополнительные
SETTING	(oLockIgn,			NotFixed, uint32_t,		0)					// Блокировка зажигания (когда включена, зажигание заблокировано)
SETTING	(oUnLockIgn,		NotFixed, uint32_t,		0)					// Разблокировка зажигания (когда включена, зажигание разблокировано)
SETTING	(oKLine1Relay,		NotFixed, uint32_t,		oBIT(oOrangeBreak))	// Устройство коммутирующее KLine интерфейс
SETTING	(oAux1,				NotFixed, uint32_t,		0)					// Доп.канал #1
SETTING	(oAux2,				NotFixed, uint32_t,		0)					// Доп.канал #2
SETTING	(oAux3,				NotFixed, uint32_t,		0)					// Доп.канал #3
SETTING	(oEmergencyBraking,	NotFixed, uint32_t,		0)					// Выход сигнала Экстренного торможения
SETTING	(oIllumination,		NotFixed, uint32_t,		0)					// Выход для сигналов вежливой подсветки
SETTING	(oFoldMirrors,		NotFixed, uint32_t,		0)					// Сложить зеркала
SETTING	(oUnfoldMirrors,	NotFixed, uint32_t,		0)					// Разложить зеркала
SETTING	(oCloseSunroof,		NotFixed, uint32_t,		0)					// Закрыть люк
SETTING	(oMoveSunroof,		NotFixed, uint32_t,		0)					// Сдвинуть люк
SETTING	(oHeatedSeats,		NotFixed, uint32_t,		0)					// Обогрев сидений
SETTING	(oTriggerDoors,		NotFixed, uint32_t,		0)					// Триггерное управление замками дверей
SETTING (oIgnSupport,		NotFixed, uint32_t,		0)					// Состояние поддержки зажигания
SETTING (oArmWithoutTag,	NotFixed, uint32_t,		0)					// Состояние "Охрана без метки"
SETTING (oHeatedWindows,	NotFixed, uint32_t,		0)					// Обогрев окон
SETTING	(oKLine2Relay,		NotFixed, uint32_t,		oBIT(oPinkBreak))	// Mobicar3: Устройство коммутирующее KLine интерфейс
SETTING (oDVR,				NotFixed, uint32_t,		0)					// Выход на видеорегистратор

//SETTING	(oTriggerLights,	NotFixed, uint32_t,		0)					// Выход на триггерную кнопку включения аварийки

#endif	// outputs

#ifndef oFIRST
#define oFIRST	oDevice1
#endif
SETTING_ALIAS(oLAST)
SETTING_ALIAS(oOFFSET = oFIRST)
SETTING_ALIAS(oCOUNT = (oLAST-oFIRST))

SETTING_RSRV(ReservedOutput = 159)

// Общий принцип настройки последовательностей:
// Если выход один, либо существует возможность соединить два выхода параллельно, то
// активное значение последовательности должно быть немного (на 10-50мс) задержано по времени
// по отношению к моменту включения пассивного состояния на противоположенной последовательности.
// Например, если у последовательности выключения выхода пассивное состояние наступает через 100мс,
// то активное состояние у последовательности включения должно быть задержано на 110-150мс от начала.

// Еще одно замечание.
// Существуют устройства, которые сами могут отключаться, например, "Замки"/"Зеркала"/"Люк"/"Багажник",
// соответственно их можно только закрыть или открыть.
// А существуют устройства, которые включаются/выключаются по команде.. такие устройства, как правило,
// с бесконечным временем работы, например, "Подогрев сидений"/"Аварийка"/"Фары" и т.п., соответственно их
// можно включить или выключить.
// Соответственно, для устройств, которые могут быть включены/выключены, используются двойные/комплементарные
// импульсные последовательности.

// настройки последовательностей: 160..299
SETTING	(seqSirenArm,				NotFixed,	TSequence, 	{qMS( 10),5})					// Сирена: Постановка под Охрану
SETTING	(seqSirenDisarm,			NotFixed,	TSequence, 	{qMS( 10),5,10,5})				// Сирена: Снятие с Охраны
SETTING	(seqSirenAlarm,				NotFixed,	TSequence, 	{qMS(100),0xF0})				// Сирена: Тревога
SETTING	(seqSirenWarning,			NotFixed,	TSequence, 	{qMS( 10),0xF2,10,5,10,5,10,5})	// Сирена: Внимание!
SETTING	(seqSirenCaution,			NotFixed,	TSequence, 	{qMS( 10),5,5,5})				// Сирена: Предупреждение
SETTING	(seqSirenNotify,			NotFixed,	TSequence, 	{qMS( 10),5})					// Сирена: Извещение
SETTING	(seqSirenShockNotify,		NotFixed,	TSequence, 	{qMS( 10),0xF2,5,5,5,5,5,5})	// Сирена: Предупреждение по датчику Удара
SETTING	(seqSirenService,			NotFixed,	TSequence, 	{qMS( 10),0xF2,10,5,10,5,10,5})	// Сирена: Сервисный режим
SETTING	(seqSirenDisarmAfterAlarm,	NotFixed,	TSequence, 	{qMS( 10),0xF2,10,5,10,5,10,5,10,5})// Сирена: Снятие с Охраны после тревоги
SETTING	(seqSirenImHere,			NotFixed,	TSequence, 	{qMS( 50),0xF2,4,4,4,4,4,4,4,4,128,0xF3})// Сирена: Поиск автомобиля на парковке
SETTING	(seqSirenReserved2,			NotFixed,	TSequence, 	{qMS(  0)})						// Сирена: Резерв

SETTING	(seqHornArm,				NotFixed,	TSequence, 	{qMS( 10),3})					// Клаксон: Постановка под Охрану
SETTING	(seqHornDisarm,				NotFixed,	TSequence, 	{qMS( 10),3,10,3})				// Клаксон: Снятие с Охраны
SETTING	(seqHornAlarm,				NotFixed,	TSequence, 	{qMS( 10),5,10,0xF1})			// Клаксон: Тревога
SETTING	(seqHornWarning,			NotFixed,	TSequence, 	{qMS( 10),0xF2,10,3,10,3,10,3})	// Клаксон: Внимание!
SETTING	(seqHornCaution,			NotFixed,	TSequence, 	{qMS( 10),3,5,3})				// Клаксон: Предупреждение
SETTING	(seqHornNotify,				NotFixed,	TSequence, 	{qMS( 10),3})					// Клаксон: Извещение
SETTING	(seqHornShockNotify,		NotFixed,	TSequence, 	{qMS( 10),0xF2,5,3,5,3,5,3})	// Клаксон: Предупреждение по датчику Удара
SETTING	(seqHornService,			NotFixed,	TSequence, 	{qMS( 10),0xF2,10,3,10,3,10,3})	// Клаксон: Сервисный режим
SETTING	(seqHornDisarmAfterAlarm,	NotFixed,	TSequence, 	{qMS( 10),0xF2,10,5,10,5,10,5,10,5})// Клаксон: Снятие с Охраны после тревоги
SETTING	(seqHornImHere,				NotFixed,	TSequence, 	{qMS( 50),0xF2,4,1,4,1,4,1,4,1,128,0xF3})// Клаксон: Поиск автомобиля на парковке
SETTING	(seqHornReserved2,			NotFixed,	TSequence, 	{qMS(  0)})						// Клаксон: Резерв

SETTING	(seqLightsArm,				NotFixed,	TSequence, 	{qMS(100),5})					// Поворотники: Постановка под Охрану
SETTING	(seqLightsDisarm,			NotFixed,	TSequence, 	{qMS(100),5,5,5})				// Поворотники: Снятие с Охраны
SETTING	(seqLightsAlarm,			NotFixed,	TSequence, 	{qMS(100),5,5,0xF1})			// Поворотники: Тревога
SETTING	(seqLightsWarning,			NotFixed,	TSequence, 	{qMS(100),0xF2,2,5,5,5,5,5})	// Поворотники: Внимание!
SETTING	(seqLightsCaution,			NotFixed,	TSequence, 	{qMS(100),2,2,2})				// Поворотники: Предупреждение
SETTING	(seqLightsNotify,			NotFixed,	TSequence, 	{qMS(100),2})					// Поворотники: Извещение
SETTING	(seqLightsShockNotify,		NotFixed,	TSequence, 	{qMS(100),3})					// Поворотники: Предупреждение по датчику Удара
SETTING	(seqLightsService,			NotFixed,	TSequence, 	{qMS(100),0xF2,2,5,5,5,5,5})	// Поворотники: Сервисный режим
SETTING	(seqLightsDisarmAfterAlarm,	NotFixed,	TSequence, 	{qMS(100),0xF2,2,5,5,5,5,5,5,5})// Поворотники: Снятие с Охраны после тревоги
SETTING	(seqLightsImHere,			NotFixed,	TSequence, 	{qMS(100),0xF2,2,5,5,0xF3})		// Поворотники: Поиск автомобиля на парковке
SETTING	(seqLightsAutoStartMode,	NotFixed,	TSequence, 	{qMS(100),0xF2,10,5,30,0xF3})	// Поворотники: Режим AutoStart
SETTING	(seqLightsAutoStartOnOff,	NotFixed,	TSequence, 	{qMS(100),14})					// Поворотники: Включение/выключение режима AutoStart

SETTING	(seqLampArm,				NotFixed,	TSequence, 	{qMS(100),5})					// Фары/габариты: Постановка под Охрану
SETTING	(seqLampDisarm,				NotFixed,	TSequence, 	{qMS(100),5,5,5})				// Фары/габариты: Снятие с Охраны
SETTING	(seqLampAlarm,				NotFixed,	TSequence, 	{qMS(100),5,5,0xF1})			// Фары/габариты: Тревога
SETTING	(seqLampWarning,			NotFixed,	TSequence, 	{qMS(100),0xF2,2,5,5,5,5,5})	// Фары/габариты: Внимание!
SETTING	(seqLampCaution,			NotFixed,	TSequence, 	{qMS(100),2,2,2})				// Фары/габариты: Предупреждение
SETTING	(seqLampNotify,				NotFixed,	TSequence, 	{qMS(100),2})					// Фары/габариты: Извещение
SETTING	(seqLampShockNotify,		NotFixed,	TSequence, 	{qMS(100),3})					// Фары/габариты: Предупреждение по датчику Удара
SETTING	(seqLampService,			NotFixed,	TSequence, 	{qMS(100),0xF2,2,5,5,5,5,5})	// Фары/габариты: Сервисный режим
SETTING	(seqLampDisarmAfterAlarm,	NotFixed,	TSequence, 	{qMS(100),0xF2,2,5,5,5,5,5,5,5})// Фары/габариты: Снятие с Охраны после тревоги
SETTING	(seqLampImHere,				NotFixed,	TSequence, 	{qMS(100),0xF2,2,5,5,0xF3})		// Фары/габариты: Поиск автомобиля на парковке
SETTING	(seqLampAutoStartMode,		NotFixed,	TSequence, 	{qMS(100),0xF2,10,5,30,0xF3})	// Фары/габариты: Режим AutoStart
SETTING	(seqLampAutoStartOnOff,		NotFixed,	TSequence, 	{qMS(100),14})					// Фары/габариты: Включение/выключение режима AutoStart

SETTING	(seqActiveBlockageOn,		NotFixed,	TSequence, 	{qMS( 10),0xF2,1,0xF0})		// Включить активную блокировку
SETTING	(seqActiveBlockageOff,		NotFixed,	TSequence, 	{qMS( 10),0})				// Выключить активную блокировку
SETTING	(seqPassiveBlockageOn,		NotFixed,	TSequence, 	{qMS( 10),0})				// Включить пассивную блокировку
SETTING	(seqPassiveBlockageOff,		NotFixed,	TSequence, 	{qMS( 10),0xF2,1,0xF0})		// Выключить пассивную блокировку

SETTING	(seqLockDoors,				NotFixed,	TSequence, 	{qMS( 10),0xF2,1,50})		// Запереть центральный замок (периметр/двери)
SETTING	(seqUnlockDoors,			NotFixed,	TSequence, 	{qMS( 10),0xF2,1,50})		// Отпереть центральный замок
SETTING	(seqUnlockDoorDrv,			NotFixed,	TSequence, 	{qMS( 10),0xF2,1,50})		// Отпереть только дверь водителя

SETTING	(seqLockHood,				NotFixed,	TSequence, 	{qMS( 10),0xF2,1,80})		// Запереть капот
SETTING	(seqUnlockHood,				NotFixed,	TSequence, 	{qMS( 10),0xF2,1,80})		// Отпереть капот
SETTING	(seqUnlockHoodService,		NotFixed,	TSequence, 	{qMS(100),0xF2,25,8})		// Отпереть капот в режиме Автосервис

SETTING	(seqLockTrunk,				NotFixed,	TSequence, 	{qMS( 10),0xF2,1,50})		// Запереть багажник
SETTING	(seqUnlockTrunk,			NotFixed,	TSequence, 	{qMS( 10),0xF2,1,50})		// Отпереть багажник

SETTING	(seqCloseWindows,			NotFixed,	TSequence, 	{qMS(100),200})				// Закрыть окна

SETTING	(seqPreHeaterOn,			NotFixed,	TSequence, 	{qMS(100),0xF2,1,0xF0})		// Включить предпусковой подогреватель <oPreHeaterOn>
SETTING	(seqPreHeaterOff,			NotFixed,	TSequence, 	{qMS(100),0xF2,1,10})		// Выключить предпусковой подогреватель <oPreHeaterOff>

SETTING	(seqUnused1,				NotFixed,	TSequence, 	{qMS(  0)})				// Неиспользуется
SETTING	(seqUnused2,				NotFixed,	TSequence, 	{qMS(  0)})				// Неиспользуется
SETTING	(seqUnused3,				NotFixed,	TSequence, 	{qMS(  0)})				// Неиспользуется
SETTING	(seqUnused4,				NotFixed,	TSequence, 	{qMS(  0)})				// Неиспользуется

SETTING	(seqImmOn,					NotFixed,	TSequence, 	{qMS( 10),0xF2,1,0xF0})		// Включить Иммобилайзер <oImmOn>
SETTING	(seqImmOff,					NotFixed,	TSequence, 	{qMS( 10),0xF2,1,0xF0})		// Выключить Иммобилайзер <oImmOff>

SETTING	(seqServiceOn,				NotFixed,	TSequence, 	{qMS( 10),0xF2,1,0xF0})		// Включение <oService>
SETTING	(seqServiceOff,				NotFixed,	TSequence, 	{qMS( 10),0})				// Выключение <oService>
SETTING	(seqDisarmOn,				NotFixed,	TSequence, 	{qMS( 10),0xF2,1,0xF0})		// Включение <oDisarm>
SETTING	(seqDisarmOff,				NotFixed,	TSequence, 	{qMS( 10),0})				// Выключение <oDisarm>
SETTING	(seqArmOn,					NotFixed,	TSequence, 	{qMS( 10),0xF2,1,0xF0})		// Включение Охраны <oArm>
SETTING	(seqArmOff,					NotFixed,	TSequence, 	{qMS( 10),0})				// Выключение Охраны <oArm>
SETTING	(seqAlarmOn,				NotFixed,	TSequence, 	{qMS( 10),0xF2,1,0xF0})		// Включение Тревоги <oAlarm>
SETTING	(seqAlarmOff,				NotFixed,	TSequence, 	{qMS( 10),0})				// Выключение Тревоги <oAlarm>

SETTING	(seqAutoStartOn,			NotFixed,	TSequence, 	{qMS(100),0})				// Включение Автозапуска <oAutoStart>
SETTING	(seqAutoStartDone,			NotFixed,	TSequence, 	{qMS(100),0})				// Успешный пуск Автозапуска <oAutoStart>
SETTING	(seqAutoStartOff,			NotFixed,	TSequence, 	{qMS(100),0})				// Выключение Автозапуска <oAutoStart>

SETTING	(seqLockIgnOn,				NotFixed,	TSequence, 	{qMS( 10),0xF2,1,0xF0})		// Включить блокировку зажигания <oLockIgn>
SETTING	(seqLockIgnOff,				NotFixed,	TSequence, 	{qMS( 10),0})				// Выключить блокировку зажигания <oLockIgn>
SETTING	(seqUnLockIgnOn,			NotFixed,	TSequence, 	{qMS( 10),0xF2,1,0xF0})		// Включить разблокировку зажигания <oUnLockIgn>
SETTING	(seqUnLockIgnOff,			NotFixed,	TSequence, 	{qMS( 10),0})				// Выключить разблокировку зажигания <oUnLockIgn>

SETTING	(seqAux1,					NotFixed,	TSequence, 	{qMS(100),5})				// Сигнал включения Доп.канала #1 <oAux1>
SETTING	(seqAux2,					NotFixed,	TSequence, 	{qMS(100),5})				// Сигнал включения Доп.канала #2 <oAux2>
SETTING	(seqAux3,					NotFixed,	TSequence, 	{qMS(100),5})				// Сигнал включения Доп.канала #3 <oAux3>

// Последовательности для модуля Запуска
SETTING	(seqDoorWag,				NotFixed,	TSequence, 	{qMS(100),0xF2,5,5,5})		// Махнуть дверью: пауза для некоторых тормозных НИССАНов (Демин/Семибратов просили добавить)
SETTING	(seqImmByOff,				NotFixed,	TSequence, 	{qMS(100),6})				// Обходчик иммобилайзера: выключить
SETTING	(seqImmByOn,				NotFixed,	TSequence, 	{qMS(100),0xF2,1,0xF0})		// Обходчик иммобилайзера: включить
SETTING	(seqKeyInOff,				NotFixed,	TSequence, 	{qMS(100),5})				// Ключ в замке: выключить
SETTING	(seqKeyInOn,				NotFixed,	TSequence, 	{qMS(100),0xF2,2,0xF0})		// Ключ в замке: включить
SETTING	(seqAccOff,					NotFixed,	TSequence, 	{qMS(100),4})				// Аксессуары: выключить
SETTING	(seqAccOn,					NotFixed,	TSequence, 	{qMS(100),0xF2,3,0xF0})		// Аксессуары: включить
SETTING	(seqIgnOff,					NotFixed,	TSequence, 	{qMS(100),3})				// Зажигание 1: выключить
SETTING	(seqIgnOn,					NotFixed,	TSequence, 	{qMS(100),0xF2,5,0xF0})		// Зажигание 1: включить
SETTING	(seqBrakeOff,				NotFixed,	TSequence, 	{qMS(100),2})				// Педаль тормоза: выключить
SETTING	(seqBrakeOn,				NotFixed,	TSequence, 	{qMS(100),0xF2,5,0xF0})		// Педаль тормоза: включить
SETTING	(seqCrankOn,				NotFixed,	TSequence, 	{qMS(100),0xF2,10,30})		// Стартер: включить
SETTING	(seqCrankDisableOff,		NotFixed,	TSequence, 	{qMS(100),7})				// Блокировка стартера: выключить
SETTING	(seqCrankDisableOn,			NotFixed,	TSequence, 	{qMS(100),0xF0})			// Блокировка стартера: включить
SETTING	(seqAuxIgnOff,				NotFixed,	TSequence, 	{qMS(100),3})				// Зажигание 2: выключить
SETTING	(seqAuxIgnOn,				NotFixed,	TSequence, 	{qMS(100),0xF2,5,0xF0})		// Зажигание 2: включить
SETTING	(seqAuxBrakeOff,			NotFixed,	TSequence, 	{qMS(100),1})				// Педаль тормоза 2: выключить
SETTING	(seqAuxBrakeOn,				NotFixed,	TSequence, 	{qMS(100),0xF2,6,0xF0})		// Педаль тормоза 2: включить
SETTING	(seqPrestartSSB,			NotFixed,	TSequence, 	{qMS(100),0xF2,10,6})		// Первое нажатие на SSB в SetPRESTART
SETTING	(seqCrankSSB,				NotFixed,	TSequence, 	{qMS(100),0xF2,10,30})		// Нажатие на SSB во время CRANK
SETTING	(seqStopSSB,				NotFixed,	TSequence, 	{qMS(100),0xF2,21,6})		// Первое нажатие на SSB в SetSTOP, при неавтоматическом подборе нажатий! (пауза в начале для учета параллельных процессов связанных с окончанием, например, включение/выключение обходчика и др.)
SETTING	(seqPressSSB,				NotFixed,	TSequence, 	{qMS(100),0xF2,10,6})		// Сигнал дополнительных/повторных нажатий на SSB (PRESTART/STOP)

SETTING	(seqEmergencyBraking,		NotFixed,	TSequence, 	{qMS(100),0xF2,5,5,0xF2})	// Сигнал экстренного торможения
SETTING	(seqIllumination,			NotFixed,	TSequence, 	{qMS(100),20,0xF3,10,0xF5,20,0xF7,20,0xF9,20,0xFB,20,0xFD,20,0xFF,20})// Сигнал вежливой подсветки
SETTING	(seqFoldMirrors,			NotFixed,	TSequence,	{qMS(100),0})				// Сложить зеркала
SETTING	(seqUnfoldMirrors,			NotFixed,	TSequence,	{qMS(100),0})				// Разложить зеркала
SETTING	(seqCloseSunroof,			NotFixed,	TSequence,	{qMS(100),0})				// Закрыть люк
SETTING	(seqMoveSunroof,			NotFixed,	TSequence,	{qMS(100),0})				// Сдвинуть люк

SETTING	(seqShockAlarmTestMode,		NotFixed,	TSequence,	{qMS( 10),0xF2,5,50})		// Сигнал тревоги по датчику удара в режиме настройки
SETTING	(seqHeatedSeatsOn,			NotFixed,	TSequence,	{qMS(100),0})				// Включение подогрева сидений
SETTING	(seqHeatedSeatsOff,			NotFixed,	TSequence,	{qMS(100),0})				// Выключение подогрева сидений

SETTING	(seqIgnSupportOn,			NotFixed,	TSequence,	{qMS(100),0xF0})			// Статус включение поддержки зажигания
SETTING	(seqIgnSupportOff,			NotFixed,	TSequence,	{qMS(100),0})				// Статус выключение поддержки зажигания

SETTING	(seqArmWithoutTagOn,		NotFixed,	TSequence,	{qMS(100),0xF2,10,0xF0})	// Включение состояния "Охрана без метки"
SETTING	(seqArmWithoutTagOff,		NotFixed,	TSequence,	{qMS(100),0})				// Выключение состояния "Охрана без метки"

SETTING	(seqHeatedWindowsOn,		NotFixed,	TSequence,	{qMS(100),0})				// Включение подогрева окон
SETTING	(seqHeatedWindowsOff,		NotFixed,	TSequence,	{qMS(100),0})				// Выключение подогрева окон

//SETTING	(seqTriggerStart,		NotFixed,	TSequence, 	{qMS(100),30})				// Сигнал первого нажатия на триггерную кнопку
//SETTING	(seqTriggerNext,		NotFixed,	TSequence, 	{qMS( 10),10,10})			// Сигнал всех последующих нажатий на триггерную кнопку

#ifndef seqFIRST		// последовательности ядра
#define seqFIRST		seqSirenArm
#endif
SETTING_ALIAS(seqHOLE)

SETTING_RSRV(seqProgs = 283)
// Шаблоны CAN прошивки (обезличиненные, приобретают смысл в CAN прошивке)
// В Universe, доп. импульсные последовательности используются максимум 4ре штуки...
// Поэтому, при нехватке последователльностей, можно "откусывать" от программируемых.
SETTING	(seqProg16,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg15,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg14,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg13,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg12,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg11,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg10,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg9,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg8,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg7,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg6,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg5,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg4,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg3,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg2,					NotFixed,	TSequence, 	{qMS(  0)})
SETTING	(seqProg1,					NotFixed,	TSequence, 	{qMS(  0)})

SETTING_ALIAS(seqOFFSET = seqFIRST)
SETTING_ALIAS(seqCOUNT = (seqProg1+1-seqFIRST))
SETTING_RSRV(seqLAST = 299)

// прочие системные настройки: 300
SETTING		(KeyAES,				NotFixed,	TKeyAES,		{0})			// ключ шифрования
SETTING		(Kxx,					NotFixed,	uint16_t,		37)	// ~690RPM	// Калибровочный коэф. холостого хода
SETTING		(VIN,					NotFixed,	TVehicleID,		{0})			// VIN-код авто
SETTING		(ImmoKeyArr,			NotFixed,	TImmoKey,		{0})			// Ключ обходчика иммобилайзера
SETTING_RSRV(BrelokCount)														// Количество подшитых брелков X1/X2
SETTING		(ImmoKeyAuxArr,			NotFixed,	TImmoKey,		{0})			// Расширение ключа обходчика иммобилайзера (дополнительное поле)

SETTING_RSRV(LastSystemSettings = 0x013F)	// 319

// настройки индикации светом: 0x0140 (320)
SETTING		(LightsArm,					NotFixed,	bit_t,		1)		// при включении охраны
SETTING		(LightsDisarm,				NotFixed,	bit_t,		1)		// при выключении охраны
SETTING		(LightsAlarm,				NotFixed,	bit_t,		1)		// при тревоге
SETTING		(LightsTrunkLock,			NotFixed,	bit_t,		0)		// при запирании багажника
SETTING		(LightsAutoStartMode,		NotFixed,	uint8_t,	defLightsAutoStartMode)	// режим работы световой индикации при автозапуске: 0=OFF; 1=при вкл/выкл Автозапуска; 2=..и во время Автозапуска
SETTING_RSRV(AutoStartLightsAlwaysOn)									// при работе автозапуска
SETTING_RSRV(LightsAutoStartOff)										// при выключении автозапуска
SETTING_RSRV(LightsAuxChannelOn)										// при включении дополнительного канала
SETTING		(IlluminationMode,			NotFixed,	uint8_t,	defIlluminationMode)	// режим включения вежливой подсветки: 0=OFF; 1=Arm; 2=Disarm; 3=Arm+Disarm.
SETTING_RSRV(IndLightIllumDuration)										// вежливая подсветка, длительность
SETTING		(LightsShockNotify,			NotFixed,	bit_t,		1)		// при срабатывании предупреждения датчика удара
SETTING_RSRV(LightsSelfArming)											// предупреждение об автопостановке
SETTING_RSRV(_EmergencyBraking)											// выдавать сигнал об экстренном торможении
SETTING_RSRV(LightsHiJackOff)											// при выходе из хайджека
SETTING_RSRV(LightsImmoOff)												// при выходе из иммобилайзера
SETTING_RSRV(LightsNoReservation)										// не выполнена подготовка к автозапуску
SETTING_RSRV(LightsHeadLampOn)											// не выключены фары

SETTING_RSRV(IndLightReserved = 0x015F)

// настройки индикации сиреной: 0x0160 (352)
SETTING		(SoundArm,					NotFixed,	bit_t,		1)		// при включении охраны
SETTING		(SoundDisarm,				NotFixed,	bit_t,		1)		// при выключении охраны
SETTING		(SoundsDisable,				NotFixed,	bit_t,		0)		// отключение всех звуков: тревога/подтверждения
SETTING_RSRV(SoundAutoStartOn)										// при включении автозапуска
SETTING_RSRV(SoundAutoStartMode)									// при остатке времени автозапуска 2 минуты
SETTING_RSRV(SoundAutoStartOff)										// при выключении автозапуска
SETTING_RSRV(SoundAuxChannelOn)										// при включении дополнительного канала
SETTING_RSRV(SoundShockNotify)										// при срабатывании предупреждения датчика удара
SETTING_RSRV(SoundHeadLampOn)										// не выключены фары
SETTING_RSRV(SoundSelfArming)										// предупреждение об автопостановке
SETTING_RSRV(SoundHiJackOff)										// при выходе из режима хайджек
SETTING_RSRV(SoundServiceNotify)									// напоминание о необходимости выйти из режима Автосервис
SETTING_RSRV(SoundImmoOff)											// при выходе из режима иммобилайзера
SETTING_RSRV(SoundNoReservation)									// не выполнена подготовка к автозапуску
SETTING		(SoundsNoticesDisable,		NotFixed,	bit_t,		0)		// Отключить все звуки уведомлений

SETTING_RSRV(SoundsReserved = 0x017F)

// настройки центрального замка: 0x0180 (384)
SETTING_RSRV(LockOnAutoArm)												// запирание при автопостановке
SETTING_RSRV(LockOnArmReturn)											// запирание при возврате в охрану
SETTING		(LockByDriveMode,			NotFixed,	uint8_t,	defLockByDriveMode)	// режим запирания ЦЗ: нет / по педали тормоза / по началу движения / по включению зажигания
SETTING		(LockOnAutostartBegin,		NotFixed,	bit_t,		0)		// запирание при начале автозапуска
SETTING		(LockOnAutostartEnd,		NotFixed,	bit_t,		0)		// запирание по окончанию автозапуска
SETTING		(LockOnAlarmEnd,			NotFixed,	bit_t,		0)		// запирание при выходе из тревоги
SETTING		(LockOnTrunkClose,			NotFixed,	bit_t,		0)		// запирание по завершению процедуры открытия багажника в Охране
SETTING		(UnlockByParkMode,			NotFixed,	uint8_t,	defUnlockByParkMode)// отпирание при выключении зажигания
SETTING_RSRV(UnlockByEmergencyBraking)									// отпирание при экстренном торможении
SETTING		(UnlockPriority,			NotFixed,	bit_t,		0)		// приоритетное отпирание замков
SETTING		(DriveDoorsAutostart,		NotFixed,	bit_t,		0)		// Управлять замками дверей по SlaveArm/SlaveDisarm в режиме Автозапуска

SETTING_RSRV(LockReserved = 0x019F)

// настройки режимов "охрана", "снято с охраны": 0x01A0 (416)
SETTING_RSRV(ArmAuto)													// автопостановка при закрытии дверей, нет / по закрытию дверей / по отсутствию метки
SETTING_RSRV(ArmAutoTimeout)											// таймаут автопостановки
SETTING		(Comfort,				NotFixed,	uint8_t,	1)			// управление функциями "комфорта": зеркала, стекла, люк
SETTING		(ArmReturnTimeIndex,	NotFixed,	uint8_t,	defArmReturnTimeIndex)	// индекс массива времен автоматической перепостановки
SETTING		(PlafondAlarmDelay,		NotFixed,	uint8_t,	defPlafondAlarmDelay)	// время блокировки тревог от сигналов освещения багажника и салона
SETTING		(DoorsLampDeciseconds,	NotFixed,	uint8_t,	defDoorsLampDeciseconds)// таймер отсрочки выключенного состояния плафона освещения салона
SETTING		(TrunkLampDeciseconds,	NotFixed,	uint8_t,	defTrunkLampDeciseconds)// таймер отсрочки выключенного состояния плафона освещения багажника
SETTING		(HandsfreeMode,			NotFixed,	uint8_t,	0)			// постановка/снятие при появлении телефона-метки: бит 0 - автопостановка, бит 1 - автоснятие
SETTING		(DisarmWithTagOnly,		NotFixed,	bit_t,		0)			// снятие с охраны только при наличии телефона-метки, прерывание тревоги не запрещает
SETTING		(DriveBuiltinSystem,	NotFixed,	bit_t,		1)			// управлять штатной системой авто
SETTING		(SlaveModeEnable,		NotFixed,	bit_t,		0)			// управление от штатной системы
SETTING		(SlaveComfort,			NotFixed,	bit_t,		0)			// управлять комфортом при постановке в Охрану по SLAVE.
SETTING		(DisarmEmergPinVal,		NotFixed,	uint16_t,	1111)		// ПИН-код для аварийного снятия с охраны
SETTING_RSRV(ArmAutoReadyNote)											// предупреждение о готовности к автопостановке
SETTING		(SlaveDisarmWithTagOnly,NotFixed,	bit_t,		0)			// снятие с охраны по SLAVE-входу только при наличии телефона-метки, прерывание тревоги не запрещает

SETTING_RSRV(ArmReserved = 0x01BF)

// настройки режима "тревога": 0x01C0 (448)
SETTING		(AlarmDoorsDeciseconds,	NotFixed,	uint8_t,	defAlarmDoorsDeciseconds)	// Задержка тревоги по входам дверей (*100мс)
SETTING		(AlarmTrunkDeciseconds,	NotFixed,	uint8_t,	defAlarmTrunkDeciseconds)	// Задержка тревоги по входам багажника (*100мс)
SETTING		(KillEngineDeciseconds,	Fixed,		uint8_t,	defKillEngineDeciseconds)	// Период выдачи команды <ccKillEngine>: 0:Single; >127:OFF..

SETTING_RSRV(AlarmReserved = 0x01DF)

// настройки режима "хайджек" и работы с Меткой: 0x01E0 (480)
SETTING_RSRV(TagsRSSI)													// Значения уровней RSSI метки для Автопостановки/Автоснятия

SETTING_RSRV(HijackReserved = 0x01FF)

// настройки режима "иммобилайзер": 0x0200 (512)
SETTING		(Immobilizer,			NotFixed,	bit_t,		0)							// функция иммобилайзер

SETTING_RSRV(ImmoReserved = 0x021F)

// настройки режима "автосервис": 0x0220 (544)
// не используются

SETTING_RSRV(ServiceReserved = 0x023F)

// настройки автозапуска: 0x0240 (576)
SETTING		(TurboTimerIndex,			NotFixed,	uint8_t,	defTurboTimerIndex)	// индекс массива настроек турботаймера: 0=Off, 1=On, 2=Auto
SETTING		(ReadyMinutes,				NotFixed,	uint8_t,	defReadyMinutes)	// длительность режима READY, в минутах
SETTING		(SupportMinutes,			NotFixed,	uint8_t,	defSupportMinutes)	// длительность режима SUPPORT, в минутах
SETTING		(PitStopTimeIndex,			NotFixed,	uint8_t,	defPitStopTimeIndex)// индекс массива длительностей режима PITSTOP
SETTING		(PreHeaterMinutes,			NotFixed,	uint8_t,	defPreHeaterMinutes)// длительность работы PreHeater, в минутах
SETTING		(SSB,						NotFixed,	bit_t,		0)					// StartStopButton
SETTING_RSRV(WakeUpBySSB)//,			NotFixed,	bit_t,		0)					// Будить автомобиль нажатием на кнопку SSB
SETTING		(SetReadyMode,				NotFixed,	uint8_t,	defSetReadyMode)	// режим включения поддержки зажигания
SETTING		(SkipPreStartMode,			Fixed,		bit_t,		0)					// сразу же (без проверки статусов автомобиля) запустить двигатель - только для SSB!
SETTING		(PowerStart,				NotFixed,	bit_t,		0)					// запуск автомобиля с SSB по силе - только для SSB!
SETTING		(ManualAttempts,			NotFixed,	uint8_t,	defManualAttempts)	// кол-во попыток запуска по команде с Брелока
SETTING		(ReadyDisableImmBypass,		NotFixed,	bit_t,		1)					// запрет включения обходчика при включении поддержки
SETTING		(CrankAuxIgnOff,			NotFixed,	bit_t,		1)					// выключать выход <AuxIgn> во время работы <oCrank>
SETTING		(SupportImmBypassOff,		NotFixed,	bit_t,		1)					// выключать обходчик после успешного пуска двигателя
SETTING		(StopByDisarm,				NotFixed,	bit_t,		0)					// глушить при снятии с охраны
SETTING		(ClrReadyMode,				NotFixed,	uint8_t,	defClrReadyMode)	// режим выключения поддержки зажигания
SETTING		(AutostartShockEnable,		NotFixed,	bit_t,		0)					// разрешение тревоги по датчику удара в режимах Автозапуска
SETTING		(PrestartSSB,				NotFixed,	uint8_t,	defPrestartSSB)		// Максимальное кол-во нажатий на SSB в PRESTART: 0-по умолчанию
SETTING		(StopSSB,					NotFixed,	uint8_t,	defStopSSB)			// Максимальное кол-во нажатий на SSB в STOP: 0-по умолчанию
SETTING		(CrankDelaySeconds,			NotFixed,	uint8_t,	defCrankDelaySeconds)		// Задержка перед включением стартера, в секундах
SETTING		(AutostartBatteryLevel,		NotFixed,	uint8_t,	defAutoStartBatteryLevel)	// автозапуск при разряде аккумулятора (десятые доли вольта)
SETTING		(AutostartTemperature,		NotFixed,	int8_t,		defAutoStartTemperature)	// автозапуск по температуре салона
SETTING_RSRV(MorningRun)															// утренний запуск
SETTING_RSRV(EveningRun)															// вечерний запуск
SETTING		(DailyRunCountIndex,		NotFixed,	uint8_t,	defDailyRunCountIndex)		// индекс массива настроек кол-ва суток действия таймерных запусков: бесконечность<0, отключить все таймерные запуски=0.
SETTING		(AutomaticsPeriodIndex,		NotFixed,	uint8_t,	defAutomaticsPeriodIndex)	// индекс массива настроек таймеров блокировки автоматических запусков
SETTING		(AutomaticsLimitIndex,		NotFixed,	uint8_t,	defAutomaticsLimitIndex)	// индекс массива настроек ограничителей автоматических запусков за сессию Охраны
SETTING		(EngineStartPercent,		NotFixed,	uint8_t,	defEngineStartPercent)		// процент от ХХ*2 для детектора состояния запущенного двигателя
SETTING		(EngineRunPercent,			NotFixed,	uint8_t,	defEngineRunPercent)		// процент от ХХ*2 для детектора состояния работающего двигателя
SETTING		(TurboTimerPercent,			NotFixed,	uint8_t,	defTurboTimerPercent)		// процент от ХХ*2 для детектора состояния работающего двигателя
SETTING		(TimerRun0,					NotFixed,	TStartTimerSetting,	{0x8000, 0})		// таймерный запуск
SETTING		(TimerRun1,					NotFixed,	TStartTimerSetting,	{0x8000, 0})
SETTING		(TimerRun2,					NotFixed,	TStartTimerSetting,	{0x8000, 0})
SETTING		(TimerRun3,					NotFixed,	TStartTimerSetting,	{0x8000, 0})
SETTING		(TimerRun4,					NotFixed,	TStartTimerSetting,	{0x8000, 0})
SETTING		(TimerRun5,					NotFixed,	TStartTimerSetting,	{0x8000, 0})
SETTING		(TimerRun6,					NotFixed,	TStartTimerSetting,	{0x8000, 0})
SETTING		(TimerRun7,					NotFixed,	TStartTimerSetting,	{0x8000, 0})
SETTING		(TimerRun8,					NotFixed,	TStartTimerSetting,	{0x8000, 0})
SETTING		(TimerRun9,					NotFixed,	TStartTimerSetting,	{0x8000, 0})
SETTING		(TimerRun10,				NotFixed,	TStartTimerSetting,	{0x8000, 0})
SETTING		(TimerRun11,				NotFixed,	TStartTimerSetting,	{0x8000, 0})
SETTING		(TimerRun12,				NotFixed,	TStartTimerSetting,	{0x8000, 0})
SETTING		(TimerRun13,				NotFixed,	TStartTimerSetting,	{0x8000, 0})
SETTING		(SlaveStartStop,			NotFixed,	bit_t,		1)								// Запуск/Останов двигателя по SLAVE команде со штатного брелока
SETTING		(ExternalHeatersEnable,		NotFixed,	bit_t,		1)								// разрешение управлять внешними нагревателями
SETTING		(ExternalHeatersTemperature,NotFixed,	int8_t,		defExternalHeatersTemperature)	// пороговая температура включения нагревателя
SETTING		(ExternalTemperatureSensorType,NotFixed,uint8_t,	0)								// Тип внешнего датчика температуры (0=SEMITEC 103AT-2; 1=MF52A103J3950)

SETTING_RSRV(AutoStartReserved = 0x027F)

// настройки обработчика Акселерометра: 0x0280 (640)
SETTING		(ShockNotify,			NotFixed,	uint8_t,		6)		// чувствительность предупреждения по датчику Удара [2..9]
SETTING		(ShockAlarm,			NotFixed,	uint8_t,		5)		// чувствительность тревоги по датчику Удара [1..8]
SETTING		(TiltAlarm,				NotFixed,	uint8_t,		5)		// чувствительность тревоги по датчику Наклона [1..9]
SETTING		(MotionAlarm,			NotFixed,	uint8_t,		5)		// чувствительность тревоги по датчику Передвижения/Перемещения [1..9]
SETTING		(EmergencyBraking,		NotFixed,	uint8_t,		defEmergencyBraking)	// 0-ничего не делать; 1-только моргать; 2-моргать и отпиреть ЦЗ;
// Формат вышеуказанных полей состоит в том, что старший бит - это флажок Disable.
// Т.е. если он стоит, то датчик с указанным уровнем чувствительности выключен.
SETTING		(ShockSensTable,		NotFixed,	uint8_t,		0)		// Индекс таблицы чувствительностей (варианты шкал чувствительностей)
//SETTING_ALIAS(AccelSTART = ShockNotify)
SETTING_RSRV(AccelLAST = 0x029F)

#ifdef MOBICAR_3

// настройки Абонентских оповещений: 0x02A0 (672)
SETTING_RSRV(PhoneNumber1)												// телефонный номер 1го абонента
SETTING_RSRV(PhoneNumber2)												// телефонный номер 2го абонента
SETTING_RSRV(PhoneNumber3)												// телефонный номер 3го абонента
SETTING_RSRV(PhoneNumber4)												// телефонный номер 4го абонента

SETTING_RSRV(SMS1)														// SMS оповещения  1го абонента
SETTING_RSRV(SMS2)														// SMS оповещения  2го абонента
SETTING_RSRV(SMS3)														// SMS оповещения  3го абонента
SETTING_RSRV(SMS4)														// SMS оповещения  4го абонента

SETTING_RSRV(Call1)														// Голосовые оповещения  1го абонента
SETTING_RSRV(Call2)														// Голосовые оповещения  2го абонента
SETTING_RSRV(Call3)														// Голосовые оповещения  3го абонента
SETTING_RSRV(Call4)														// Голосовые оповещения  4го абонента

SETTING_RSRV(SubscriberNotifications = 0x02AF)

// настройки Модема: 0x02B0 (688)
SETTING_RSRV(USSD)	// USSD запрос
SETTING_RSRV(VoiceRoamEnable)											// разрешены голосовые оповещения в роуминге
SETTING_RSRV(DataRoamEnable)											// разрешена передача данных по GPRS в роуминге
SETTING_RSRV(SMSRoamEnable)												// разрешена отправка SMS в роуминге
SETTING_RSRV(WaitAnswerTimeout)											// время ожидания ответа абонента при оповещении, сек
SETTING_RSRV(CallEndTimeout)											// таймаут окончания звонка при бездействии абонента, сек
SETTING_RSRV(TripEndTimeout)											// таймаут окончания поездки при выключении зажигания, сек
SETTING_RSRV(LowBatteryVoltage)											// уровень входного напряжения генерации оповещения (десятые доли вольта)

SETTING_RSRV(ModemBaseOptions = 0x02BF)

// настройки Модема расширенные: 0x02C0 (704)
SETTING_RSRV(ParkingLocRequest)											// определять место парковки по БС
SETTING_RSRV(TripLocTimeout)											// интервал запроса информации по БС во время поездки, *10сек (=0 не определять)
SETTING_RSRV(EvacLocTimeout)											// интервал запроса информации по БС во время эвакуации, *10сек (=0 не определять)
SETTING_RSRV(SMSLoc)													// добавлять координаты в SMS
SETTING_RSRV(TimeZone)													// Часовой пояс, в часах
SETTING_RSRV(Internet)													// признак версии PRO (соединение по Internet)
SETTING_RSRV(ModemAPN)													// Строка APN
SETTING_RSRV(ModemLogin)												// Строка Login
SETTING_RSRV(ModemPassword)												// Строка Password
SETTING_RSRV(DTCRequestTimeout)											// интервал времени после выключения зажигания для запроса DTC, *1сек (=0 не определять)
SETTING_RSRV(ClockSyncMode)												// Режим синхронизации Системных часов: 0=OFF, 1=PhoneClock, 2=NetworkClock
SETTING_RSRV(TimeZoneSyncMode)											// Режим синхронизации Системной зоны: 0=OFF, 1=PhoneTimeZone, 2=NetworkTimeZone

#endif

SETTING_RSRV(ModemExtOptions = 0x02CF)

SETTING_RSRV(CoreReserved = 0x05EF)

// настройки 0x5F0 .. 0x5FF - настройки ядра под CAN-прошивку
SETTING		(iCanAvail_Mask,		Fixed,		uint32_t,		0)		// входы, доступные в CAN-прошивке, битовая маска
SETTING		(oCanAvail_Mask,		Fixed,		uint64_t,		0)		// выходы, доступные в CAN-прошивке, битовая маска
SETTING		(valCanAvail_Mask,		Fixed,		uint32_t,		0)		// числовые значения, доступные в CAN-прошивке, битовая маска
SETTING		(valCanEn_Mask,			NotFixed,	uint32_t,		0)		// используемые числовые значения из CAN-прошивки, битовая маска

#undef SETTING
#undef SETTING_RSRV
#undef SETTING_ALIAS
