Plugin rotor - управление мотоподвесом

  • А как если просто подавать команды на уже настроеннную антенну? Здесь лежат конфиги DiSEqC 1.2
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу. попробуй может получиться!

  • Цитата

    Со слов пользователя andrsen
    Вообщем отключил я этот плагин. По моему мнению он сыроват. Сейчас ищу утилиту для посылки RAW команд в мотор (тех что мы прописываем в квадратных скобочках конфига). Так для меня будет более понятно, да и под контролем все будет. Может знаешь такую утилитку?


    Плагин не сыроват , а просто с переходом на UTF-8 ,если я правильно понял, у него перестал нормально отображатся сигнал,
    он просто нужен только для настройки тарелки или если используется функция GOTO-XX , а если просто поворачивать тарелку по позициям , то вдр может это делать сам.
    И нельзя одновременно использовать плагин ротор и дисек в вдр.

  • Вероятно проблема была в том, что я дисек активировал в конфиге и плагин ротор загрузил (вместе нельзя!!!). Вот он и стал у меня бошку крутить куда попало. Я уже через ProgDVB позиции спутников записал в мотор, поэтому плагин мне уже не нужен, пользуюсь дисеком. Спасибо за ответы.


  • я не совсем понял - зачем накладывать патч vdr-1.3.45-Rotor.diff , если установлен vdr 1.4.0 ?
    насколько я понял данный патч только для версии 1.3.45 и если
    /PLUGINS/src/rotor-0.1.4/patches# dir
    Text2Skin.diff vdr-1.3.31-Rotor.diff vdr-1.3.45-Rotor.diff
    vdr-1.3.17-Source-dependant-NewChannels-Insertation.diff vdr-1.3.37-Rotor.diff
    vdr-1.3.22-Source-dependant-NewChannels-Insertation.diff vdr-1.3.40-rotor.diff


    то для текущей версии vdr, которая явно выше 1.3.45 данные патчи не нужны.
    Правильно ли я мыслю ?
    Вот другое дело - патч - Text2Skin.diff - нужно ли его накладывать ? про версию text2skin там ничего не говорится

  • неа...неправильно ты понял
    патчить надо в любом случае
    для 1.3.45 подходит для версий > 1.3.45
    если не подходит то надо самому смотреть патч и вручную его накладывать

  • ротор плагин снова в бою )))


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    For vdr-1.5.x:
    Rotor-0.1.4-vdr1.5
    там единственный патч для vdr 1.5.5 - нормалдьно наложился на мою 1.5.2
    собрался вдр и плагин и все работает )))

  • использую версию ротора 0.1.4


    заметил вот такой глюк - когда пытаюсь перемещать тарель вручную, с пульта (кнопками влево или вправо, стоп-ОК) на запад или восток (в обоих режимах - пошагово или непрерывно), то в определенный момент времени тарелка, после нескольких шагов перемещений вдруг возвращается в исходное положение, откуда начал перемещение. Я так понимаю, она возвращается на ту позицию, на которой вещал последний просмотренный канал. Можно ли побороть вот такой несанкционированный разворот мотора ?
    Т.е. если я вошел в ручной режим управления мотором, то только я с пульта и мог бы перемещать мотор.


    мой diseqs.conf


    S19.2E 11700 V 9750 t v W15 [E0 31 6B 09] W11 [E0 10 38 F0] W15 t
    S19.2E 99999 V 10600 t v W15 [E0 31 6B 09] W11 [E0 10 38 F1] W15 T
    S19.2E 11700 H 9750 t v W15 [E0 31 6B 09] W11 [E0 10 38 F2] W15 t V
    S19.2E 99999 H 10600 t v W15 [E0 31 6B 09] W11 [E0 10 38 F3] W15 T V
    #HotBird
    S13.0E 11700 V 9750 t v W15 [E0 31 6B 03] W11 [E0 10 38 F0] W15 t
    S13.0E 99999 V 10600 t v W15 [E0 31 6B 03] W11 [E0 10 38 F1] W15 T
    S13.0E 11700 H 9750 t v W15 [E0 31 6B 03] W11 [E0 10 38 F2] W15 t V
    S13.0E 99999 H 10600 t v W15 [E0 31 6B 03] W11 [E0 10 38 F3] W15 T V

  • Goga777
    это фича вдр которая в данном случае работает как бага
    в вдр сделано так - если пропадает сигнал он начинает его искать - начинает
    настраиваться на канал - меняет частоту на ближайшие частоты и начинает и
    десик команды слать - когда ты съезжаешь с позиции вдр считает что сигнал
    канала пропал и надо его поискать
    введи в ротор плагин частоту и скорость того канала на другом спутнике-
    но этой частоты не должно быть на текущем спутнике - а то он ее здесь
    захватит

  • дело в том, что у меня "съехал" спутник - съехали позиции. При таком поведении вдр, как ты описал, я не понимаю как мне вручную подстроить и запомнить позиции. :(


    и снова к старому моему вопросу - как в логах можно подсмотреть, то что вытворяет вдр , посылая дайсек команды, переключая частоты ? в логах пока ничего не вижу.

  • двигаешь мотор и как только появляется сигнал сразу жмеш красную кнопку и "ок", дальше подстраеваешь более точно и опять быстро жмеш красную кнопку и "ок",и так пока не поймаеш максимальный сигнал иначе уезжает на старую настройку, проще конечно другим рессивером настроить а потом просто прописать позиции в конфиге

  • логи, логи великое дело :) thanks to mitroha за идею логирования дайсек команд ротора и вдр.


    после того, как начал видеть логи дайсек команд, отправляемых на дайсек и на мотор - все стало ясно.


    Вдр периодически отправляет на мотор дайсек команды, прописанные в diseqc.conf , и если там содержится команда перемещения мотора на тот или иной спутник, то соответственно она и выполняется. Поэтому мотор и возвращается на исходную позицию. Не знаю, глюк это или фича (имхо - глюк), но лечится просто - в diseqc.conf исключается команда на перемещение мотора
    E0 31 6B для всех позиций. В режиме Goto position rotor плагин сам сгенерирует эту команду.


    вообще говоря, после анализа логов я пришел к выводу, что этот плагин имеет достаточно много глюков - я готов отписать автору, но надо бы перепровериться еще раз. Кто готов поэкспериментировать со мной и с логами на своем вдр с тарелкой и этим плагином версии 0.1.4 ?


    чтоб не забылось.


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    E0 31 6B 00 это комманда перемещения мотора в позицию нуля.
    Halt Motor E0 30 60 это не что иное как остановка мотора, так написано в официальной спецификации.
    Комманда пересчета позиций выглядит следующим образом (Re-) Calculate Positions E0 30 6F 00 {00 00} в скобках не обязательные параметры.


    Вот краткое описание действия этой команды Code:
    Command byte ‘6F’ with various data parameters can give the user/installer
    various types of “short-cut” to setting up or aligning the system. The basic
    command has the (first) parameter byte set to zero, i.e. command ‘6F 00’
    which can initiate any appropriate function, defined by the manufacturer of
    the Positioner Motor Unit. In general, the user/installer will manually drive
    the antenna to receive a strong signal from a suitable satellite and then the
    command ‘6F 00 {00 00}’ will cause the embedded software in the Positioner
    Motor Unit to calculate the (approximate) positions of all the other satellites
    in its memory (ROM) relative to the known position. The user/installer may
    then need to optimise each position in turn with reference to the received
    signal strength.



    Command Byte (hex) Команда Описание команды
    60 Halt Остановка движения актюатора
    63 Limits Off Отмена пределов актюатора
    66 Limit E Установить восточный предел актюатора
    67 Limit W Установить западный предел актюатора
    68 Drive East Движение на восток
    69 Drive West Движение на запад
    6A Store nn Запомнить позицию nn и разрешить пределы актюатора
    6B Goto nn Переход на позицию nn
    6F Set Posns. Пересчитать позиции



    Команда DiSEqC содержит несколько байтов данных. Согласно протокола, команда состоит из следующих байтов (каждый из которых оканчивается битом контроля четности):
    1 - 'Framing byte' - определяет источник команды (master или slave), а также, требуется ли ответ (replay) для источника (например, "Е0h" - от master, ответ не требуется);
    2 - 'Address byte' - указывает, какому из устройств, находящихся на шине, предназначена команда (например, "31h" - для позиционера);
    3 - 'Command byte' - определяет действие, которое должно выполнить адресованное устройство (например, "6Ah" - сохранить позицию);
    4 и все последующие байты - 'Data bytes' - содержат данные, относящиеся к команде (например, команда "E0 31 6A 02" означает сохранить текущую позицию под номером 2 в памяти позиционера);
    Байты передаются один за другим, при этом, старший бит передается первым (Most Significant Bit first).
    Подробнее протокол описан в Bus Functional Specification.


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

  • я не успел отписать, что по части логов я остановился на варианте от miroha
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    строчка
    isyslog("Rotor-command %X %X %X %X %X sent",diseqc_cmd.msg[0],diseqc_cmd.msg[1],diseqc_cmd.msg[2],diseqc_cmd.msg[3],diseqc_cmd.msg[4]);/*MIROHA*/


    помогла показать также и логи от ротор-плагина.

  • Цитата

    Со слов пользователя Goga777
    добро.


    кстати, а в прямом эфире (чат, irc,...) ведроводы встречаются где ?


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

  • free-x
    Обновился, логами дайзека и не пахнет :rolleyes:


    Goga777
    Сегодня утром вспомнил, ты ведь пытаешься настроить мотоподвес + дополнительный дайзик? Насколько я знаю, в таком варианте всё должно проходить через diseqs.conf , а плагин rotor вообще нужно отрубать, иначе они будут мешать друг другу.

  • Да, у меня 2 головы - С и Ку, дайсек плюс мотор.


    я думаю, можно сделать, чтобы и через diseqc.conf все проходило, но и с ротором можно это все совместить. Логи в этом меня убедили.


    ты и сам можешь добавить строчку от miroha , а потом скомпилировать снова - у меня логи видны


    Sep 8 10:59:41 arvdr vdr: [3835] Sent DISEQC command: t v W15 [E0 10 38 F1] W15 T
    Sep 8 10:59:41 arvdr vdr: [3835] Rotor-command E0 31 6B 3 0 sent
    Sep 8 10:59:41 arvdr vdr: [3835] Rotor-command E0 31 6B 3 0 sent
    Sep 8 10:59:50 arvdr vdr: [3835] Sent DISEQC command: t v W15 [E0 10 38 F1] W15 T
    Sep 8 10:59:50 arvdr vdr: [3835] Rotor-command E0 31 6B 3 0 sent
    Sep 8 10:59:50 arvdr vdr: [3835] Rotor-command E0 31 6B 3 0 sent
    Sep 8 10:59:59 arvdr vdr: [3835] frontend 0 timed out while tuning to channel 1, tp 212597
    Sep 8 10:59:59 arvdr vdr: [3835] Sent DISEQC command: t v W15 [E0 10 38 F1] W15 T
    Sep 8 10:59:59 arvdr vdr: [3835] Rotor-command E0 31 6B 3 0 sent
    Sep 8 10:59:59 arvdr vdr: [3835] Rotor-command E0 31 6B 3 0 sent



    в приведенном примере сам ротор шлет команду мотору на перемещение в позицию №3 (13Е), при этом в diseqc.conf эту команду E0 31 6B 3 я убрал.


    еще удобно сделать вывод логов в отдельное окно терминала на компе и наблюдать за ними в реальном режиме времени.