The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..., opennews (??), 23-Май-15, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


36. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +/
Сообщение от Аноним (-), 23-Май-15, 17:13 
> Без D-BUS-то ну совершенно же никак этого невозможно было сделать.

Так вон датчики в sysfs висят. Или ты можешь напрямую по I2C с ними коммуницировать.

...только это нифуя не удобно для апликух сталкивающихся с неопределенным набором датчиков на неизвестной системе, но желающих допустим экран вертеть по показаниям акселя. Если девайс держат вертикально - то и экран в режим портрета. А если горизонтально - в режим ландшафта. А так то да, можно самому по I2C из акселя эти данные вытягивать. Почитав даташит на мег и узнав как работать с вот этим конкретным чипом. А вон тот соседний чип - лыко, мочало, начинай сначала.

Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

41. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +/
Сообщение от Mihail Zenkov (ok), 23-Май-15, 18:24 
> ...только это нифуя не удобно для апликух сталкивающихся с неопределенным набором датчиков
> на неизвестной системе, но желающих допустим экран вертеть по показаниям акселя.

И как это решит iio-sensors?  Как он узнает какой датчик - акселерометр? Почему тоже самое нельзя сделать в sysfs (создать отдельную директорию где будут только акселерометры)?

Ответить | Правка | Наверх | Cообщить модератору

49. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +/
Сообщение от Crazy Alex (ok), 23-Май-15, 19:19 
То есть вы предлагаете запихнуть это в ядро, хотя без малейших потерь всё можно сделать в юзерспейсе - в том числе обновлять базу устройств независимо от ядра.
Ответить | Правка | Наверх | Cообщить модератору

56. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +/
Сообщение от Mihail Zenkov (ok), 23-Май-15, 21:43 
Так драйвера уже в ядре. И есть уже /sys/class - добавить туда новые категории не проблема.
Ответить | Правка | Наверх | Cообщить модератору

57. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +/
Сообщение от Crazy Alex (ok), 23-Май-15, 21:45 
Ну так вы уж решите - то ли "как он узнает, какой датчик - акселерометр", то ли всё уже есть.
Ответить | Правка | Наверх | Cообщить модератору

60. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +/
Сообщение от Mihail Zenkov (ok), 23-Май-15, 22:15 
Я предлагаю, что бы драйвер регистрировал себя в /sys/class.
Если этого не сделать, то "как он узнает, какой датчик - акселерометр"? Будет тянуть отдельную базу, которую нужно будет обновлять вместе с ядром и не будет возможности узнать класс устройства без iio-*/systemd/d-bus?
Ответить | Правка | Наверх | Cообщить модератору

70. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +/
Сообщение от Crazy Alex (ok), 23-Май-15, 23:32 
Ну пусть регистрирует. Удобным для пользовательских приложений sysfs от этого не станет, и гибкую конфигурируемую логику не прибретёт. А так как скоростными такие штуки не бывают, лучшее, что можно для них сделать - юзерспейсный демон, который можно легко модиифцировать, отлаживать, мониторить, и который будет отдавать данные в удобном виде по стандартному интерфейсу, всё равно используемому приложениями для вагона других задач.
Ответить | Правка | Наверх | Cообщить модератору

73. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +1 +/
Сообщение от Mihail Zenkov (ok), 24-Май-15, 00:18 
> Удобным для пользовательских приложений sysfs от этого не станет

Если поверху sysfs поставить d-bus, то что это даст? Тем более, что драйвера редко работают в режиме событий (а если и работают - есть inotify). Чем d-bus более удобен, чем чтение/запись файлов при работе с устройствами?

> гибкую конфигурируемую логику не прибретёт

А должен? Я думал, что для это задача приложения.

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

Так sysfs это уже стандартный интерфейс для работы с железом. Зачем конкретно нужен этот демон?

Ответить | Правка | Наверх | Cообщить модератору

77. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +/
Сообщение от Crazy Alex (ok), 24-Май-15, 01:47 
Удобен? Да всем. От того, что это таки события, а поллинг мы сваливаем на демон, до того, что он с вероятностью и так есть, и воткнуть в event loop ещё один обработчик - не проблема. И, разумеется, тем, что всё железоспецифичное мы оставляем деомну, а приложение получает логические события. Разница - как между сканкодами и кодами клавиш после всех обработок - повтора, раскладки, одиификаторов, переопределений и т.д.

И нет, конфигурация - далеко не всегда дело приложения. А лучше - чтобы вообще им не была. Канфигурация - дело DE, фреймворка, рабочей среды - в общем, всего того, что объединяет разрозненные куски кода, умеющие делать каждый своё, в целое, рассчитанные под конкретные задачи и условия пользователя. То самое tools, not policy. К примеру, приложение получает сообщение "нажали на кнопку" - а какой логикой и где был подавлен возможный дребег - это не его дело. А вот где-то в конфигурации может быть прописано, то ли реагировать на малейшее прикосновение, то ли на уверенное нажатие в секунду.

