/* Выход ЦАП и автомат защиты нагрузки с проверкой напряжения и свежести CAN. Русские пояснения сохранены в UTF-8. */ /* В такте Timer1 проверяет команды, напряжение и давность CAN; управляет STOP, повторным пуском и током ЦАП. */ void Load_runner(void); /* Объявляет интерфейс функции Anal_output; реализация вызывается через этот прототип. */ void Anal_output(long vrot, long maxx); /* Объявляет интерфейс функции Init_DAC; реализация вызывается через этот прототип. */ void Init_DAC(void); /* Вычисляет такты ЦАП; для недопустимого сохранённого тайм-аута CAN возвращает 600 мс. */ void Setup_DAC_time(void); /* Счётчик пускового импульса и выдержки инициализации доступны логгеру. */ /* Объявляет IMPowse — данные IMPowse; WAKEpowse — данные WAKEpowse. Память определена в другом модуле. */ extern unsigned long IMPowse, WAKEpowse; /* Объявляет period_dac — период ЦАП; time_dac — time ЦАП. Память определена в другом модуле. */ extern unsigned int period_dac, time_dac; /* Call once before IRQ; complete technological CAN packets update voltage. */ /* Сбрасывает все переменные автомата нагрузки до разрешения прерываний; COFF не обнуляет всю .ebss. */ void Load_control_init(void); /* Принимает напряжение выбранной нагрузки из достоверных слов CAN и сбрасывает возраст только нужного измерения. */ void Load_voltage_can(unsigned int header, unsigned int a, /* Объявляет b — данные b. */ unsigned int b, unsigned int c); /* 0x1300/8 words: signature, version, simulation, timeout, status, attempts, * voltage, age. Only 0x1302 (simulation) and 0x1303 (timeout) are writable. */ /* Фиксирует управляющие входы перед выполнением автомата защиты нагрузки. */ unsigned int Load_protection_prepare(unsigned int function, unsigned int address, /* Объявляет value — данные value; out — данные out. Хранит указатель на данные. */ unsigned int value, unsigned int *out, unsigned int *error);