Сохранить русские комментарии и настройки проекта в UTF-8
Добавить пояснения к исходникам, заголовкам TI, настройкам CCS и существующим проверкам. Зафиксировать правила кодировки, обзор модулей и аудит комментариев.
This commit is contained in:
@@ -1,28 +1,47 @@
|
||||
/* Дополнительная карта GAS 167/v1 только для новой EEPROM M95M02. Русские пояснения сохранены в UTF-8. */
|
||||
/* Начинает условие: BALSAM167_GAS_H ещё не определён; защищает повторное включение или задаёт значение сборки. */
|
||||
#ifndef BALSAM167_GAS_H
|
||||
/* Определяет защитный символ или переключатель BALSAM167_GAS_H для последующей компиляции. */
|
||||
#define BALSAM167_GAS_H
|
||||
/* Подключает "eeprom_config.h": выбор профиля физически установленной EEPROM при сборке. */
|
||||
#include "eeprom_config.h"
|
||||
/* Подключает <stdint.h>: настройки и интерфейс stdint. */
|
||||
#include <stdint.h>
|
||||
|
||||
/* Board profile 167/v1, word addresses, independent of the wire transport.
|
||||
* The original register and UMP addresses remain valid in both builds.
|
||||
* Only the physically fitted M95M02 version exposes the additional regions. */
|
||||
/* Профиль платы 167/v1 использует словные адреса независимо от транспорта.
|
||||
* Штатные адреса технологических регистров и УМП остаются доступными в обеих сборках.
|
||||
* Дополнительные области GAS присутствуют только при установленной M95M02.
|
||||
*/
|
||||
/* Условие компиляции EEPROM_M95M02: выбранный блок включается в текущий вариант прошивки. */
|
||||
#if EEPROM_M95M02
|
||||
/* Задаёт GAS167_REG_BASE = 0x5000U; начало псевдонимов 128 технологических регистров GAS, адрес 0x5000. */
|
||||
#define GAS167_REG_BASE 0x5000U
|
||||
/* Задаёт GAS167_REG_COUNT = 128U; число технологических слов GAS; скрытое слово modbus[128] в диапазон не входит. */
|
||||
#define GAS167_REG_COUNT 128U
|
||||
/* Задаёт GAS167_INFO_BASE = 0x5F00U; начало доступного только для чтения дескриптора GAS, адрес 0x5F00. */
|
||||
#define GAS167_INFO_BASE 0x5F00U
|
||||
/* Задаёт GAS167_INFO_WORDS = 8U; длина дескриптора GAS — восемь 16-битных слов. */
|
||||
#define GAS167_INFO_WORDS 8U
|
||||
/* Задаёт GAS167_MAX_WORDS = 124U; максимальная длина чтения GAS — 124 слова; служебный CAN требует чётную длину. */
|
||||
#define GAS167_MAX_WORDS 124U
|
||||
/* Задаёт GAS167_PROFILE_VERSION = 1U; версия карты адресов GAS 167/v1. */
|
||||
#define GAS167_PROFILE_VERSION 1U
|
||||
#define GAS167_CAPABILITIES 7U /* bit 0 RTU, bit 1 service CAN, bit 2 FC06 */
|
||||
#define GAS167_CAPABILITIES 7U /* Бит 0 — RTU, бит 1 — служебный CAN, бит 2 — запись FC06. */ /* Задаёт GAS167_CAPABILITIES = 7U; маска возможностей: бит 0 — RTU, бит 1 — служебный CAN, бит 2 — FC06. */
|
||||
|
||||
/* Called by the main-loop transports under their snapshot IRQ lock.
|
||||
* Capacity: at least GAS167_MAX_WORDS uint16_t words.
|
||||
* RTU reads: 1..124 words; paired service CAN reads: 2..124, even.
|
||||
* Successful reads return their count. Writes/errors return address/value.
|
||||
* error uses Modbus codes 0 (success), 1 (function), 2 (address), 3 (value).
|
||||
* No EEPROM I/O, allocation, or changes to the existing logger. */
|
||||
/* Вызывается транспортами из главного цикла под краткой блокировкой IRQ.
|
||||
* Буфер ответа должен вмещать не меньше GAS167_MAX_WORDS слов uint16_t.
|
||||
* RTU читает 1..124 слова; служебный CAN — чётное число слов 2..124.
|
||||
* Успешное чтение возвращает число слов. Запись или ошибка возвращает адрес/значение.
|
||||
* error: 0 — успех, 1 — функция, 2 — адрес, 3 — значение.
|
||||
* Здесь нет обмена EEPROM, выделения памяти или изменения устройства регистратора.
|
||||
*/
|
||||
/* Проверяет принадлежность адреса одному из двух диапазонов GAS 167/v1; доступно только для M95M02. */
|
||||
int gas167_contains(uint16_t address);
|
||||
/* Проверяет весь запрос FC03/FC06 до доступа к данным и формирует снимок регистров или дескриптора GAS. */
|
||||
unsigned gas167_prepare(unsigned function, uint16_t address, uint16_t value,
|
||||
/* Объявляет can — CAN; reply — данные reply. Хранит указатель на данные. */
|
||||
int can, uint16_t *reply, unsigned *error);
|
||||
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
|
||||
#endif
|
||||
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user