А демон - нужен, именно потому что sysfs - это интерфейс для работы с железом. А приложению на железо начхать - оно работает с событиями, разделёнными на какие-то классы, имеющими какие-то свойства и т.п. И если смотреть не с точки зрения построения системы, а с точки зрения решения задач - нет никакого великого смысла держать железные события как что-то особенное, тем более - с отдельным интерфейсом.

Ответить | Правка | Наверх | Cообщить модератору

78. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +1 +/
Сообщение от Mihail Zenkov (ok), 24-Май-15, 02:25 
> Удобен? Да всем. От того, что это таки события, а поллинг мы
> сваливаем на демон,

Кто и как будет определять, что и как часто нужно опрашивать?

> И, разумеется, тем, что всё железоспецифичное мы оставляем деомну,

Несогласен - всё железоспецифичное - драйверу.

> а
> приложение получает логические события. Разница - как между сканкодами и кодами
> клавиш после всех обработок - повтора, раскладки, одиификаторов, переопределений и т.д.

Для этого есть драйвера или библиотеки над ними.

> И нет, конфигурация - далеко не всегда дело приложения. А лучше -
> чтобы вообще им не была. Канфигурация - дело DE, фреймворка, рабочей
> среды - в общем, всего того, что объединяет разрозненные куски кода,
> умеющие делать каждый своё, в целое, рассчитанные под конкретные задачи и
> условия пользователя. То самое tools, not policy. К примеру, приложение получает
> сообщение "нажали на кнопку" - а какой логикой и где был
> подавлен возможный дребег - это не его дело. А вот где-то
> в конфигурации может быть прописано, то ли реагировать на малейшее прикосновение,
> то ли на уверенное нажатие в секунду.

Это должно определяться в драйвере и управляться через sysfs. Для удобства пользователя можно поверху запустить gui/cli.

> А демон - нужен, именно потому что sysfs - это интерфейс для
> работы с железом. А приложению на железо начхать - оно работает
> с событиями, разделёнными на какие-то классы, имеющими какие-то свойства и т.п.

Ну получите вы те же самые свойства, но в виде сообщений - все равно их придется унифицировать и обрабатывать. Не лучше ли унифицировать все на уровне sysfs?

> И если смотреть не с точки зрения построения системы, а с
> точки зрения решения задач - нет никакого великого смысла держать железные
> события как что-то особенное, тем более - с отдельным интерфейсом.

В том и проблема, что в большинстве своем это не события. Если все перевести в события - будет большой overhead. Да и в любом случае будет overhead. Вы же не согласитесь с обычной файловой системой работать через d-bus? Так сказать в целях унификации интерфейсов ;)

Ответить | Правка | Наверх | Cообщить модератору

104. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +/
Сообщение от Аноним (-), 25-Май-15, 03:37 
> Кто и как будет определять, что и как часто нужно опрашивать?

По нормальному - сделать параметром который можно заказать. Если клиент X хочет 1 раз в секунду, а клиент Y хочет 2 раза в секунду, читаем 2 раза в секунду, но одному отдаем все отсчеты а второму через один. А если они это будут делать независимо, в хучшем случае они будут дергать датчик не 2 а 3 раза в секунду.

> Несогласен - всё железоспецифичное - драйверу.

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

Вот вижу я аксель. А вот я у меня игрушечный вертолетик которым я порулить с смарта хочу, используя этот аксель. Как мне в программе понять - годятся ли хоть в первом приближении параметры акселя? Это таки специфика железки и драйвера, но их было бы неплохо узнать. В плане диапазонов значений а также скорости и латенси получения отсчетов.

> все на уровне sysfs?

Делать из ФС шину - ну совсем не просто. Как максимум получится кривой франкенштейн. Оно годится как некая low level подложка, но для обычных апликух с ним довольно много мороки, особенно когда вопрос в том "а какие градусники есть и что они показывают?".

> любом случае будет overhead. Вы же не согласитесь с обычной файловой
> системой работать через d-bus? Так сказать в целях унификации интерфейсов ;)

Мне кажется переклин на тотальной унификации интрфейсов - ведет к контрпродуктивным запрыгам по граблям, когда гвозди начинают завинчивать отверткой. В целях унификации.

Ответить | Правка | Наверх | Cообщить модератору

85. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +/
Сообщение от Аноним (-), 24-Май-15, 06:51 
> Если поверху sysfs поставить d-bus, то что это даст?

Возможность получения интересующей информации без двух десятков служебных микро-операций.

> Чем d-bus более удобен, чем чтение/запись файлов при работе с устройствами?

Тем что файловые операции и pub/sub принципиально разные вещи.

Вот например акселерометр. А вот пачка программ, которым нехило бы знать - портретный режим или ландшафтный стоит сейчас отображать.

Вы как, предлагаете всем программам переться читать аксель самим, обрабатывать его данные и на этом основании делать вывод? Или все-таки пусть один демон прожует это, а потом кому надо - данные с акселя разошлет, а кому попроще - просто кинет мсг вида "ориентация экрана изменилась".

> А должен? Я думал, что для это задача приложения.

Ага, вот ща мы будем учить читалку пдфников жевать RAW отсчеты из акселерометра чтобы понять в какую сторону рендерить текст. Самому то не смешно?!

