﻿SSVC0059_V2 UART API version 1.5

Документация к формату запросов и ответов.

Запрос состоит из заглавных латинских букв, цифр и знака подчеркивания. Запрос заканчиваются символом \n или \r.
Ответы передаются в формате JSON в одной строке, заканчивающейся символом \n.

Перечень запросов:
AT
NEXT
PAUSE
RESUME
STOP
START
VERSION
GET_SETTINGS

Общая структура сообщения с ответом на запрос.
Сообщение с оветом на запрос содержит следующие поля:
- type: "response" — Тип сообщения.
- request: Полученная команда в кавычках.
- result: "OK" — при успешном выполнении команды, "unknown" - неизвестная команда.


Описание запросов и ответов
AT - тест обмена сообщениями.
NEXT - действие аналогичное нажатию кнопки Далее/Выход на этапах Головы / Тело / Хвосты.
PAUSE - вход в режим ручного управления клапаном текущего этапа, клапан закрыт.
RESUME - выход из режима ручного управления клапаном текущего этапа. 
STOP - удаленная остановка процесса на этапах Головы, Тело, Хвосты.
START - удаленный запуск ректификации, работает тольлко из дежурного режима.
VERSION - запрос версии прошивки.
Пример ответа: {"type": "response", "request": "VERSION", "result": "OK","manufacturer": "SmartModule","model": "SSVC0059_V2", "version": "2.2.37" "api": "1.0"}
 

GET_SETTINGS - запрос настроек
Пример JSON структуры, включающей все возможные поля, поддерживаемые версиями прошивки 2.2.* и 2.3.*. 
Некоторые поля могут присутствовать только в одной из веток прошивок.
json
{
  "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.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]
  }
}



Документация для JSON структуры ответа на GET_SETTINGS

Поля объекта settings

- heads: Скорость отбора голов.
  - Формат: [время открытого клапана, период]
  - время открытого клапана: Время в секундах с точностью до 1 знака после десятичной точки
  - период: Время в секундах

- heads_final: Скорость отбора к окончанию отбора голов, с. Актуально при опции "Сброс и снижение"

- release_timer: Время сброса на этапе голов, с. Актуально при опции "Сброс и снижение"
  - Формат: целое число в секундах.
- release_speed: Время открытого клапана для сброса, с. Задает скорость отбора во время сброса.
  - Формат: число с одним знаком после десятичной точки.


- hearts: Скорость отбора тела.
  - Формат: [время открытого клапана, период]
  - время открытого клапана: Время в секундах с точностью до 1 знака после десятичной точки
  - период: Время в секундах, целое число

- hyst: Гистерезис при отборе тела, °С

- 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: Температура завершения отбора хвостов, °С. Актуально в firmware 2.2.*

- start_delay: Отложенный пуск, с

- hearts_finish_temp: Температура ТД2 завершения отбора тела, °С

- parallel_v3: Скорость параллельного отбора клапаном №3 для 4-х диапазонов. Актуально в firmware 2.2.*
  - Формат: [[температура диапазона, время открытого клапана, период], ...]
  - температура диапазона: Температура в °С
  - время открытого клапана: Время в секундах с точностью до 1 знака после десятичной точки
  - период: Время в секундах

- parallel_v1: Скорость параллельного отбора клапаном №1. Актуально в firmware 2.2.*
  - Формат: [время открытого клапана, период]
  - время открытого клапана: Время в секундах с точностью до 1 знака после десятичной точки
  - период: Время в секундах

- parallel: Скорость параллельного отбора клапаном №3. Актуально в firmware 2.3.*
  - Формат: [время открытого клапана, период]
  - время открытого клапана: Время в секундах с точностью до 1 знака после десятичной точки
  - период: Время в секундах

- hearts_temp_shift: Сдвиг температуры отбора тела на 0.07°С. Значение 1 - включено, 0 - выключено.

- hearts_pause: Пауза "на себя". Значение 1 - включено, 0 - выключено.

- formula: Формула. Значение 1 - включено, 0 - выключено.

- formula_start_temp: Температура начала формулы, °С

- tank_mmhg: Давление в кубе, мм рт.ст

- tp2_shift: Поправка ТД2, °С

- tp_filter: Фильтр ТД. Значение 1 - включено, 0 - выключено.

- signal_tp1_control: Контроль ТД1 для выхода SIGNAL. Значение 1 - включено, 0 - выключено.

- signal_inverted: Инвертировать SIGNAL. Значение 1 - включено, 0 - выключено.

- tp1_control_temp: Целевая температура на ТД1 при контроле ТД1 для выхода SIGNAL, °С

- 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]
  - клапан 1, 2, 3 -  Пропускная способность в мл/ч соответствующего клапана.
