SSVC0059_V2 UART API Версия 1.7
Документация UART API для SSVC0059_V2 Данный документ описывает формат обмена данными по UART с контроллером SSVC0059_V2, включая управляющие команды (запросы) и телеметрию (сообщения).
SSVC0059_V2 UART API — запросы и ответы
Документация к формату запросов и ответов.
Общие правила
- Запрос:
- Состоит из заглавных латинских букв, цифр и знака подчеркивания.
- Заканчивается символом
\nили\r. - Ответ:
- Передается в формате JSON в одной строке, заканчивающейся символом
\n.
Перечень запросов
ATNEXTPAUSERESUMESTOPSTARTSTATUSVERSIONGET_SETTINGSSET
Общая структура сообщения с ответом
Сообщение с ответом на запрос содержит следующие поля:
type:"response"— тип сообщения.request: полученная команда в кавычках.result:"OK"— при успешном выполнении команды,"unknown"— неизвестная команда.
Пример (обобщенный):
Описание запросов
AT
- Назначение: тест обмена сообщениями.
NEXT
- Назначение: действие, аналогичное нажатию кнопки «Далее/Выход» на этапах Головы / Тело / Хвосты.
PAUSE
- Назначение: вход в режим ручного управления клапаном текущего этапа; клапан закрыт.
RESUME
- Назначение: выход из режима ручного управления клапаном текущего этапа.
STOP
- Назначение: удаленная остановка процесса на этапах Головы, Тело, Хвосты.
START
- Назначение: удаленный запуск ректификации, работает только из дежурного режима.
STATUS
- Назначение: передача статуса от подключенного устройства.
- Формат:
- Принимается строка длиной 15 символов.
- Полученное строковое значение отображается на дежурном экране.
- Пример:
VERSION
- Назначение: запрос версии прошивки.
- Пример ответа:
{
"type": "response",
"request": "VERSION",
"result": "OK",
"manufacturer": "SmartModule",
"model": "SSVC0059_V2",
"version": "2.2.37",
"api": "1.7"
}
SET
Документация по синтаксису команды SET.
Команда SET используется для задания различных настроек. Команда работает во всех режимах, когда контроллер принимает запросы по UART.
Максимальная длина строки — 300 символов, включая завершающие строку \n и нулевой символ.
Общий формат команды
Перечень принимаемых параметров
Поддерживается всеми версиями прошивок 2.2. и 2.3. (если не указано иное):
heads=[<время_включения>,<период>]— скорость отбора голов.hearts=[<время_включения>,<период>]— скорость отбора тела.hyst=<значение>— гистерезис.decrement=<значение>— декремент.formula=[0|1]— формула.tank_mmhg=<значение>— давление в кубе относительно атмосферного (параметр в настройках), мм рт. ст.tank_mmhg_act=<значение>— актуальное давление в кубе относительно атмосферного (измеряется датчиком), мм рт. ст.heads_timer=<время>— время отбора голов.hearts_timer=<время>— таймер фиксации температуры отбора тела.start_delay=<время>— отложенный пуск.hearts_finish_temp=<температура>— температура завершения отбора тела.formula_start_temp=<температура>— начальная температура для формулы.valve_bw=[<скорость1>,<скорость2>,<скорость3>]— пропускные способности клапанов в мл/ч.tails=[<значение1>,<значение2>]— скорость отбора хвостов (актуально для firmware 2.2.*).tails_temp=<температура>— температура завершения отбора хвостов (актуально для firmware 2.2.*).late_heads=[<время_включения>,<период>]— скорость отбора подголовников (актуально для firmware 2.3.*).late_heads_timer=<значение>— время отбора подголовников, с (кратно 300 с; актуально для firmware 2.3.*).parallel=[<время_включения>,<период>]— параллельный отбор клапаном 3 (актуально для firmware 2.3.*).parallel_v1=[<время_включения>,<период>]— параллельный отбор клапаном 1 (актуально для firmware 2.2.*).parallel_v3=[[<температура>,<время_включения>,<период>], …]— параллельный отбор клапаном 3 (актуально для firmware 2.2.*).release_speed=<значение>— скорость сброса (время открытого клапана); актуально с опцией «Сброс и снижение».release_timer=<время>— время сброса, с; актуально с опцией «Сброс и снижение».heads_final=<значение>— скорость отбора к окончанию голов; актуально с опцией «Сброс и снижение».
Дополнительно есть оперативные параметры текущего этапа:
s_temp=<температура>— температура, °C (1 знак после запятой, максимум 110.0).s_hyst=<гистерезис>— гистерезис, °C (2 знака после запятой, от 0.06 до 50.06).s_speed=[<время_включения>,<период>]— скорость отбора (аналогичнаheads).s_decrement=<декремент>— декремент, %, целое число до 100.s_timer=<время>— таймер, с; целое число до 86400.
Описание параметров
heads, late_heads, hearts, tails, s_speed, parallel_v1, parallel
Настройки скорости отбора (время открытого клапана и период цикла).
- Назначение:
heads— головы;hearts— тело;late_heads— подголовники;tails— хвосты;s_speed— оперативные параметры;parallel_v1— параллельный отбор клапаном 1 (firmware 2.2.*);-
parallel— параллельный отбор клапаном 3 (firmware 2.3.*). -
Синтаксис:
<время_включения>— вещественное число с одной десятичной цифрой (например,99.0).-
<период>— целое число. -
Ограничения:
время_включения ≤ 99.9период ≤ 999-
время_включения ≤ период -
Пример:
hyst
- Описание: устанавливает значение гистерезиса.
- Синтаксис:
-
<значение>— число с двумя знаками после запятой (например,0.25). -
Ограничения:
-
положительное число, не более
50.0. -
Пример:
decrement
- Описание: устанавливает величину в процентах, на которую будет уменьшаться скорость отбора тела при «злете» температуры.
- Синтаксис:
-
<значение>— целое число (например,20). -
Ограничения:
-
целое положительное число от
0до100включительно. -
Пример:
formula
- Описание: использовать или нет формулу для снижения скорости отбора тела в зависимости от температуры на ТД2.
- Синтаксис:
0— не использовать формулу;-
1— использовать. -
Пример:
tank_mmhg
- Описание: устанавливает давление в кубе в миллиметрах ртутного столба (мм рт. ст.) относительно атмосферного.
- Синтаксис:
-
<значение>— целое число (например,30). -
Ограничения:
-
значение от
0до50. -
Пример:
tank_mmhg_act
-
Назначение: передача актуальных (динамических) показаний датчика давления в систему расчетов.
Если датчик в кубе отсутствует и данные не передаются, контроллер использует статическое значение изtank_mmhg. -
Описание: устанавливает давление в кубе в мм рт. ст. относительно атмосферного. Имеет приоритет над
tank_mmhg.
Если контроллер получилtank_mmhg_actхотя бы раз, он будет использовать это значение (и игнорировать последующие измененияtank_mmhg) до момента выключения питания. -
Синтаксис:
-
<значение>— вещественное число с одной десятичной цифрой (например,30.0). -
Ограничения:
-
значение от
0.0до50.0. -
Пример:
heads_timer
- Описание: таймер отбора голов (время в секундах).
- Синтаксис:
-
<время>— целое число (например,36000). -
Ограничения:
-
положительное число, не более
86400, кратное300(5 минут). -
Пример:
late_heads_timer
- Описание: таймер отбора подголовников (время в секундах).
- Синтаксис:
-
<время>— целое число (например,36000). -
Ограничения:
-
положительное число, не более
86400, кратное300. -
Пример:
hearts_timer
- Описание: таймер фиксации температуры отбора тела, мин.
- Синтаксис:
-
<время>— целое число (например,10). -
Ограничения:
-
положительное число, не более
30. -
Пример:
tails_temp
- Описание: температура завершения отбора хвостов, °C.
- Синтаксис:
-
<температура>— число с плавающей точкой (например,109.9). -
Ограничения:
-
положительное число, не более
110.0. -
Пример:
start_delay
- Описание: отложенный пуск (время в секундах).
- Синтаксис:
-
<время>— целое число (например,6000). -
Ограничения:
-
положительное число, не более
18000. -
Пример:
hearts_finish_temp
- Описание: температура на ТД2, при которой завершается отбор тела, °C.
- Синтаксис:
-
<температура>— число с плавающей точкой (например,93.0). -
Ограничения:
-
положительное число, не более
110.0. -
Пример:
formula_start_temp
- Описание: начальная температура для начала работы формулы, °C.
- Синтаксис:
-
<температура>— число с плавающей точкой (например,84.0). -
Ограничения:
-
температура от
84.0до100.0включительно. -
Пример:
valve_bw
- Описание: пропускные способности клапанов в мл/ч.
- Синтаксис:
-
каждая
<скоростьN>— целое число. -
Ограничения:
-
все скорости
≤ 20000. -
Пример:
parallel_v3
-
Описание: устанавливает параметры параллельного отбора клапаном 3 на этапе отбора тела (актуально для прошивок 2.2.*).
Задается 4 диапазона, в каждом диапазоне передаются три значения. -
Синтаксис:
parallel_v3=[[<температура>,<время_включения>,<период>],
[<температура>,<время_включения>,<период>],
[<температура>,<время_включения>,<период>],
[<температура>,<время_включения>,<период>]]
<температура>— начало диапазона, вещественное число с одной десятичной цифрой (например,84.0).
(Первый диапазон всегда начинается с0.0; полученное значение температуры в первом диапазоне игнорируется.)<время_включения>— вещественное число с одной десятичной цифрой (например,99.0).-
<период>— целое число. -
Ограничения:
время_включения < периодтемпература ≤ 99.9время_включения ≤ 99.9-
период ≤ 999 -
Пример:
release_speed
- Описание: скорость сброса (время открытого клапана), с; актуально с опцией «Сброс и снижение».
- Синтаксис:
-
<время_включения>— вещественное число с одной десятичной цифрой (например,99.0). -
Ограничения:
-
время_включения ≤ 99.9. -
Примечание: значение должно быть меньше периода этапа отбора голов (контроль возлагается на передающую сторону).
-
Пример:
release_timer
- Описание: время сброса, с. Включается опция «Сброс и снижение» при значении больше
0. - Синтаксис:
-
<время>— целое число (например,600). -
Ограничения:
-
положительное число, не более
1200(20 минут). -
Пример:
heads_final`
- Описание: скорость отбора к окончанию голов, с. Включается опция «Сброс и снижение» при любом значении.
- Синтаксис:
-
<время_включения>— вещественное число с одной десятичной цифрой (например,10.5). -
Ограничения:
-
время_включения ≤ 99.9. -
Примечание: значение должно быть меньше периода этапа отбора голов (контроль возлагается на передающую сторону).
-
Пример:
Проверка на ошибки
- При неверном формате или несоответствии ограничениям возвращается сообщение об ошибке.
Пример:
- Для неизвестных параметров возвращается сообщение об ошибке.
Пример:
Примеры корректных команд
SET heads=[30.0,180],hearts=[2.5,5],formula=1
SET heads=[60.0,360],hearts=[2.0,4],hyst=0.19,formula=0
SET heads=[20.5,245],hearts=[1.5,3],hyst=0.25,decrement=20,formula=1,tank_mmhg=50,heads_timer=36000,hearts_timer=30,start_delay=18000,hearts_finish_temp=93.0,formula_start_temp=84.0,valve_bw=[10000,11000,12000]
SET formula=1
SET formula=0
SET tank_mmhg=50
SET heads_timer=36000
SET heads_timer=86400
SET hearts_timer=30
SET start_delay=18000
SET hearts_finish_temp=110.0
SET formula_start_temp=84.0
SET formula_start_temp=100.0
SET valve_bw=[10000,11000,12000]
Примеры команд с ошибками
SET heads=[60.0,360],hearts=[2.0,4],hyst=0.19,decrement=30,formula=2
SET heads=[100.0,180],hearts=[2.5,5],formula=1
SET heads=[99.9,1000],hearts=[2.5,5]
SET heads=[99.1,99],hearts=[2.5,5],formula=1
SET hyst=50.01
SET decrement=101
SET tank_mmhg=51
SET heads_timer=86401
SET hearts_timer=31
SET start_delay=18001
SET hearts_finish_temp=110.1
SET formula_start_temp=83.9
SET formula_start_temp=100.1
SET valve_bw=[10000,11000,21000]
GET_SETTINGS
- Назначение: запрос настроек.
- Описание:
- Ответ содержит поле
settings— объект с набором параметров. - Пример JSON-структуры ниже включает все возможные поля, поддерживаемые версиями прошивки 2.2. и 2.3..
- Некоторые поля могут присутствовать только в одной из веток прошивок.
Пример ответа GET_SETTINGS
{
"type": "response",
"request": "GET_SETTINGS",
"result": "OK",
"settings": {
"heads": [24.5, 100],
"heads_final": 15.0,
"release_timer": 300,
"release_speed": 99.9,
"late_heads": [23.4, 123],
"hearts": [2.5, 5],
"hyst": 0.25,
"decrement": 100,
"tails": [2.1, 4],
"sound": 0,
"pressure": 1,
"relay_inverted": 0,
"relay_autostart": 0,
"auto_mode": 1,
"heads_timer": 900,
"late_heads_timer": 1800,
"hearts_timer": 0,
"tails_temp": 95.9,
"start_delay": 5,
"hearts_finish_temp": 90.0,
"parallel_v3": [
[0.0, 0.4, 10],
[81.0, 0.5, 11],
[86.0, 0.6, 12],
[96.0, 0.7, 13]
],
"parallel_v1": [0.3, 10],
"parallel": [0.2, 10],
"hearts_temp_shift": 1,
"hearts_pause": 1,
"formula": 1,
"formula_start_temp": 84.0,
"tank_mmhg": 10,
"tp2_shift": 0.0,
"tp_filter": 0,
"signal_tp1_control": 1,
"signal_inverted": 0,
"tp1_control_temp": 60,
"tp1_control_start": 1,
"stab_limit_time": 60,
"stab_limit_finish": 1,
"backlight": "active",
"valve_bw": [1100, 1200, 1300]
}
}
Структура ответа на GET_SETTINGS
Поля объекта settings
heads
Скорость отбора голов. - Время открытого клапана: время в секундах с точностью до 1 знака после десятичной точки. - Период: время в секундах.
heads_final
Скорость отбора к окончанию отбора голов, с. Актуально при опции «Сброс и снижение». - Формат: целое число в секундах.
release_timer
Время сброса на этапе голов, с. Актуально при опции «Сброс и снижение». - Формат: целое число в секундах.
release_speed
Время открытого клапана для сброса, с; задает скорость отбора во время сброса. - Формат: число с одним знаком после десятичной точки.
hearts
Скорость отбора тела.
- Формат: [время открытого клапана, период]
- Время открытого клапана: время в секундах с точностью до 1 знака после десятичной точки.
- Период: время в секундах, целое число.
hyst
Гистерезис при отборе тела, °C.
decrement
Декремент при отборе тела, %.
late_heads
Скорость отбора подголовников. Актуально в firmware 2.3..
- Формат: [время открытого клапана, период]
- Время открытого клапана: время в секундах с точностью до 1 знака после десятичной точки.
- Период:* время в секундах.
tails
Скорость отбора хвостов. Актуально в firmware 2.2..
- Формат: [время открытого клапана, период]
- Время открытого клапана: время в секундах с точностью до 1 знака после десятичной точки.
- Период:* время в секундах.
sound
Звук:
- 1 — включено;
- 0 — выключено.
pressure
Барометр:
- 1 — включено;
- 0 — выключено.
relay_inverted
Инвертировать реле:
- 1 — включено;
- 0 — выключено.
relay_autostart
Реле включить сразу:
- 1 — включено;
- 0 — выключено.
auto_mode
Автоматический переход между этапами:
- 1 — включено;
- 0 — выключено.
heads_timer
Время отбора голов, с.
late_heads_timer
Время отбора подголовников, с. Актуально в firmware 2.3.*
hearts_timer
Таймер фиксации температуры отбора тела, с.
tails_temp
Температура завершения отбора хвостов, °C. Актуально в firmware 2.2.*
start_delay
Отложенный пуск, с.
hearts_finish_temp
Температура ТД2 завершения отбора тела, °C.
parallel_v3
Скорость параллельного отбора клапаном №3 для 4 диапазонов. Актуально в firmware 2.2..
- Формат: [[температура диапазона, время открытого клапана, период], ...]
- Температура диапазона: температура в °C.
- Время открытого клапана: время в секундах с точностью до 1 знака после десятичной точки.
- Период:* время в секундах.
parallel_v1
Скорость параллельного отбора клапаном №1. Актуально в firmware 2.2..
- Формат: [время открытого клапана, период]
- Время открытого клапана: время в секундах с точностью до 1 знака после десятичной точки.
- Период:* время в секундах.
parallel
Скорость параллельного отбора клапаном №3 (актуально в firmware 2.3.).
- Формат: [время открытого клапана, период]
- Время открытого клапана: время в секундах с точностью до 1 знака после десятичной точки.
- Период:* время в секундах.
hearts_temp_shift
Сдвиг температуры отбора тела на 0.07 °C:
- 1 — включено;
- 0 — выключено.
hearts_pause
Пауза «на себя»:
- 1 — включено;
- 0 — выключено.
formula
Формула:
- 1 — включено;
- 0 — выключено.
formula_start_temp
Температура начала формулы, °C.
tank_mmhg
Давление в кубе, мм рт. ст.
tp2_shift
Поправка ТД2, °C.
tp_filter
Фильтр ТД:
- 1 — включено;
- 0 — выключено.
signal_tp1_control
Контроль ТД1 для выхода SIGNAL:
- 1 — включено;
- 0 — выключено.
signal_inverted
Инвертировать SIGNAL:
- 1 — включено;
- 0 — выключено.
tp1_control_temp
Целевая температура на ТД1 при контроле ТД1 для выхода SIGNAL, °C.
tp1_control_start
Старт по ТД1 при контроле ТД1 для выхода SIGNAL:
- 1 — включено;
- 0 — выключено.
stab_limit_time
Лимит стабилизации, с (0 — отключен).
stab_limit_finish
Завершить этап при превышении лимита стабилизации:
- 1 — включено;
- 0 — выключено.
backlight
Подсветка дисплея.
- Возможные значения:
- "active" — включено;
- "always" — всегда включено;
- "off" — выключено.
valve_bw
Пропускная способность клапанов.
- Формат: [клапан 1, клапан 2, клапан 3]
- Значения: пропускная способность в мл/ч соответствующего клапана.
Cтруктура телеметрии (JSON)
Формат сообщения телеметрии
Общая структура сообщения
- Сообщения передаются в формате JSON в одной строке, заканчивающейся символом
\n. - Каждое сообщение содержит поле
type, определяющее тип сообщения. - Дополнительные поля зависят от значения
type.
Типы сообщений и их поля
Дежурный режим — type: "waiting"
Сообщение состоит из общей для всех сообщений части common.
Общая часть common
Сообщение содержит следующие поля:
mmhg: float— давление в мм рт. ст.tp1: float— температура ТД1.tp2: float— температура ТД2.relay: int— состояние реле (0или1).signal: int— состояние сигнала (0или1).cfg_chgd: boolean— флаг для запроса настроекGET_SETTINGS. Присутствует только еслиtrue.
Флаг необходим для запроса настроек в случае, если были внесены изменения на контроллере при помощи кнопок управления. Сбрасывается после запросаGET_SETTINGS.tts: int— время до сохранения настроек в энергонезависимую память, с. При отсутствии поляtts— несохраненных данных нет.
Пример waiting
{
"type": "waiting",
"common": {
"mmhg": 750.5,
"tp1": 30.31,
"tp2": 30.81,
"relay": 1,
"signal": 0,
"cfg_chgd": true
}
}
Экраны настроек ректификации — type: "settings"
Сообщение также состоит из общей части common (структура аналогична описанной выше).
Дополнительные поля зависят от конкретной реализации экранов и не детализированы в данном документе.
Ожидание достижения температуры 1 — type: "tp1_waiting"
Дополнительные поля к общей части:
pid: int— уникальный идентификатор ректификации.tp1_target: float— целевая температура ТД1.
Пример tp1_waiting
{
"pid": 99,
"type": "tp1_waiting",
"common": {
"mmhg": 750.5,
"tp1": 30.31,
"tp2": 30.81,
"relay": 1,
"signal": 0
},
"tp1_target": 60
}
Отсроченный старт — type: "delayed_start"
Дополнительные поля к общей части:
pid: int— уникальный идентификатор ректификации.countdown: string— обратный отсчет времени в формате"ч:мм:сс".
Пример delayed_start
{
"pid": 99,
"type": "delayed_start",
"common": {
"mmhg": 750.5,
"tp1": 30.75,
"tp2": 31.44,
"relay": 1,
"signal": 0
},
"countdown": "0:09:59"
}
Отбор голов и подголовников — type: "heads", type: "late_heads"
type: "heads"— головы.type: "late_heads"— подголовники (актуально в firmware 2.3.*).
Дополнительные поля к общей части:
pid: int— уникальный идентификатор ректификации.countdown: string— обратный отсчет времени в формате"ч:мм:сс".release: string— обратный отсчет времени сброса в формате"ч:мм:сс"(актуально на отборе голов при наличии опции «Сброс»).time: string— время в формате"ч:мм:сс".open: float— открытие клапана в секундах.period: int— период работы клапана в секундах.tank_mmhg: float— давление в кубе.tp1_sap: float— пересчитанная к нормальному атмосферному давлению температура ТД1.tp2_sap: float— пересчитанная к нормальному атмосферному давлению температура ТД2.v1: int— суммарное время открытия клапана 1 в секундах.v2: int— суммарное время открытия клапана 2 в секундах.v3: int— суммарное время открытия клапана 3 в секундах.alc: float— спиртуозность.
Пример heads
{
"pid": 99,
"type": "heads",
"common": {
"mmhg": 750.5,
"tp1": 31.19,
"tp2": 32.06,
"relay": 1,
"signal": 1
},
"countdown": "0:14:58",
"time": "0:00:02",
"open": 30.10,
"period": 359,
"tank_mmhg": 756.5,
"tp1_sap": 31.53,
"tp2_sap": 33.10,
"v1": 0,
"v2": 0,
"v3": 0,
"alc": 0.0
}
Отбор тела — type: "hearts"
Дополнительные поля к общей части:
pid: int— уникальный идентификатор ректификации.countdown: string— обратный отсчет времени до фиксации температуры отбора, формат"ч:мм:сс".time: string— время в формате"ч:мм:сс".tp1_target: float— температура отбора.open: float— открытие клапана в секундах.period: int— период работы клапана в секундах.hysteresis: float— гистерезис.decrement: int— декремент в %, целое число.tank_mmhg: float— давление в кубе.tp1_sap: float— пересчитанная к нормальному атмосферному давлению температура ТД1.tp2_sap: float— пересчитанная к нормальному атмосферному давлению температура ТД2.v1: int— суммарное время открытия клапана 1 в секундах.v2: int— суммарное время открытия клапана 2 в секундах.v3: int— суммарное время открытия клапана 3 в секундах.alc: float— спиртуозность.stop: int— признак остановки (0или1).stops: int— количество остановок.
Пример hearts
{
"pid": 99,
"type": "hearts",
"common": {
"mmhg": 750.5,
"tp1": 31.38,
"tp2": 32.25,
"relay": 1,
"signal": 1
},
"countdown": "0:06:58",
"time": "0:01:04",
"tp1_target": 100.0,
"open": 2.10,
"period": 4,
"hysteresis": 0.25,
"decrement": 10,
"tank_mmhg": 756.5,
"tp1_sap": 31.72,
"tp2_sap": 33.29,
"v1": 0,
"v2": 0,
"v3": 0,
"alc": 0.0,
"stop": 0,
"stops": 0
}
Отбор хвостов — type: "tails" (firmware 2.2.*)
Дополнительные поля к общей части:
pid: int— уникальный идентификатор ректификации.time: string— время в формате"ч:мм:сс".tp2_target: float— целевая температура ТД2.open: float— открытие клапана в секундах.period: int— период работы клапана в секундах.tank_mmhg: float— давление в кубе.tp1_sap: float— пересчитанная к нормальному атмосферному давлению температура ТД1.tp2_sap: float— пересчитанная к нормальному атмосферному давлению температура ТД2.v1: int— суммарное время открытия клапана 1 в секундах.v2: int— суммарное время открытия клапана 2 в секундах.v3: int— суммарное время открытия клапана 3 в секундах.alc: float— спиртуозность.
Пример tails
{
"pid": 99,
"type": "tails",
"common": {
"mmhg": 748.3,
"tp1": 33.81,
"tp2": 35.75,
"relay": 1,
"signal": 1
},
"time": "0:01:20",
"tp2_target": 95.0,
"open": 2.0,
"period": 4,
"tank_mmhg": 748.3,
"tp1_sap": 34.22,
"tp2_sap": 36.16,
"v1": 0,
"v2": 8,
"v3": 0,
"alc": 0.0
}
Поле event в сообщениях телеметрии
Сообщения могут содержать поле event, оповещающее о событиях.
- Поле
eventприсутствует в телеметрии при отсутствии нажатий на кнопки контроллера.
Перечень событий и их описание
heads_finished— завершен этап Головы.hearts_finished— завершен этап Тело (ректификация завершена для firmware 2.3.*).tails_finished— завершен этап Хвосты (ректификация завершена для firmware 2.2.*).ds_error— ошибка датчика температуры.ds_error_stop— выключение оборудования (реле) из-за ошибки датчика; срабатывает через 180 с, если ошибка текущего датчика не исчезнет.stabilization_limit— превышен лимит времени стабилизации.manually_closed— включено ручное управление клапаном текущего этапа, клапан закрыт.manually_opened— включено ручное управление клапаном текущего этапа, клапан открыт.
Примечания
- Каждое сообщение передается одной строкой, заканчивающейся символом
\n. - Все температуры (
tp1,tp2,tp1_sap,tp2_sap,tp1_target,tp2_target) указываются в градусах Цельсия и могут содержать десятичную часть. - Время (
time,countdown) указывается в формате"ч:мм:сс". - Значения состояния реле (
relay) и сигнала (signal) могут быть либо0(выключено), либо1(включено). - Давление (
mmhg,tank_mmhg) указывается в мм рт. ст.