> Так sysfs это уже стандартный интерфейс для работы с железом. Зачем конкретно
> нужен этот демон?

Затем чтобы объединять железо и приложения более высокоуровнвыми интерфейсами. Не комильфо читалке пдфников RAW отсчеты с акселя парсить!

Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

100. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +/
Сообщение от Mihail Zenkov (ok), 25-Май-15, 01:28 
>> Если поверху sysfs поставить d-bus, то что это даст?
> Возможность получения интересующей информации без двух десятков служебных микро-операций.

Очень сомневаюсь. Приведите пример одного и второго решения.

> Вот например акселерометр. А вот пачка программ, которым нехило бы знать -
> портретный режим или ландшафтный стоит сейчас отображать.
> Вы как, предлагаете всем программам переться читать аксель самим, обрабатывать его данные
> и на этом основании делать вывод? Или все-таки пусть один демон
> прожует это, а потом кому надо - данные с акселя разошлет,
> а кому попроще - просто кинет мсг вида "ориентация экрана изменилась".

Неправильно поставлена задача. Этим программам не нужен акселерометр. Более того им не нужно знать какой сейчас режим (портретный/ландшафтный). Все что им нужно - уведомление о смене разрешения окна/экрана. За это должен отвечать xorg/wayland/mir/etc. Они же должны повернуть отдаваемое приложением изображение на нужное количество градусов.

Ответить | Правка | Наверх | Cообщить модератору

102. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +/
Сообщение от Аноним (-), 25-Май-15, 03:16 
> Очень сомневаюсь. Приведите пример одного и второго решения.

Как бы вам сказать? Я пробовал сделать обход "градусников" через sysfs. И таки подзадолбался. Если гномеры попробуют это сделать менее геморно - я только за. В sysfs очень дубовый интерфейс, он сгодится если я знаю что "хочу вот именно этот датчик". А вот generic обход в произвольной системе, с пониманием что это за датчик и прочее...

> уведомление о смене разрешения окна/экрана. За это должен отвечать xorg/wayland/mir/etc.
> Они же должны повернуть отдаваемое приложением изображение на нужное количество

Ну во первых, уведомление о смене разрешения один фиг должно ехать через нечто bus-образное.

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

В третьих, в гробу я видал чтобы xorg, wayland и прочие применяли решение о том когда крутить экран. Это должен делать некто иной. Работающий с акселем. Или чем там еще. И имеющий возможность высказать свое мнение о всем этом неопределенной группе подписчиков которых это может интерсовать. Ну то-есть xorg или wayland вполне могут быть одним из клиентов события "ориентация экрана изменилась", почему бы и нет. И даже что-то сделать по этому поводу. Но вот отнюдь не их дело читать RAW показания акселерометра и принимать решения об ориентации. А вот это решение - иксам, вялендам и проч. тоже надо как-то отсигналить. Ну вот по логике вещей получается что логичнее всего пхнуть сообщение в шину, а все заинтересованные узнают что экран крутанулся.

Ответить | Правка | Наверх | Cообщить модератору

117. "Разработчики GNOME представили iio-sensor-proxy 1.0 для упро..."  +/
Сообщение от Mihail Zenkov (ok), 26-Май-15, 00:46 
>> уведомление о смене разрешения окна/экрана. За это должен отвечать xorg/wayland/mir/etc.
>> Они же должны повернуть отдаваемое приложением изображение на нужное количество
> Ну во первых, уведомление о смене разрешения один фиг должно ехать через
> нечто bus-образное.

Там уже есть своя система событий.

> Во вторых, "просто повернуть изображение" было бы слишком просто.

Не нужно усложнять, тогда все и будет просто.

>Де факто многие
> программы должны как минимум еще сделать ре-рендер документа под новый формат
> сторон, чтобы это не смотрелось как кусок блeвотины, явно понимая что
> они рендерят под другое соотношение сторон экрана.

Я же сказал - "Все что им нужно - уведомление о смене разрешения окна/экрана."
Было 800x600, стало 600x800. Программа просто заново разместит виджеты и подгонит их размер.

> В третьих, в гробу я видал чтобы xorg, wayland и прочие применяли
> решение о том когда крутить экран. Это должен делать некто иной.

Этим занимается xorg (конкретно xrandr) - только он может повернуть все окна и приложениям не придется думать под каким углом рисовать виджеты.

> Работающий с акселем. Или чем там еще. И имеющий возможность высказать
> свое мнение о всем этом неопределенной группе подписчиков которых это может
> интерсовать.

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

> Ну то-есть xorg или wayland вполне могут быть одним из
> клиентов события "ориентация экрана изменилась", почему бы и нет. И даже
> что-то сделать по этому поводу. Но вот отнюдь не их дело
> читать RAW показания акселерометра и принимать решения об ориентации. А вот
> это решение - иксам, вялендам и проч. тоже надо как-то отсигналить.
> Ну вот по логике вещей получается что логичнее всего пхнуть сообщение
> в шину, а все заинтересованные узнают что экран крутанулся.

Зачем обычному приложению заниматься поворотом виджетов самому, если эту работу может выполнить графическая подсистема?

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру