Устройство на базе AT91SAM9263.
Графическое приложение Qt необходим автозапуск.
Пробовал запускать из inittab и скриптом из init.d. И в том и в другом случае не работает тачскрин.
Попробовал вместо своего приложения автозапустить ts_test, пишет:
/dev/touchscreen/ucb1x00: No such file or directory
хотя тачскрин висит не на ucb.
Драйвер:
ads7846 spi0.3: touchscreen, irq 31
input: ADS7843 Touchscreen as /class/input/input0
Для проверки работы тача использую
cat /dev/input/event0 | hexdump
на консоль сыпятся данные при прикосновении к экрану.
/dev/input/event0 появляется до автозапуска, проверял в inittab командой ::once:ls /dev/input/, event0 уже есть.
Вопрос, почему ts_test ищет /dev/touchscreen/ucb1x00. Qt шное приложение тоже наверное ищет /dev/touchscreen/ucb1x00.
Как я понимаю надо подождать какое то событие или еще что то. Но что именно не знаю.
Попробовал вот такой код:
unsigned int i;
char *tsdevice=NULL;
for(i = 0;i < 100;i++)
{
tsdevice = getenv("TSLIB_TSDEVICE");
if(tsdevice == NULL) printf("NULL\n");
else printf("%s\n", tsdevice);
sleep(1);
}
Из автозапуска печатает NULL, причем этот же тест запускаю параллельно из командной строки на консоли получаю:
NULL
/dev/input/event0