20 июля | 2019г. | 06:03:58

АвторТема: Вопрос - Ответ  (Прочитано 4818 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн yujuАвтор темы

  • Джедай Куратор
  • **
  • Сообщений: 1808
  • Поблагодарили: 3571
Вопрос - Ответ
« Первое сообщение: 19 июня | 2014г. | 19:19:41 »

разъясните, пожалуйста, с этим
Цитировать
***************
*** 204,219 ****

           vfree(mem);
        }
     }
!    /* TODO */
!    dvbdev->users--;
!    if(dvbdev->users==-1 && dmxdev->exit==1) {
!       fops_put(file->f_op);
!       file->f_op = NULL;
!       mutex_unlock(&dmxdev->mutex);
!       wake_up(&dvbdev->wait_queue);
!    } else
!       mutex_unlock(&dmxdev->mutex);
!

     return 0;
  }
 
--- 198,204 ----
           vfree(mem);
        }
     }
!    mutex_unlock(&dmxdev->mutex);
     return 0;
  }
 
эпизодом из патча.
оригинал:
Цитировать
         vfree(mem);
      }
   }
   /* TODO */
   dvbdev->users--;
   if (dvbdev->users == 1 && dmxdev->exit == 1) {
      fops_put(file->f_op);
      file->f_op = NULL;
      mutex_unlock(&dmxdev->mutex);
      wake_up(&dvbdev->wait_queue);
   } else
      mutex_unlock(&dmxdev->mutex);

   return 0;
}
вопрос: что значит восклицательный знак красногот и синего цвета и как должен выглядеть уже пропатченный эпизод?
спасибо)



Не копировать и не выкладывать мои посты целиком или частично на других ресурсах!

Оффлайн yujuАвтор темы

  • Джедай Куратор
  • **
  • Сообщений: 1808
  • Поблагодарили: 3571
Вопрос - Ответ
« Ответ #1: 25 февраля | 2015г. | 19:46:41 »
хочу прикрутить другой пульт
из /branding-module-master/BoxBranding/remotes/vu/rcpositions.xml
Цитировать
<img border='0' src='static/remotes/vu/rc.png' usemap='#map' >
<map name="map">
   <area shape="circle" coords="33,28,15" id="113" alt="mute" onclick="pressMenuRemote('113');">
...
</map>
вопросы:
1. каким образом получают такой файл?
2. изменив /usr/share/enigma2/rc_models/ххх/rcpositions.xml и рестартонув е2 пульт как работал так и работает. что надо сделать, чтобы
заработал другой пульт?

...
пересобрал /branding-module-master/BoxBranding/lib/.libs/boxbranding.so совсем с другими данными по пульту, а ресивер как работал с родным пультом так и работает. это нормально?


13 марта 2015 года
Судя по "ответам" - мне все понятно  :lol:

Не копировать и не выкладывать мои посты целиком или частично на других ресурсах!

Оффлайн Stuart

  • Джедай Куратор
  • **
  • Сообщений: 418
  • Поблагодарили: 1106
Вопрос - Ответ
« Ответ #2: 16 февраля | 2017г. | 18:59:23 »
Друзья, подскажите, как в Enigma2 получить SID просматриваемого канала без использования Python API? Буду разрабатывать один плагин на C++ с использованием dvbapi.

P.S. На теории вроде бы разобрался. Нужно читать файл сокета "/tmp/camd.socket", формат можно посмотреть здесь enigma2/cahandler.cpp at master · OpenPLi/enigma2 · GitHub в функции int eDVBCAService::buildCAPMT(ePtr<eDVBService> &dvbservice).

Если не прав и существуют другие более правильные методы - поправьте, пожалуйста.
Vitaliy69

Оффлайн Taapat

  • Мастер Джедай
  • ***
  • Сообщений: 3369
  • Поблагодарили: 8403
Вопрос - Ответ
« Ответ #3: 19 февраля | 2017г. | 13:19:02 »
Не вникал особо, может ошибаюсь, но по моему все фикций которые для пайтона генерирует swig публични.
То есть всё это можно использовать также как Python API и другое стотонное приложение используя нужные хедера из еныгми.
Правда это приложение всегда будет связанно с конкретной еныгмой.
  • Zgemma H7S | Zgemma H.S | Edision OS mini + | Amiko SHD-8900 Alien | VU+ Solo2 | Gi ET11000 4K
taapat.blogspot.com

Оффлайн Stuart

  • Джедай Куратор
  • **
  • Сообщений: 418
  • Поблагодарили: 1106
