Introduzione
Toradex è un fornitore leader di soluzioni informatiche embedded, specializzato in system-on-module (SoM) e schede carrier. Offre piattaforme potenti e scalabili per una vasta gamma di settori, tra cui quello automobilistico, medico e industriale. Le soluzioni di Toradex sono famose per la loro affidabilità, le elevate prestazioni e la facilità di integrazione, il che le rende una scelta molto diffusa per i sistemi embedded.
I display Riverdi vengono utilizzati con i sistemi Toradex per garantire interfacce visive di alta qualità nelle applicazioni di livello industriale.
I display Riverdi fino a 10” di solito usano un controller touch supportato direttamente dallo stack di driver Linux standard presente nelle immagini BSP di Toradex. In questi casi, per abilitare la funzione touch basta di solito aggiungere il nodo corretto all’overlay del device tree.
Tuttavia, schermi più grandi come:
usa un controller diverso: ILI2510.
Ilitek, il produttore dei controller touch utilizzati nei display Riverdi, è specializzato in soluzioni touchscreen di livello industriale. Offre controller robusti con almeno 10 anni di garanzia, assicurando durata e affidabilità a lungo termine in ambienti difficili. I controller Ilitek sono apprezzati in molti prodotti industriali, automobilistici e commerciali per la loro precisione e le loro prestazioni.
In questi moduli il controller non viene gestito dal driver ILI2132 usato nei display più piccoli. Il sistema deve invece utilizzare il driver per touchscreen Ilitek, che va abilitato nella configurazione del kernel – a differenza dell’ILI2132, che è già incluso nella compilazione fornita da Toradex.
A causa di questa differenza, per abilitare la funzione touch su schermi più grandi servono alcuni passaggi in più:
- abilitare il driver corretto del kernel
- ricostruire il kernel o i moduli del kernel
- spostalo su Toradex
- abilita il driver e prova il touch
Solo dopo che il driver è presente nel sistema, il nodo del touchscreen nell’albero dei dispositivi può collegarsi correttamente al driver.
Differenze tra i controller touch
I moduli display Riverdi utilizzano due diverse famiglie di controller touch a seconda delle dimensioni del display.
Supporta schermi fino a 10”
Controller: ILI2132
Schermi da 12,1” e oltre
Controller: famiglia ILI251X (2510 e 2511)
Il driver ILI2510 supporta il protocollo touchscreen I2C di Ilitek e rende il dispositivo accessibile tramite il sottosistema di input di Linux. Supporta touchscreen di grandi dimensioni.
Abilitare il driver ILI2510 nel kernel
Per iniziare, assicurati di aver impostato le variabili d’ambiente corrette:
export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-gnu-
Per supportare il controller ILI2510, devi abilitare il driver del touchscreen Ilitek nella configurazione del kernel Linux usata dal BSP Toradex.
Apri il menu di configurazione del kernel.
crea menuconfig
Vai alla sezione dedicata al driver del touchscreen.
Driver di periferica Supporto dei dispositivi di input Schermi touchscreen
Attiva il driver del touchscreen Ilitek premendo M quando è selezionato. Si chiama:
Circuiti integrati tattili Ilitek I2C serie 213X/23XX/25XX/Lego
Compilare il driver come modulo semplifica il debug e permette di caricarlo dinamicamente.
A questo punto dobbiamo compilare il driver:
crea moduli
E installali:
esegui `modules_install`
Dovresti avere il file ilitek_ts_i2c.ko. Ora copialo sul tuo Toradex come preferisci. Nella guida precedente abbiamo configurato gli indirizzi IP per SCP. Per vedere come abbiamo configurato SCP tra il Toradex e la macchina virtuale, dai un’occhiata a questa guida.
Come copiare e attivare il driver su Toradex dalla macchina virtuale
Apri la cartella lib/modules/$(uname -r)/kernel/drivers/input/touchscreen/ sul tuo Toradex e digita “ls” per verificare se hai copiato correttamente il file ilitek_ts_i2c.ko.
lsmod | grep ili
A questo punto carica il modulo:
modprobe ilitek_ts_i2c
Se il driver è installato correttamente, Linux mostrerà le informazioni relative al modulo, tra cui la versione e i dispositivi supportati.
Verifica dei dispositivi di input su Linux
Verifica che il touchscreen compaia nel sottosistema di input.
cat /proc/bus/input/devices
o
ls /dev/input/
Dovresti vedere un nuovo dispositivo di input.
Verifica degli eventi touch
Per testare gli eventi di input grezzi, usa lo strumento evtest.
evtest
Seleziona il dispositivo touchscreen dall’elenco.
Quando tocchi lo schermo:
- le coordinate dovrebbero cambiare al movimento delle dita
- gli eventi relativi alla pressione devono essere segnalati
- gli eventi di tocco dovrebbero apparire immediatamente
Puoi anche usare weston-eventdemo per verificare se riesci a usare il tocco di precisione.
Note sulla risoluzione dei problemi
Cosa funziona in modo affidabile con questa configurazione
- Driver Ilitek abilitato nella configurazione del kernel
- correggi il nodo del touchscreen nell’overlay dell’albero dei dispositivi
- rilevamento riuscito sul bus I2C
- eventi di tocco visibili tramite evtest
Problemi comuni
- driver del kernel non abilitato
- stringa di compatibilità errata nell’albero dei dispositivi
- definizione errata del bus I2C
Conclusione
I display Riverdi più grandi, da 12,1” e 15,6”, seguono un percorso di integrazione touch diverso perché utilizzano il controller ILI2510, mentre i moduli più piccoli funzionano con il driver ILI2132.
I passaggi principali sono chiari: abilita il driver del touchscreen Ilitek I2C nella configurazione del kernel, ricompila il kernel o il modulo, copialo sul dispositivo Toradex e aggiorna i riferimenti al driver corretto.
Una volta configurato, il touchscreen viene riconosciuto come un normale dispositivo di input Linux. Puoi provarlo con gli strumenti di input di Linux e utilizzarlo in ambienti grafici come Weston, Qt o LVGL.
SCOPRI IL NOSTRO
Carta bianca
Ottieni un’interazione perfetta tra utente e display con il giusto IC per sensore tattile. Hai mai avuto problemi con eventi di tocco fantasma o con la certificazione? Potenzia la tua ricerca e sviluppo come un professionista con il nostro Whitepaper!



