IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

Ecran TFT 1.8" de chez Joy-it !


Sujet :

Raspberry Pi

  1. #1
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    4 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 4 812
    Points : 13 814
    Points
    13 814
    Par défaut Ecran TFT 1.8" de chez Joy-it !
    Salut à tous.

    Je vais reprendre les tests sur mon "TFT 1.8" display" de chez Joy-it.
    --> https://www.gotronic.fr/art-ecran-1-...t1-8-26567.htm

    Attention, ce n'est pas le même TFT 1.8" que celui proposé par AdaFruit :



    Les noms des pins ne sont pas exactement pareil.

    J'ai suivi le didacticiel proposé par Gotronic.
    Je fais le test sous la raspberry Pi 2B, dans la version jessie. Pourquoi ?
    Parce que le driver ST7735 est encore présent dans cette version alors que dans buster, il a totalement disparu.

    En ce point de mes tests, je peux dire que mon TFT 1.8" de chez Joy-it fonctionne correctement.

    A titre indicatif, je vous communique le branchement que j'ai fait (c'est le même que celui du PDF de chez Gotronic) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    +==========+===================+
    |  Screen  | Raspberry Pi zero |
    | TFT 1.8" |  GPIO  |    PIN   |
    +==========+========+==========+
    |    Vcc   |   3V3  |    01    |
    |    GND   |   GND  |    06    |
    |    SCL   |  SCLK  |    23    |
    |    SDA   |  MOSI  |    19    |
    |   RS/DC  |   24   |    18    |
    |    RES   |   25   |    22    |
    |    CS    |   CE0  |    24    |
    +----------+--------+----------+
    |   MISO   |        |          |
    |   SCLK   |        |          |
    |   MOSI   |        |          |
    |    CS    |        |          |
    +==========+========+==========+
    La partie basse de ce tableau concerne la "SC CARD".

    Dans ce contexte, celui de jessie et du pilote ST7735, le branchement est correcte.
    Je ne comprends pas, la signification des pins du TFT.
    J'ai deviné que "res" est l'abréviation de "reset".
    Mais que signifie "RS/DC" ?
    Coté AdaFruit, le "RS/DC" devient D/C".

    A titre indicatif, je donne les branchements dans le mode SPI.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    +-----------------------------------+------+-----+
    |          Nom de la broche         | GPIO | PIN |
    +-----------------------------------+------+-----+
    | MOSI (Master Output, Slave Input) |  10  |  19 |
    | MISO (Master Input, Slave Output) |  09  |  21 |
    | SCLK (Serial Clock)               |  11  |  23 |
    +-----------------------------------+------+-----+
    | CE0_N (chip enable #0)            |  08  |  24 |
    | CE0_1 (chip enable #1)            |  07  |  26 |
    +-----------------------------------+------+-----+
    Je passe maintenant sous buster (disque dur), en passant à la raspberry pi 3B+.
    Pourquoi la Raspberry Pi 3B+ et non la RPi 4B/8GB ?
    J'utilise un ventilateur argon sur le Rpi 4B, qui pourrait perturber le test.

    Et là, je n'arrive pas à utiliser mon TFT. L'écran reste blanc.
    J'ai utilisé ce script python pour faire le test :
    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    #!/usr/bin/python
     
    import RPi.GPIO as GPIO
    import time
     
    #		+================================+
    #		|  TFT to Raspberry connections  |
    #		+----------------+---------------+
    #		|    TFT 1.8"    |   Raspberry   |
    #		+----------------+---------+-----+
    #		| PIN |   NAME   |   NAME  | PIN |
    #		+-----+----------+---------+-----+
    #		|   1 |   Vcc    |   3V3   |   1 |
    #		|   2 |   GND    |   GND   |   6 |
    #		|   3 |   SCL    | GPIO 11 |  23 |
    #		|   4 |   SDA    | GPIO 10 |  19 |
    #		|   5 |  RS/DC   | GPIO 24 |  18 |
    #		|   6 |   RES    | GPIO 25 |  22 |
    #		|   7 |   CS     | GPIO  8 |  24 |
    #		+-----+----------+---------+-----+
    #		|   8 |   MISO   |         |     |
    #		|   9 |   SCLK   |         |     |
    #		|  10 |   MOSI   |         |     |
    #		|  11 |   CS     |         |     |
    #		+=====+==========+=========+=====+
     
    SCLK = 11
    SDAT = 10
    DC   = 24
     
    pins = [SCLK,SDAT,DC]
     
    # RGB888 Color constants
     
    BLACK    = 0x000000
    RED      = 0xFF0000
    GREEN    = 0x00FF00
    BLUE     = 0x0000FF
    WHITE    = 0xFFFFFF
    COLORSET = [RED,GREEN,BLUE,WHITE]
     
    # ST7735 commands
     
    SWRESET = 0x01		# software reset
    SLPOUT  = 0x11		# sleep out
    DISPON  = 0x29		# display on
    CASET   = 0x2A		# column address set
    RASET   = 0x2B		# row address set
    RAMWR   = 0x2C		# RAM write
    MADCTL  = 0x36		# axis control
    COLMOD  = 0x3A		# color mode
     
    ########################################################################
    #
    # Low-level routines
    # These routines access GPIO directly
    #
    ########################################################################
     
    def SetPin(pinNumber,value):
    #sets the GPIO pin to desired value (1=on,0=off)
    	GPIO.output(pinNumber,value)
     
    def InitIO():
    	GPIO.setmode(GPIO.BCM)
    	GPIO.setwarnings(False)
    	for pin in pins:
    		GPIO.setup(pin,GPIO.OUT)
    	GPIO.output(SCLK,0)					#start with clock line low
     
    ########################################################################
    #
    # Bit-Banging (software) SPI routines:
    #
    ########################################################################
     
    def PulseClock():
    	#pulses the serial clock line HIGH
    	SetPin(SCLK,1)						#bit clocked on low-high transition
    	SetPin(SCLK,0)						#no delay since python is slow
     
    def WriteByte(value, data=True):
    	"sends byte to display using software SPI"
    	mask = 0x80						#start with bit7 (msb)
    	SetPin(DC,data)						#low = command; high = data
    	for b in range(8):					#loop for 8 bits, msb to lsb
    		SetPin(SDAT,value & mask)			#put bit on serial data line
    		PulseClock()					#clock in the bit
    		mask >>= 1					#go to next bit
     
    def WriteCmd(value):
    	"Send command byte to display"
    	WriteByte(value,False)					#set D/C line to 0 = command
     
    def WriteWord (value):
    	"sends a 16-bit word to the display as data"
    	WriteByte(value >> 8)					#write upper 8 bits
    	WriteByte(value & 0xFF)					#write lower 8 bits
     
    def WriteList (byteList):
    	"Send list of bytes to display, as data"
    	for byte in byteList:					#grab each byte in list
    		WriteByte(byte)					#and send it
     
    def Write888(value,reps=1):
    	"sends a 24-bit RGB pixel data to display, with optional repeat"
    	red   = value>>16					# red   = upper 8 bits
    	green = (value>>8) & 0xFF				# green = middle 8 bits
    	blue  = value & 0xFF					# blue  = lower 8 bits
    	RGB   = [red,green,blue]				# assemble RGB as 3 byte list
    	for a in range(reps):					# send RGB x optional repeat
    		WriteList(RGB)
     
    ########################################################################
    #
    # ST7735 driver routines:
    #
    ########################################################################
     
    def InitDisplay():
    	"Resets & prepares display for active use."
    	WriteCmd (SWRESET)					#software reset, puts display into sleep
    	time.sleep(0.2) #wait 200mS for controller register init
    	WriteCmd (SLPOUT)					#sleep out
    	time.sleep(0.2) #wait 200mS for TFT driver circuits
    	WriteCmd (DISPON)					#display on!
     
    def SetAddrWindow(x0,y0,x1,y1):
    	"sets a rectangular display window into which pixel data is placed"
    	WriteCmd(CASET)						#set column range (x0,x1)
    	WriteWord(x0)
    	WriteWord(x1)
    	WriteCmd(RASET)						#set row range (y0,y1)
    	WriteWord(y0)
    	WriteWord(y1)
     
    def DrawPixel(x,y,color):
    	"draws a pixel on the TFT display"
    	SetAddrWindow(x,y,x,y)
    	WriteCmd(RAMWR)
    	Write888(color)
     
    def FillRect(x0,y0,x1,y1,color):
    	"fills rectangle with given color"
    	width  = x1-x0+1
    	height = y1-y0+1
    	SetAddrWindow(x0,y0,x1,y1)
    	WriteCmd(RAMWR)
    	Write888(color,width*height)
     
    def FillScreen(color):
    	"Fills entire screen with given color"
    	FillRect(0,0,127,159,color)
     
    def ClearScreen():
    	"Fills entire screen with black"
    	FillRect(0,0,127,159,BLACK)
     
    ########################################################################
    #
    # Testing routines:
    #
    ########################################################################
     
    def TimeDisplay():
    	"Measures time required to fill display twice"
    	startTime=time.time()
    	print " Now painting screen GREEN"
    	FillScreen(GREEN)
    	print " Now clearing screen"
    	ClearScreen()
    	elapsedTime=time.time()-startTime
    	print " Elapsed time %0.1f seconds" % (elapsedTime)
     
    ########################################################################
    #
    # Main Program
    #
    ########################################################################
     
    print "Adafruit 1.8 TFT display demo"
    print "-----------------------------"
     
    InitIO()
    InitDisplay()
    TimeDisplay()
    print "Done."
     
    # END ###############################################################
    Je n'ai pas touché au corps du script.
    J'ai juste modifié le tableau des branchements, ainsi que les trois variables :
    --> SCLK = 11
    --> SDAT = 10
    --> DC = 24

    J'ai un doute sur les broches GPIO24 & GPIO25.

    Je tiens à préciser que le mode SPI a bien été activé dans le fichier "/boot/config.txt" :
    Je vérifie en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    > ls /dev/spi*
    /dev/spidev0.0  /dev/spidev0.1
    >
    Normalement, ce programme gère partiellement l'équivalent du driver SP7735.
    Ce script au départ était destiné au TFT d'AdaFruit, qui est aussi géré par le driver SP7735.

    Voici le branchement du TFT d'AdaFruit :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    +----------+----------+---------+
    |   TFT    | Rpi NAME | RPI Pin |
    +----------+----------+---------+
    | LITE     |   5Vcc   |    02   |
    | MISO     +----------+---------+
    | SCK      | GPIO  11 |    23   |
    | MOSI     | GPIO  10 |    19   |
    | TFT_CS   | GPIO  08 |    24   |
    | TFT_CARD +----------+---------+
    | D/C      | GPIO  24 |    18   |
    | RESET    | GPIO  25 |    22   |
    | VCC      |   5Vcc   |    04   |
    | GND      |    GND   |    06   |
    +----------+----------+---------+
    Hormis le "lite" (première ligne) , c'est le même branchement.
    "MISO" et "TFT_CARD" ne sont pas utilisés.

    Pourquoi cela ne fonctionne pas ?
    Y-a-t-il un oubli de ma part ?
    Ou bien, le script Python n'est pas correcte.

    Par la suite, je passerai à un programme 'C/C++' qui va recréer le driver SP7735, pour mon usage personnel.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  2. #2
    Responsable Arduino et Systèmes Embarqués

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    11 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 11 297
    Points : 49 222
    Points
    49 222
    Billets dans le blog
    17
    Par défaut
    Salut,

    Mais que signifie "RS/DC" ?
    Coté AdaFruit, le "RS/DC" devient D/C".
    DC pour Data/Command je suppose, pour indiquer si les données qui arrivent à l'afficheur sont à afficher ou bien sont des commandes.
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    SetPin(DC,data)						#low = command; high = data


    Je tiens à préciser que le mode SPI a bien été activé dans le fichier "/boot/config.txt" :
    Dans le cas du programme Python c'est inutile. Le SPI est géré de façon logicielle (bit banging), forcément plus lent. Au contraire, évite d'utiliser les broches du Pi dédiées au SPI.
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    # Bit-Banging (software) SPI routines:

  3. #3
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    4 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 4 812
    Points : 13 814
    Points
    13 814
    Par défaut
    Salut f-leb.

    Merci de ta participation.

    Je ne maitrise pas trop le langage Python.

    Je te donne le lien où j'ai trouvé les programmes python.
    Les PDF sont dans l'onglet "Raspberry Pi", puis "Pi TFT Display".

    Dans le cas du deuxième PDF, de nom "TFT Display, Hardware SPI", j'ai aussi testé et cela ne produit aucun résultat.
    Voici le code python ;
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    #!/usr/bin/python
     
    import RPi.GPIO as GPIO
    import time
    import spidev			#hardware SPI
     
    DC = 25
     
    #RGB888 Color constants
    BLACK    = 0x000000
    RED      = 0xFF0000
    GREEN    = 0x00FF00
    BLUE     = 0x0000FF
    WHITE    = 0xFFFFFF
    COLORSET = [RED,GREEN,BLUE,WHITE]
     
    #ST7735 commands
    SWRESET = 0x01			#software reset
    SLPOUT  = 0x11			#sleep out
    DISPON  = 0x29			#display on
    CASET   = 0x2A			#column address set
    RASET   = 0x2B			#row address set
    RAMWR   = 0x2C			#RAM write
    MADCTL  = 0x36			#axis control
    COLMOD  = 0x3A			#color mode
     
    ########################################################################
    #
    # Low-level routines
    # These routines access GPIO directly
    #
    ########################################################################
     
    def SetPin(pinNumber,value):
    #sets the GPIO pin to desired value (1=on,0=off)
    	GPIO.output(pinNumber,value)
     
    def InitIO():
    	GPIO.setmode(GPIO.BCM)
    	GPIO.setwarnings(False)
    	GPIO.setup(DC,GPIO.OUT)
     
    ########################################################################
    #
    # Hardware SPI routines:
    #
    ########################################################################
     
    def WriteByte(value, data=True):
    	SetPin(DC,data)
    	spi.writebytes([value])
     
    def WriteCmd(value):
    	"Send command byte to display"
    	WriteByte(value,False)			#set D/C line to 0 = command
     
    def WriteWord (value):
    	"sends a 16-bit word to the display as data"
    	WriteByte(value >> 8)			#write upper 8 bits
    	WriteByte(value & 0xFF)			#write lower 8 bits
     
    def WriteList (byteList):
    	"Send list of bytes to display, as data"
    	for byte in byteList:			#grab each byte in list
    		WriteByte(byte)			#and send it
     
    def Write888(value,width,count):
    	"sends a 24-bit RGB pixel data to display, with optional repeat"
    	red   = value>>16			#red = upper 8 bits
    	green = (value>>8) & 0xFF		#green = middle 8 bits
    	blue  = value & 0xFF			#blue = lower 8 bits
    	RGB   = [red,green,blue]		#assemble RGB as 3 byte list
    	SetPin(DC,1)
    	for a in range(count):
    		spi.writebytes(RGB*width)
     
    ########################################################################
    #
    # ST7735 driver routines:
    #
    ########################################################################
     
    def InitDisplay():
    	"Resets & prepares display for active use."
    	WriteCmd (SWRESET)			#software reset, puts display into sleep
    	time.sleep(0.2)			#wait 200mS for controller register init
    	WriteCmd (SLPOUT)			#sleep out
    	time.sleep(0.2)			#wait 200mS for TFT driver circuits
    	WriteCmd (DISPON)			#display on!
     
    def SetAddrWindow(x0,y0,x1,y1):
    	"sets a rectangular display window into which pixel data is placed"
    	WriteCmd(CASET)			#set column range (x0,x1)
    	WriteWord(x0)
    	WriteWord(x1)
    	WriteCmd(RASET)			#set row range (y0,y1)
    	WriteWord(y0)
    	WriteWord(y1)
     
    def FillRect(x0,y0,x1,y1,color):
    	"fills rectangle with given color"
    	width = x1-x0+1
    	height = y1-y0+1
    	SetAddrWindow(x0,y0,x1,y1)
    	WriteCmd(RAMWR)
    	Write888(color,width,height)
     
    def FillScreen(color):
    	"Fills entire screen with given color"
    	FillRect(0,0,127,159,color)
     
    def ClearScreen():
    	"Fills entire screen with black"
    	FillRect(0,0,127,159,BLACK)
     
    ########################################################################
    #
    # Testing routines:
    #
    ########################################################################
     
    def TimeDisplay():
    	"Measures time required to fill display twice"
    	startTime=time.time()
    	print " Now painting screen GREEN"
    	FillScreen(GREEN)
    	print " Now clearing screen"
    	ClearScreen()
    	elapsedTime=time.time()-startTime
    	print " Elapsed time %0.1f seconds" % (elapsedTime)
     
    ########################################################################
    #
    # Main Program
    #
    ########################################################################
     
    print "Adafruit 1.8 TFT display demo with hardware SPI"
    spi = spidev.SpiDev()
    spi.open(0,0)
    spi.mode = 0
    InitIO()
    InitDisplay()
    TimeDisplay()
    spi.close()
    print "Done."
     
    # END ###############################################################
    Si je pouvais avoir un résultat même partiel pour démarrer, cela me serait profitable.

    Je ne comprends pas où se trouve le problème.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  4. #4
    Responsable Arduino et Systèmes Embarqués

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    11 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 11 297
    Points : 49 222
    Points
    49 222
    Billets dans le blog
    17
    Par défaut
    Le programme Python est plutôt ancien (Python 2.x obsolète maintenant).
    Tu devrais essayer avec une version plus récente de la bibliothèque st7735, par exemple https://github.com/pimoroni/st7735-p...master/library

  5. #5
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    4 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 4 812
    Points : 13 814
    Points
    13 814
    Par défaut
    Salut f-leb.

    Moi qui croyait qu'il suffisait de brancher le périphérique pour que cela fonctionne. Et bien non, c'est pas ça.

    D'après mes lectures sur le net, je dois utiliser un overlay au démarrage de la raspberry, que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dtoverlay=sainsmart18,dc_pin=24,resetgpio=25,debug=3,bgr=1
    dtdebug=1
    J'ai repris le paramétrage que j'ai trouvé chez Gotronic, qui est celui de la version Jessie.

    Résultat : avant, j'avais un écran blanc, maintenant j'ai quelque chose à l'affichage.
    Sauf que tout ne s'affiche pas correctement comme dans la version jessie.
    Pourquoi ? Ce fichier "/boot/overlays/sainsmart18.dtbo" n'est plus en phase avec les dernières raspberry pi 3B+ et 4B.

    A titre indicatif, voici le résultat dans "dmesg" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    > dmesg | grep fb
    [    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  dwc_otg.lpm_enable=0 console=tty1 console=ttyS0,115200 root=PARTUUID=9cba179a-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
    [    1.906806] bcm2708_fb soc:fb: FB found 1 display(s)
    [    1.919157] bcm2708_fb soc:fb: Registered framebuffer for display 0, size 656x416
    [   14.559890] fbtft: module is from the staging directory, the quality is unknown, you have been warned.
    [   14.563730] fb_st7735r: module is from the staging directory, the quality is unknown, you have been warned.
    [   14.565702] fb_st7735r spi0.0: fbtft_property_value: width = 128
    [   14.565729] fb_st7735r spi0.0: fbtft_property_value: height = 160
    [   14.565752] fb_st7735r spi0.0: fbtft_property_value: buswidth = 8
    [   14.565775] fb_st7735r spi0.0: fbtft_property_value: debug = 3
    [   14.565793] fb_st7735r spi0.0: fbtft_property_value: rotate = 90
    [   14.565815] fb_st7735r spi0.0: fbtft_property_value: fps = 50
    [   14.565936] fb_st7735r spi0.0: fbtft_gamma_parse_str() str=
    [   14.565952] fb_st7735r spi0.0: 0F 1A 0F 18 2F 28 20 22 1F 1B 23 37 00 07 02 10
                   0F 1B 0F 17 33 2C 29 2E 30 30 39 3F 00 07 03 10
    [   14.566098] fb_st7735r spi0.0: fbtft_request_one_gpio: 'reset' GPIO
    [   14.566162] fb_st7735r spi0.0: fbtft_request_one_gpio: 'dc' GPIO
    [   14.566216] fb_st7735r spi0.0: fbtft_request_one_gpio: 'rd' GPIO
    [   14.566268] fb_st7735r spi0.0: fbtft_request_one_gpio: 'wr' GPIO
    [   14.566319] fb_st7735r spi0.0: fbtft_request_one_gpio: 'cs' GPIO
    [   14.566370] fb_st7735r spi0.0: fbtft_request_one_gpio: 'latch' GPIO
    [   14.566421] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.566472] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.566523] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.566574] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.566626] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.566676] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.566727] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.566779] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.566830] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.566883] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.566933] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.566983] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.567036] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.567086] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.567137] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.567188] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.567238] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.567290] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.567341] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.567392] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.567442] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.567494] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.567544] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.567594] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.567646] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.567696] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.567748] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.567798] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.567849] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.567905] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.567956] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.568007] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.568058] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.568108] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.568159] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.568209] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.568260] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.568311] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.568361] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.568413] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.568463] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.568515] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.568565] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.568616] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.568667] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.568717] fb_st7735r spi0.0: fbtft_request_one_gpio: 'db' GPIO
    [   14.568769] fb_st7735r spi0.0: fbtft_request_one_gpio: 'led' GPIO
    [   14.568819] fb_st7735r spi0.0: fbtft_request_one_gpio: 'aux' GPIO
    [   14.568837] fb_st7735r spi0.0: fbtft_verify_gpios()
    [   14.568853] fb_st7735r spi0.0: fbtft_reset()
    [   14.732189] fb_st7735r spi0.0: init: write(0x01) 
    [   14.732289] fb_st7735r spi0.0: init: mdelay(150)
    [   14.882448] fb_st7735r spi0.0: init: write(0x11) 
    [   14.882676] fb_st7735r spi0.0: init: mdelay(500)
    [   15.382823] fb_st7735r spi0.0: init: write(0xB1) 0x01 0x2C 0x2D 
    [   15.383136] fb_st7735r spi0.0: init: write(0xB2) 0x01 0x2C 0x2D 
    [   15.383229] fb_st7735r spi0.0: init: write(0xB3) 0x01 0x2C 0x2D 0x01 0x2C 0x2D 
    [   15.383312] fb_st7735r spi0.0: init: write(0xB4) 0x07 
    [   15.383398] fb_st7735r spi0.0: init: write(0xC0) 0xA2 0x02 0x84 
    [   15.383481] fb_st7735r spi0.0: init: write(0xC1) 0xC5 
    [   15.383565] fb_st7735r spi0.0: init: write(0xC2) 0x0A 0x00 
    [   15.383649] fb_st7735r spi0.0: init: write(0xC3) 0x8A 0x2A 
    [   15.383733] fb_st7735r spi0.0: init: write(0xC4) 0x8A 0xEE 
    [   15.383815] fb_st7735r spi0.0: init: write(0xC5) 0x0E 
    [   15.383897] fb_st7735r spi0.0: init: write(0x20) 
    [   15.383948] fb_st7735r spi0.0: init: write(0x3A) 0x05 
    [   15.384029] fb_st7735r spi0.0: init: write(0x29) 
    [   15.384078] fb_st7735r spi0.0: init: mdelay(100)
    [   15.484276] fb_st7735r spi0.0: init: write(0x13) 
    [   15.488520] fb_st7735r spi0.0: init: mdelay(10)
    [   15.513091] fb_st7735r spi0.0: Display update: 2777 kB/s, fps=0
    [   15.513625] graphics fb1: fb_st7735r frame buffer, 160x128, 40 KiB video memory, 4 KiB buffer memory, fps=50, spi0.0 at 40 MHz
    J'ai vu que l'on pouvait recréer ce fichier overlay. Je vais le faire sous le nom de "st7735r.dts".

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. Jeux Snake Arduino Esplora (Arduino + Ecran TFT)
    Par Josh.Bateman dans le forum Arduino
    Réponses: 1
    Dernier message: 13/12/2018, 09h58
  2. Programmer un ecran TFT, possible ?
    Par MisterPython dans le forum Hardware
    Réponses: 8
    Dernier message: 04/05/2015, 11h22
  3. [Ecran TFT]Est-on limité à la résolution indiquée
    Par NicolasJolet dans le forum Périphériques
    Réponses: 6
    Dernier message: 06/09/2006, 21h25
  4. achat ecran tft par internet
    Par elekis dans le forum Périphériques
    Réponses: 7
    Dernier message: 27/07/2006, 22h17
  5. Nettoyage d'un ecran TFT
    Par Faith's Fall dans le forum Périphériques
    Réponses: 9
    Dernier message: 10/03/2005, 18h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo