Режим переключения (Toggle Mode)


Данный режим переключает выходной сигнал. Доступные команды в этом режиме:

Команды Подкоманды Описание
set mode output toggle set mode: toggle
div ms set unit: millisecond
us set unit: microsecond
output od open-drain
pp push-pull
low output LOW
high output HIGH
invert 0 not invert output
1 invert output
count [T1] ... [T8] set output timing parameters
repc [N] set repeat count
trigger from ht0 set trigger target: ht0
php set trigger target: none
reset - reset
get state get current state
div get division rate
repc get remaining repeat count
start - start
stop - stop

Установить выход

Подкоманды команды "set output" в режиме переключения:

Раздел Синтаксис
open-drain pid_ioctl($pid, "set output od");
push-pull pid_ioctl($pid, "set output pp");
output HIGH pid_ioctl($pid, "set output high");
output LOW pid_ioctl($pid, "set output low");
invert output pid_ioctl($pid, "set output invert 1"); // inverted output
pid_ioctl($pid, "set output invert 0"); // normal output

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

Установка количества повторений

Данная команда предназначена для установки количества повторений на выходе. Вы можете установить значения от нуля до 64 для счетчика повторений N. Если N не указан, то по умолчанию N будет равно нулю. Установка этого значения на ноль означает максимальное количество повторений (64).

Команда Синтаксис
set repc pid_ioctl($pid, "set repc N");

Задать значение счетчика

Данная команда предназначена для определения времени для выходного сигнала. В режиме переключения действительное число значений счета колеблется от 1 до 8. Способ использования команды выглядит следующим образом:

Команда Синтаксис
set count pid_ioctl($pid, "set count T1 T2 … T8");

Доступные значения для счета в режиме переключения следующие:

Раздел Доступные значения счета
T1 ~ T8 1 ~ 32764

На приведенной ниже схеме показана форма сигнала в случае установки только 1-го значения T1.

ht_set_toggle_01

ht_set_toggle_02

Если вы задали 2 значения или больше, каждое значение подсчета будет использоваться по порядку. Когда количество повторений больше числа установленного отсчета, будут опять использованы значения счетчика из первого счета. Например, форма сигнала установки из 3 значений счета (T1, T2 и T3) с 4 повторными подсчетами выгялдит следующим образом:

ht_set_toggle_03

Пример режима переключения

Пример режима переключения

$pid = pid_open("/mmap/ht0");               // open HT 0
pid_ioctl($pid, "set div us");              // set unit: microsecond
pid_ioctl($pid, "set mode output toggle");  // set mode: toggle
pid_ioctl($pid, "set repc 1");              // set repeat count: 1
pid_ioctl($pid, "set count 1");             // set count T1: 1
pid_ioctl($pid, "start");                   // start HT
while(pid_ioctl($pid, "get state"));
pid_close($pid);

Значение "set count" - это промежуток времени между запуском HT и сигналом переключения выхода. Форма волны выходного сигнала НТ выглядит следующим образом:

ht_set_toggle_04

Пример повторяющегося режима переключения

$pid = pid_open("/mmap/ht0");               // open HT 0
pid_ioctl($pid, "set div us");              // set unit: microsecond
pid_ioctl($pid, "set mode output toggle");  // set mode: toggle
pid_ioctl($pid, "set repc 3");              // set repeat count: 3
pid_ioctl($pid, "set count 1 2 1");         // set count values: 1, 2 and 1
pid_ioctl($pid, "start");                   // start HT
while(pid_ioctl($pid, "get state"));
pid_close($pid);

В приведенном выше примере заданы 3 значения счетчика (T1, T2 и T3), а это 1, 2 и 1 микросекунды. Форма волны выходного сигнала HT выглядит следующим образом:

ht_set_toggle_05