Система команд электростимулятора E-Stim 2B

Прибором E-Stim 2B можно управлять с компьютера используя программу Commander. А еще можно написать собственную программу управления, или же приспособить для контроля стимулятора плату Arduino. Для самостоятельной разработки важно понимать «язык» взаимодействия с устройством. В этой статье приведу полное описание системы команд для взаимодействия с E-Stim 2B.

Для полного понимания обязательно прочитайте:

Через интерфейс сопряжения можно управлять E-Stim 2B также, как и физическими ручками управления и получать информацию о текущем состоянии устройства.

Что можно сделать

На E-Stim 2B можно отправлять команды:

  • Выбора одного из стандартных режимов (Pulse, Bounce, Continuous…)
  • Установки уровня на канале А и В
  • Настройки параметров режима (Pulse Rate, Pulse Feel…)
  • Выбора высокой или низкой выходной мощности (Power Low / Power High)

Что недоступно

Через систему команд интерфейса управления E-Stim 2B недоступны:

  • Установка режимов Tickle Mode, Stereo Input и Microphone
  • Генерация сигналов собственной формы, можно только использовать существующие режимы
  • Создание и загрузка собственного режима в электростимулятор
  • Выполнение прочих пользовательских и сервисных настроек

Команды выбора режима

Для установи через интерфейс доступны 14 режимов (в текущей версии прошивки).

Команда состоит из буквы M и числа – номера режима. Нумерация начинается с 0.

Первый режим Pulse устанавливается командой M0, второй Bounce – командой M1, и т.д.

Список команд выбора режима:

  • M0 – Pulse
  • M1 – Bounce
  • M2 – Continuous
  • M3 – A Split
  • M4 – B Split
  • M5 – Wave
  • M6 – Waterfall
  • M7 – Squeeze
  • M8 – Milk
  • M9 – Throb
  • M10 – Thrust
  • M11 – Random
  • M12 – Step
  • M13 – Training

Команды установки уровня выходных каналов A и B

Всё предельно просто. Для установления на выходе A уровня в 18 единиц, надо отправить команду A18. Аналогично для канала B.

Доступный диапазон от 0 до 100:

  • A0 … A100 – уровень канала A
  • B0 … B100 – уровень канала B

Команды настройки параметров режима

В большинстве режимов доступны для дополнительной настройки один или два параметра.

Первый параметр обозначается С, второй – D.

Доступный диапазон от 2 до 100:

  • C2 … C100 – первый параметр (например, Pulse Speed)
  • D2 … D100 – Второй параметр (например, Pulse Feel)

Прочие команды

H – установит выходную мощность на высокий уровень (Power High).

L – установит выходную мощность на низкий уровень (Power Low).

После смены уровня мощности, выходные уровни на каналах A и B автоматически сбросятся в 0.

K – «Стоп». Моментально сбрасывает уровни на каналах A и B в ноль. Равносильно последовательности команд A0, B0, только сработает быстрее. Можно применять как «красную» аварийную кнопку.

E – «Стоп и сброс». Переведет прибор в режим Pulse с нулевым уровнем на двух каналах и настройками Pulse Rate и Pulse Feel в 50 единиц.

Настройка Commander On

Чтобы можно было управлять электросексом E-Stim 2B через цифровой интерфейс, для прошивок версии ниже 2.106, необходимо на самом приборе разрешить режим Commander. С выключенной настройкой (Commander Off), любые внешние команды E-Stim 2B игнорирует. В новых прошивках такой настройки нет, прием внешних команд включен всегда.

Команда Q переводит E-Stim 2B в состояние Commander Off, после чего электростимулятор перестает воспринимать команды цифрового интерфейса. На прошивках 2.106 и старше команда Q не поддерживается.

Скорость обмена

Обмен информацией с E-Stim 2B осуществляется по протоколу 9600/8-N-1, если кратко.

Если подробнее, то скорость обмена составляет 9600 бит/сек., информационный пакет состоит из 8 бит, бит проверки четности не используется, в конце пакета один стоп-бит.

Как правило, при разработке собственных программ для E-Stim 2B, следует установить только скорость 9600 бит/сек., остальное является стандартом «де-факто».

Посылка команды и ответ прибора

Любая посылаемая команда обязательно должна завершаться символом перевода каретки – CR. В таблице символов ASCII – это код 13. Я, например, добавляю к отправляемой команде «\r».

Ответом на отправленную команду будет строка о текущем (установившемся) состоянии прибора.

Пример:

494:0:0:100:100:13:H:0:2.105

Строка состоит из девяти позиций, разделенных двоеточием. Строка завершается символом LF – перевод строки. Код символа ASCII – 10.

  • В первой позиции, в неких условных единицах, зашифрован уровень заряда батареи.
  • Вторая и третья позиции – это уровни на каналах A и B соответственно.
  • Четвертая и пятая позиции – это параметры C и D.
  • Параметры A, B, C, D – возвращаются как умноженные на два. Т.е. если на дисплее вы видите число 50, то в строке состояния будет указано 100.
  • Шестая позиция – номер режима текущего (Pulse, Bounce, Continuous…).
  • Седьмая позиция обозначает уровень мощности: L – Power Low, H – Power High.
  • Восьмая позиция в текущих прошивках не задействована, всегда 0.
  • Девятая позиция указывает версию прошивки.

Если отправить на прибор несуществующую команду, например «T», то изменения состояния прибора не произойдёт, но ответ строкой статуса будет получен.

Существует некая команда P. Она не меняет состояние, а возвращает строку вида:

P:1:1:0:1:0:0:0:0:76:0:0:255:255:255:255:255

Для чего нужна эта команда, и что значит это строка установить не удалось. Производитель пояснения не дал, а указал, что это задел для будущих версий прошивок.

На этом пока  всё, делитесь своими комментариями…

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *