3. Секция Radio - настройки параметров взаимодействия с радиостанцией.
3.0. LINUX/UNIX-пользователь, исполняющий AlterFRN-клиент, должен иметь права на чтение/запись в используемые устройства для типов COM (3.4.1.1) вида /dev/ttyUSB0, GPIO (3.4.1.3) вида /sys/class/gpio/[un]export, CM108 (3.4.1.5) вида /dev/hidraw0, GPIODEV (3.4.1.7) вида /dev/gpiochip0 и права чтения/записи в каталоги и файлы для типа FILE (3.4.1.4).
3.1. Параметр PTT - Push To Talk - выходной сигнал для включения радиостанции на передачу. Смотри Формат описания линий управления радиостанцией (3.4). Если вы используете несколько работающих копий AlterFRN-клиента одновременно на одной машине, то для избежания конфликтов используйте разные устройства(порты) для выходной линии PTT для каждой копии AlterFRN-клиента.
3.2. Параметр COS - Carrier On Signal - входной сигнал для получения несущей с радиостанции. Смотри Формат описания линий управления радиостанцией (3.4). Если вы используете несколько работающих копий AlterFRN-клиента одновременно на одной машине, то для избежания конфликтов используйте разные устройства(порты) для входной линии COS для каждой копии AlterFRN-клиента.
3.3. Параметр LIGHT - выходной сигнал, активный при успешной трансляции звука с радиостанции на сервер. Смотри Формат описания линий управления радиостанцией (3.4). Если вы используете несколько работающих копий AlterFRN-клиента одновременно на одной машине, то для избежания конфликтов используйте разные устройства(порты) для выходной линии LIGHT для каждой копии AlterFRN-клиента.
3.4. Формат описания линий управления: <тип_интерфейса>:<параметр_1>[:<параметр_2>[:<режим>]], где: 3.4.1. <тип_интерфейса>: 3.4.1.1. -- COM - для последовательного порта RS232 или USB-SERIAL; 3.4.1.2. -- VOX - для голосового управления VOX; допустимо использование только для входного сигнала COS; 3.4.1.3. -- GPIO - [только Linux-ARM] для портов ввода-вывода GPIO через механизм SYSFS-GPIO. Смотри также общие комментарии к использованию GPIO. 3.4.1.4. -- FILE - для обычного файла, наличие которого будет восприниматься как несущая. 3.4.1.5. -- CM108 - [только UNIX/Linux, ревизия 6452+] - для портов ввода-вывода GPIO на звуковых картах CM108/CM109/CM119/SSS1623. Номера контактов ищите в документации на используемую в Вашей звуковой карте микросхему. Смотри также общие комментарии к использованию GPIO. 3.4.1.6. -- CTRL - для локального управления признаком несущей через командный канал командами carrieron (0.4.31) и carrieroff (0.4.31); допустимо использование только для входного сигнала COS; 3.4.1.7. -- GPIODEV - [только Linux-ARM, ревизия 7014+] для нового интерфейса GPIO-DEV для портов ввода-вывода GPIO в дополнение к объявленному устаревшим интерфейсу SYSFS-GPIO (3.4.1.3); необходимо установить пакет gpiod и библиотеку libgpiod. Смотри также общие комментарии к использованию GPIO. 3.4.2. <параметр_1>: 3.4.2.0. Символы ':' (двоеточие), ';' (точка с запятой) и '\' (обратная дробь) внутри значений полей должны маскироваться символом '\', например, имя файла 'c:\dir\filename' должно быть записано как 'c\:\\dir\\filename'. 3.4.2.1. для типа COM: имя устройства последовательного порта в соответствии с операционной системой, например, /dev/cuau0 (FreeBSD) или COM2(Windows); 3.4.2.2. для типа VOX: абсолютный уровень порога срабатывания в положительном поддиапазоне значений signed int16 (0-32767), например, 800; 3.4.2.3. для типа GPIO: номер порта-ввода SYSFS-GPIO, например, 2 для gpio2; 3.4.2.4. для типа FILE: имя файла; 3.4.2.5. для типа CM108: имя устройства типа HID в соответствии с операционной системой, например, /dev/hidraw0; 3.4.3.6. для типа CTRL: константное значение CTRL; 3.4.3.7. для типа GPIODEV: имя символьного устройства портов GPIO-DEV, например, /dev/gpiochip0; используйте утилиту gpiodetect для получения списка устройств. 3.4.3. <параметр_2>: 3.4.3.0. Символы ':' (двоеточие), ';' (точка с запятой) и '\' (обратная дробь) внутри значений полей должны маскироваться символом '\', например, имя файла 'c:\dir\filename' должно быть записано как 'c\:\\dir\\filename'. 3.4.3.1. для типа COM: имя управляющей линии DTR,DSR,CTS,RTS .... 3.4.3.3. для типа VOX: не имеет значения, может быть быть пустым или любым; 3.4.3.3. для типа GPIO: краткое имя порта ввода-вывода SYSFS-GPIO, например, gpio2 для порта номер 2; может иметь пустое значение, тогда будет использоваться форма gpioN, где N - номер порта, т.е. gpio2 для порта номер 2. 3.4.3.4. для типа CM108: имя управляющей линии CM108, например, VOLUP, VOLDN, GPIO1, GPIO2, GPIO3; 3.4.3.5. для типа GPIODEV: номер или имя управляющей линии устройства GPIO-DEV; используйте утилиту gpioinfo для получения списка линий; 3.4.4. <режим>: 3.4.4.1. N или NORMAL - действующий(активный) сигнал есть логическая 1; электрическое значение зависит от типа интерфейса; по умолчанию; 3.4.4.2. I или INVERTED - действующий(активный) сигнал есть логический 0; электрическое значение зависит от типа интерфейса;
3.5. Cписок доступных типов интерфейса и их линий(проводов) можно получить по команде radio (0.4.5).
3.7. Параметр CTCSSWakeTime - время (миллисекунды) между включением радиостанции на передачу и подачей реального звукового сигнала корреспондента от сервера; помогает заранее "разбудить" медленные декодеры CTCSS/DSC, чтобы не было совсем уж пропадания начала фразы; по умолчанию 0; 200-400 мс - вполне нормально; однако не следует делать задержку слишком длинной, т.к. этим затрудняется последующий захват канала на передачу, поскольку корреспондент по факту уже перестал говорить, канал уже свободен, но в эфире трансляция еще продолжается.
3.8. Параметр CarrierCatchTime - время (миллисекунды), которое должно пройти после появления активного сигнала на входной линии COS, чтобы несущая считалась именно полезным сигналом, а не кратковременной помехой; при использовании VOX используется как время атаки. Потерю начала полезного сигнала можно компенсировать установкой соответствующего значения в параметре InPreCapturedTime(п.2.5).
3.9. Параметр CarrierLostTime - время (миллисекунды), которое должно пройти после пропадания активного сигнала на входной линии COS, чтобы считать пропадание несущей именно фактическим окончанием полезного сигнала - для избежания реакции на кратковременное исчезание и/или затухание полезного сигнала; при использовании VOX используется как время отпускания
3.10. Примечание. При использовании портов ввода-вывода GPIO или GPIODEV на платах вроде Raspberry/Orange/Banana/Cubieboard/... для входного сигнала COS рекомендую использовать внешнюю подтяжку на питание (pullup) или на общий провод (pulldown) в зависимости от используемой схемы подключения.
3.11. Параметр STATIC - [ревизия r3342+] - постоянный выходной сигнал, активный во все время работы AlterFRN-клиента. Содержит список выходных линий интерфейса(ов), на которые нужно подать постоянные заведомо известные значения; каждый элемент списка должен соответствовать п.3.4 Формат описания линии управления; разделителем элементов списка является точка с запятой (;); может пригодится для подключения схем согласования с радиостанцией вроде такой от RA1AGY. Если вы используете несколько работающих копий AlterFRN-клиента одновременно на одной машине, то для избежания конфликтов используйте разные устройства(порты) для выходных линий из списка STATIC для каждой копии AlterFRN-клиента.
3.12. Параметр SquelchSettlingTime - [ревизия r3342+] - задержка в миллисекундах перед началом опроса входной линии COS после предыдущих операций приема и/или передачи. Позволяет, например, избежать ложного определения несущей от радиостанции или ложного срабатывания VOX-детектора от возможных паразитных наводок и/или переходных процессов; допустимые значения: 0 - 10000 мс; по умолчанию - 0 мс. Следует также учитывать, что звуковая подсистема включается не мгновенно, и время этого включения также есть дополнительная задержка перед началом опроса входной линии COS. Команда audiospeedconfig (0.4.24) позволяет измерить фактическую задержку на включение вашего звукового оборудования на ввод(захват) звука, при котором и происходит опрос входной линии COS.
3.13. Параметр CourtesyDelay - [ревизия r3342+] - время в миллисекундах между окончанием приема (пропаданием активного сигнала на входной линии COS) и началом последующей передачи (подачей активного сигнала на выходную линию PTT), в т.ч. звука отшлепа (courtesy); полезен в случае, если радиостанция не умеет быстро переходить с приема на передачу; допустимые значения: 0 - 2000 мс; по умолчанию - 0 мс.
3.14. Параметр SquelchSettlingTimeIn - не используется, начиная с r6444; было: [r3342+] - время в миллисекундах между очередным пропаданием сигнала активного сигнала на входящей линии COS и началом опроса сигнала на ней же; позволяет принудительно создавать паузы между передачами сигнала с радиостанции на сервер; допустимые значения: 0 - 10000 мс; по умолчанию - 0 мс.
3.15. Параметр DtmfTimeout - [ревизия r4592+] - максимальное время в секундах, за которое должна быть полностью введена DTMF-команда; по умолчанию - 15 сек.
3.16. Параметр DtmfCommands - [ревизия r4592+] - список DTMF-команд, разделенных точкой с запятой; в секции Audio должен быть включен декодер DTMF - параметр InDtmfEnabled. 3.16.1. Формат DTMF-команд: DTMFTEXT:ACTION[:attr1[:attr2[:attr3]]], где: 3.16.2. - DTMFTEXT - текст команды в DTMF-символах 0123456789ABCD*#; текст команды должен быть уникальным и не являться частью текста других команд; 3.16.3. - ACTION - код действия этой команды, допустимы: 3.16.3.1. -- NET - перейти в другую сеть(комнату) на этом же сервере, attr1 - имя сети(комнаты); например: *01#:NET:roomname; 3.16.3.2. -- CONN - подключиться к сети(комнате) на другом сервере, attr1 - адрес сервера, attr2 - порт сервера, attr3 - имя сети(комнаты); например: #01#:CONN:frn.server.com:10024:roomname; 3.16.3.3. -- EXEC - [только UNIX/Linux] - асинхронно выполнить внешнюю программу (скрипт), attr1 - путь к внешней программе(скрипту), параметрами командной строки которому будут передаются DTMF-текст команды и полное имя конфигурационного файла AlterFRN-клиента; например: #99#:EXEC:/my/super/script;
3.17. Параметр IdNoSoundListFileName - [ревизия r6367+] - имя файла со списком идентификаторов клиентов, входящие звуковые сообщения от которых не воспроизводить; 1 строка = 1 идентификатор.
3.18. Параметр CONNECT - [ревизия r6830+] - выходной сигнал, активный при успешном подключении к серверу. Смотри Формат описания линий управления радиостанцией (3.4). Если вы используете несколько работающих копий AlterFRN-клиента одновременно на одной машине, то для избежания конфликтов используйте разные устройства(порты) для выходной линии CONNECT для каждой копии AlterFRN-клиента.
3.19. Параметр PttEnabled - [ревизия r6990+] - разрешение на работу выходной линии PTT (3.1) в момент старта клиента; допустимые значения: No - запрещено, Yes - разрешено; по умолчанию: Yes - разрешено. Это разрешение может быть измененено командами pttenable, pptdisable, radioenable, radiodisable (0.4.32) без перезапуска клиента. Получить текущий статус можно командами pttstatus, radiostatus.
3.20. Параметр CosEnabled - [ревизия r6990+] - разрешение на работу входной линии COS (3.2) в момент старта клиента; допустимые значения: No - запрещено, Yes - разрешено; по умолчанию: Yes - разрешено. Это разрешение может быть измененено командами cosenable, cosdisable, radioenable, radiodisable (0.4.32) без перезапуска клиента. Получить текущий статус можно командами cosstatus, radiostatus (0.4.36).
### USB-RS232 пример FreeBSD (у меня работает именно так на FT232RL)
PTT=COM:/dev/cuaU0:RTS:INVERTED
COS=COM:/dev/cuaU0:SR
STATIC=COM:/dev/cuaU0:DTR:N ; COM:/dev/cuaU1:RTS:N ; COM:/dev/cuaU1:DTR:I