Клеймлю себя позором (спасибо sasamy, что заметил) за такую грубую и поверхностную ошибку!
В боард-файле, видимо со времен не очень вдумчивых копипастов осталась строка:
Как минимум, это не правильно (т.к. на этом пине нет перифении-прерывания), нужно закоментировать!
Добавить:
Видимо глаз "мылил" принцип "на четырехдюймовой панели ведь работает нормально".
Плюс, можно добавить:
Для того, чтобы CS учавтвовал в общении.
В результате, "оригинальный" драйвер все-равно рано или поздно подвисает, зато "адаптированный" (который и раньше не вис) теперь работает на порядок стабильнее - никаких тормозов на коротких кабелях (о чем пару постов выше писал) и калибруется без проблем.
Кто адаптирует, а работать все-равно не будет, стучите в личку через пару недель, исправлю и проверю все BSP, выдам линки.
Вообще-то строчка должна быть такой -
at91_set_gpio_input(AT91_PIN_PD21 ,1);
иначе не компилируется ....
В общем собрал, залил , калибруется более-менее штатно,
не виснет при рисовании, но тормозит как при калибровке,
так и при рисовании, и при нажатии на кнопки - задержки
на глаз до 0,5-0,8 секунды, к тому же при рисовании
иногда бывают проскоки вправо до конца экрана.
Рисовать приходится о-о-о-очень медленно.
Но - на экранные кнопки жать уже можно ,
Начало положено, всем спасибо !
1 Попробуйте увеличить толерантность в структуре ads_info в боард-файле
...
.debounce_tol = 20,
...
я видел на какой-то плате даже цифру 50, в принципе экран большой - это не должно сильно сказаться, правда с рисованием хуже, хотя я слабо представляю для чего это нужно - рисовать на таких платах.
2 Уменьшить частоту pixclock в структуре at91_tft_vga_modes, в районе 20000 не должно быть заметно мерцание экрана и тормоза должны заметно поубавиться.
Попробовал так - тормоза стали чуть меньше, (tol = 25)
но глюков и прострелов при непрерывном ведении
(рисовании - а оно мне также нужно) только добавилось,
тем более это обидно что на экране 4,3 этого ничего
не было. Замена драйвера 7846 на старый к уменьшению тормозов не привела, ну только повисло
через примерно 1 минуту. Интересно, что первые 5-10
секунд после включения ts_test почти нормально, по-
том по нарастающей....
На 7" явно наводки сильно сказываются - как на интерфейсе так и на аналоговой части. Если уменьшить pixclock до значений 4,3" плага (9000) - у меня например ванильный драйвер вообще не зависает и отскоков нет при рисовании, но сам экран мерцает на такой частоте. Надо бы конечно вообще аналоговую землю делать для ads7843.
PS тут бОльшую роль играет как раз частота pixclock а не толерантность - из-за нее наводки судя по всему
Осциллограф от наводок не спасет :) Если есть желание и возможность - попробуйте отпаять земляную лапу ads7843 от общей земли и подпаять к этой лапе отдельный провод от "-" прямо с разъема БП основной платы. У меня к сожалению руки к паяльнику не приспособлены чтобы паять таких мелких тараканов и проверить - я боюсь там все испортить :)