/* Штатный eCAN и отдельный служебный обмен УМП/GAS. Русские пояснения сохранены в UTF-8. */ /* Настраивает eCAN, скорость, почтовые ящики и маршрутизацию прерываний для выбранного режима платы. */ void InitCan(int Port, int DevNum); /* Возвращает 0 при занятости mailbox, 1 при запуске кадра, 2 для неизменного пакета до индивидуального повтора 1,3 с. */ int CAN_send(int Port, int data[], int Addr); /* Поддерживает секундный heartbeat независимо от масок и подтверждает доставку предыдущего технологического кадра. */ void CAN_heartbeat_service(void); /* Передаёт изменившиеся данные и повторяет подтверждённые пакеты через 1,3 с, не ожидая CAN ACK в главном цикле. */ void CAN_telemetry_service(void); /* Объявляет CAN_input_data — CAN вход данные. Память определена в другом модуле. */ extern int CAN_input_data[]; /* Неблокирующая передача ответов логгера отдельным CAN mailbox. */ /* В главном цикле готовит замороженный ответ служебного CAN и отправляет его двухсловными фрагментами. */ void UMP_CAN_service(void);