LINUX.ORG.RU

i2c драйвер для тачскрина

 , ,


0

1

Люди добрые, помогите советом, как написать драйвер для тачскрина, работающего по i2c на си, не имея при этом самого тачскрина под рукой. Только даташит. Я драйвера никогда не писал для линукса, это мое боевое крещение. Функции для анализа координат из байтов только смог написать, а дальше никак. Подскажите пожалуйста.

PS Если нужен даташит могу выложить.


Ответ на: комментарий от anonymous

Конкретно, как работать с i2c в режиме master-slave. Непонятно, нужно ли писать вручную общение с устройством или это есть в ядре. Смотрел пример драйвера отсюда. Но что-то не понятно, где там собственно общение с устройством.

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

Ты об этом?

i2c_transfer
i2c_master_recv

Это сюда: https://www.kernel.org/doc/htmldocs/device-drivers/i2c.html

wacom_i2c_probe вызывается, когда девайс втыкается

wacom_i2c_remove вызывается, когда девайс вынимается

wacom_i2c_irq вызывается, когда от девайса приходит интеррапт, там в твоём драйвере походу основное общение

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

Да, основное, это общение.

Можно ли как-то виртуализировать устройство, такое как тачскрин? Или как на них драйвера пишутся?

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

Можно ли как-то виртуализировать устройство, такое как тачскрин? Или как на них драйвера пишутся?

Я с тачскинами дела не имел, писал драйвер под один сенсор. Писал по даташиту, тестировал в основном на самом сенсоре.

Ещё пробовал такую штуку https://www.kernel.org/doc/Documentation/i2c/i2c-stub, этот модуль ядра добавляет тебе виртуальную i2c-шину с одним/несколькими виртуальными девайсами на ней. Можешь попробовать.

anonymous
()

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

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Нет в тебе духа здорового авантюризма.

anonymous
()
Ответ на: комментарий от I-Love-Microsoft

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

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

Там точно i2c. А то вижу какие-то SMBus команды.

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

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

Пиши по даташиту, очевидно же. Появится девайс - протестируешь. Или займись другими делами.

Там точно i2c. А то вижу какие-то SMBus команды.

В ядро изначально добавили smbus, потом из него сделали i2c, ибо они одинаковые чуть менее чем полностью.

anonymous
()

В Essential Linux Device Drivers что-то бло про I2C

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