LINUX.ORG.RU

Модификация драйвера ардуинки, добавление псевдо-сенсора

 , , , ,


0

2

Доброго времени суток.

Есть arduino uno, есть дебиан 7 с ядром 3.2.0-4-686-pae, есть нормально компилирующийся и рабочий исходник драйвера к этой самой ардуинке.

Подключаю драйвер, ардуинка регается в /dev/ttyUSB0. Пока что она запрограммирована на передачу простых цифорок в последовательный порт. Следовательно, используя read(), могу читать эти самые цифорки на компьютере из /dev/ttyUSB0.

Задача состоит в том, чтобы написать модуль ядра, который будет не просто драйвером, как вышеуказанный исходник(регает устройство в системе, обслуживает функции read, write, и так далее), а чтобы каким-либо образом этот модуль мог сам экспортировать цифорки с ком-порта в файл. Либо, что приоритетней - экспортировать значения в lm-sensors(этакий псевдо-датчик на ком-порте). Про эти вещи долго-долго гуглил, и ничего по теме вообще не нашел...

Идея пока что одна - модифицировать/дописать уже имеющийся драйвер к ардуинке. Но на это у меня знаний и не хватает. Направьте на путь истинный, пожалуйста. Мб почитать что-нибудь по такой теме кинете, или пример какой-нибудь похожий:)



Последнее исправление: kekyc (всего исправлений: 2)

Если есть возможность что-то не тащить в ядро — лучше не тащить.

Почему нельзя написать простой скрипт, который будет вычитывать эти данные из /dev/ttyUSB0?

Deleted
()
Ответ на: комментарий от Deleted

Можно, конечно. И с самого начала я так и сделал. Только вот я такую задачку в институте получил(каюсь, всего лишь первокурсник), что-то типа практической работы. И условие этой задачи не очень поддается обсуждению..

Поэтому и решился сюда написать, ибо я вообще не понимаю, как такое можно реализовать. Уже разобрал по полочкам исходник драйвера, вроде бы даже понял принцип его работы. А дальше - никак. Даже гугл и третье издание Linux Device Drivers не очень помогло..

kekyc
() автор топика
Ответ на: комментарий от SystemD-hater

Благодарствую! Буду пробовать.

kekyc
() автор топика

Так-с.Что-то с sysfs все стало сложнее...) Не могли бы вы немного поконкретнее объяснить, как и что?

kekyc
() автор топика
Ответ на: комментарий от joy4eg

Сложновато пока, ничего не получается:( Мне бы пример увидеть, или хотя бы план какой-то.

kekyc
() автор топика
Ответ на: комментарий от kekyc

И условие этой задачи не очень поддается обсуждению.

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

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от t184256

Извиняйте за оффтоп.

пусть либо берут за ночь написанное решение, или дают ТЗ

Скажем так, я не то, что одну ночь, я чуть меньше недели в это въехать уже не могу. Раньше никогда с такими вещами дела не имел, а тут еще и задание такое специфическое..

Иди и скажи им твердо, что они упоролись

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

Ну а если по делу? Нет никаких идей, как можно сабж провернуть?

jollheef как раз посоветовал добавить объект в sysfs, только с этим я не могу разобраться. Мб кто-нибудь еще в курсе, как с этим работать?

kekyc
() автор топика
Ответ на: комментарий от kekyc

jollheef как раз посоветовал добавить объект в sysfs, только с этим я не могу разобраться. Мб кто-нибудь еще в курсе, как с этим работать?

Я в основном просто grep'аю по исходникам ядра в поисках примера использования какой-либо функции.

А так — можешь почитать https://www.kernel.org/pub/linux/kernel/people/mochel/doc/papers/ols-2005/moc.... Но я бы все-таки советовал порыться в исходниках драйверов твоей (это важно) версии ядра.

Deleted
()
Ответ на: комментарий от kekyc

я чуть меньше недели в это въехать уже не могу.

непрада, можешь

Следовательно, используя read(), могу читать эти самые цифорки на компьютере из /dev/ttyUSB0

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

Да. Говоришь, что предложенный метод реализации либо недопонят, либо порочен. Требуешь ТЗ, обосновывающее выбор этого метода.

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

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от Deleted

Спасибо, буду читать. А что ты говорил насчет конфига lm-sensors? Я вот гуглю, и ни про какие «кастомные» датчики там и ни слова.. Только те, что официально поддерживаются.

kekyc
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.