Вопрос - Ответ
« Ответ #4: 19 февраля | 2017г. | 22:10:23 »
У меня были мысли написать SWIG-wrapper из Python API в C++. Но банально не могу обращаться к API даже из командной строки:

Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
Из ситуации вышел, написав системный плагин на Python, стартующий с сессией PluginDescriptor.WHERE_SESSIONSTART и отправляющий данные через локальный сокет "сишному" приложению.  :dance3:

Если использовать требуемые заголовники, генерируемые SWIG'ом при сборке образа, они, боюсь, реально будут привязаны к конкретному имиджу.
Vitaliy69

Оффлайн Taapat

  • Мастер Джедай
  • ***
  • Сообщений: 3369
  • Поблагодарили: 8403
Вопрос - Ответ
« Ответ #5: 19 февраля | 2017г. | 23:15:51 »
Использовать плугин вам по моему посоветовал betacentauri на форуме опенпли перед тем как вы написали тут.
Я так понял что вас это не устраиувает. Если это не так, тогда вопросов нет.

Я имел ввиду не заголовники, генерируемые SWIG'ом, а заголовники тех функций которых потом использует Python.
Да, такое приложения будет привязано к конкретной еныгме, не это не проблема если исходники открыты.
Можно добавить рецепт bitbake в нужные имиджи, пусть потом для фида собирается автоматом.
  • Zgemma H7S | Zgemma H.S | Edision OS mini + | Amiko SHD-8900 Alien | VU+ Solo2 | Gi ET11000 4K
taapat.blogspot.com

Оффлайн Stuart

  • Джедай Куратор
  • **
  • Сообщений: 418
  • Поблагодарили: 1106
Вопрос - Ответ
« Ответ #6: 20 февраля | 2017г. | 09:20:53 »
К сожалению, больше выхода не оставалось, кроме как использовать нативное Python API. Плагин должен быть универсальным и работать на разных имиджах, так что по-другому, видимо, и не сделать.

Самое печальное, что будущий функционал подразумевает вывод для пользователей интерактивного опросника, формируемым удалённо. Опять придётся прослушивать в "питоновском" плагине на сокете нужную команду от "сишного" бинарника и после неё выводить вопрос. Можно бы было вывести GUI на экран через frame buffer (а кстати можно?), но тогда не понятно, как перехватить нажатие клавиш на пульте юзером.

В общем, костыль выходит ещё тот. Но 90% кода уже написано на плюсах (использовалось на Fortis'ах) и нужно адаптировать его на Enigma2, так что переписывать на "питоне" всё - не вариант.

Меня больше всего удивляет, почему разработчики Enigma2 и OpenPLi, в частности, не хотят вывести в SDK C/C++ API.
Vitaliy69

Оффлайн Taapat

  • Мастер Джедай
  • ***
  • Сообщений: 3369
  • Поблагодарили: 8403
Вопрос - Ответ
« Ответ #7: 20 февраля | 2017г. | 09:51:34 »
По моему это основа еныгми. GIU вес на пайтоне чтобы легко менять или дополнять, а на C++ для GIU только то, что надо делать быстро.
  • Zgemma H7S | Zgemma H.S | Edision OS mini + | Amiko SHD-8900 Alien | VU+ Solo2 | Gi ET11000 4K
taapat.blogspot.com

Оффлайн Stuart

  • Джедай Куратор
  • **
  • Сообщений: 418
  • Поблагодарили: 1106
Вопрос - Ответ
« Ответ #8: 21 февраля | 2017г. | 17:13:09 »
Последний вопрос. Через Python API получить network ID можно? Не нашёл такого параметра, возможно, плохо искал. Original network ID иногда может оказаться не равным nid.
Vitaliy69

Теги:
 

Похожие темы

  Тема / Автор Ответов Последний ответ
46 Ответов
31502 Просмотров
Последний ответ 05 июня | 2019г. | 21:22:43
от AtElEr
4 Ответов
2292 Просмотров
Последний ответ 10 февраля | 2015г. | 07:11:29
от vova560210
16 Ответов
6425 Просмотров
Последний ответ 12 февраля | 2019г. | 09:23:58
от hecha71
6 Ответов
940 Просмотров
Последний ответ 19 февраля | 2019г. | 20:02:24
от moskvish
1 Ответов
717 Просмотров
Последний ответ 23 мая | 2019г. | 07:45:08
от WovantKL



X

Добро пожаловать!

Мы заметили, что у Вас установлено расширение AdBlock или ему подобное. Пожалуйста добавьте наш Клуб в белый список, внесите этим посильную лепту в его развитие. Спасибо!