Pull to refresh
80
0

User

Send message

Разработка драйвера PCI устройства под Linux

Reading time19 min
Views53K

В данной статье я рассматриваю процесс написания простого драйвера PCI устройства под OC Linux. Будет кратко изучено устройство программной модели PCI, написание собственно драйвера, тестовой пользовательской программы и запуск всей этой системы.

В качестве подопытного выступит интерфейс датчиков перемещения ЛИР940/941. Это устройство, отечественного производства, обеспечивает подключение до 4 энкодеров с помощью последовательного протокола SSI поверх физического интерфейса RS-422.
Total votes 101: ↑101 and ↓0+101
Comments33

Датчик облачности для обсерватории

Reading time15 min
Views9.5K

На мой взгляд одной из важнейших сопутствующих задач наземной наблюдательной астрономии является контроль астроклимата.

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

(внимание, под катом достаточно много изображений!)
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments21

Работа с USB устройствами в программе на C в MacOS X

Reading time11 min
Views9.4K
Приветствую уважаемых читателей.
В этой небольшой статье я бы хотел рассмотреть вопрос взаимодействия с оборудованием (в данном случае с USB устройствами) в операционной системе MacOS X.
Будет рассмотрены очень интересный и полезный фреймворк IOKit, способ получения уведомлений о добавлении/удалении обордования, а так же получения полной информации об устройствах. Конечно данный материал не претендует на какую либо уникальность, т.к. каждый может разобраться с этими вопросами самостоятельно, изучив документацию Apple, а так же покурив разнообразные исходники на opensource.apple.com
Моя статья — попытка восполнить пробелл в русскоязычном материале подобного рода и описать некоторые грабли, с которыми могут столкнуться новичики.
Все кто заинтересовался — добро пожаловать под кат.
Читать дальше →
Total votes 38: ↑31 and ↓7+24
Comments9

HTC Hero — восстановление нормальной работоспособности сенсорного стекла

Reading time3 min
Views118K
Приветствую уважаемых читателей. В этой статье я хотел бы рассмотреть проблему, которая довольно часто (если верить интернет ресурсам) возникает с аппаратами HTC Hero. Суть проблемы заключается в частичном или же полном отказе нижней части сенсорного стекла. Эта проблема не обошла стороной и мой аппарат. Родилось даже небольшое обсуждение, в комментариях к одному из недавних постов. Под хабракатом я попытался изложить то, как я (в моем случае — успешно) боролся с этой проблемой.
Читать дальше →
Total votes 69: ↑63 and ↓6+57
Comments61

Простой монитор сетевых интерфейсов Linux, с помощью netlink

Reading time12 min
Views25K
Однажды, в одном из проектов, мне понадобилось организовать строгий и надежный контроль над всеми сетевыми интерфейсами, таблицами маршрутизации, а так же получать нотификации о каких-либо изменениях. Было принято стратегическое решение — не использовать старые-добрые ioctl netdevice (SIOCGIFMETRIC, SIOCSIFNAME и т.п.) или непосредственные вызовы соответствующих утилит (ifconfig, route и т.д.), а найти более современное и болле удобное решение. Оно было найдено — libnetlink. Это библиотека, предоставляющая большое количество методов для коммуникации с ядром, с помощью механизма netlink. Данная библиотека идеально подходила для моих целей, позволяя решить огромное количество задач. К сожалению, у библиотеки оказался не особо удобный и довольно сложный API, требовавший совершать множество непонятных действий. Особого веселья добавляло практически полное отсутствие документации и вообще любых материалов на эту тему.
Подумав, я решил как следует разобраться в netlink и написать свою библиотеку. В данный момент реализован весь функционал для работы с нотификацией, сетевыми интерфейсами, таблицами маршрутизации, разумеется поддерживаются IPv4 и IPv6. В достаточно скором времени данный проектик будет представлен на суд общественности :) А пока я бы хотел познакомить всех интересующихся с прекрасным миром netlink, на примере простого монитора сетевых интерфейсов.
Читать далее...
Total votes 53: ↑51 and ↓2+49
Comments4

Information

Rating
Does not participate
Location
Koornhorn, Groningen, Нидерланды
Registered
Activity