Ecran exotique, une solution?

Bonjour,

J’ai fais un achat (un peu compulsif) sur un site de chinoiserie pour mettre un écran « à ma sauce ».
Résultat, la sauce n’a pas prise :sweat_smile:

Vu que ma dernière demande sur ce forum m’avait comblée, je retente ma chance :slight_smile:

Ecran : C’est celui-là
Soit 7 pouces, 800x480, piloté par un ESP32 S3 WROOM10 (8Mo RAM, 16 Mo flash).

D’après mes premières recherches, l’écran est cablé à l’ESP via un bus parallèle 40 pin. Et ESPhome ne gérerait que des écran sur bus SPI, I2C ou UART …

Première question, est-ce que j’ai malheureusement raison ?

Si non, bah je suis preneur d’infos :grin:

Si oui, j’ai entendu parler de openHASP, mais je n’y connait absolument rien. Est-ce que c’est compatible ? Etc etc …

Bref, pas beaucoup d’espoirs sur cette demande j’avoue, mais sait-on jamais :slight_smile:

Bonne fin de weekend !

Salut,

OpenHasp devrait pouvoir être installé là dessus, mais pour trouver le bon firmware c’est plus chaud… trouver les specs de ces écrans c’est pas tjrs facile…
J’ai fait ça sur un écran carré avec un esp32-S3 aussi, mais c’estait avec un peu de chance quej’ai trovué la version du firmware à installer…

1 « J'aime »

Bonjour,
surement possible avec OpenHASP, mais comme le dit @AlexHass , le plus compliquer va être de trouver un firmware compiler ou sinon tu peux te créer ton firmware. Chose que j’ai dû faire pour un de mes écrans, puis il a été ajouté à la liste d’écran pris en charge ( CrowPanel 7 Inch support. · Issue #684 · HASwitchPlate/openHASP · GitHub ).

Tu as la doc disponible et un GitHub avec les librairies Arduino, ça peut déjà t’aider :

Voir sur le GitHub de OpenHASP, pour demander de l’aide dans la section discussion.

Si besoin, j’ai fait un tuto pour utiliser OpenHASP:

Bonjour,

Merci à vous pour ces réponses.
Bon, je vais regarder du côté de la compilation, mais j’avoue n’être qu’un novice de 50 piges en la matière :sweat_smile:

Bah, qui ne tente rien n’a rien :slight_smile:

[EDIT1]
Méthode via Gitpod.
Bon, de ce que j’ai compris, il faut créer modifier le fichier « platformio_override.ini ».
Ce qui correspondrait à la partie « platformio » dans mon cas serait :
extra_configs = user_setups/esp32/*.ini

@WarC0zes , j’ai vu que pour la création du support de ton écran, un fichier « crowpanel-hmi.ini » a été créé. Est-ce que cela revient à dire que je doit faire de même, créer un « viewe_UEDX80480070E.ini » pour y intégrer les données de mon écran ?

Dans l’affirmative, j’ai vu qu’il y avait plusieurs sections dans ce fichier, serait-il possible de confirmer mes hypothèses ?

  • [elecrow-esp32-s3-tft] → Détail de l’ESP ?
  • [elecrow-tft-common-pins] → le nom semble explicite, mais dans d’autres fichiers ini de ce répertoire, les correspondance de pins sont directement faite dans les sections suivantes. Du coup, en ais-je besoin ?
  • [env:elecrow-s3-8048c070_4MB] et [env:elecrow-s3-8048c050_4MB] → environnements que l’on doit appeler dans le « platformio_override.ini » ? J’ai cru comprendre que je devais y mettre les données relatives aux GPIO de l’écran et du touchpanel, ainsi que l’appel aux données de l’ESP (section précédente)

Bref, je nage dans le flou le plus total, n’ayant que très peu de connaissance dans ce domaine :sweat_smile:

Je ne suis pas contre un peu d’aide (en français please, mon anglais scolaire à 34 ans … :roll_eyes:) :grin:

Ça fait 1 an qui sont passés depuis la création du fichier ini et la compilation. Je t’avoue que j’ai un peu oublié. Il faudrait que je m’y replonge dedans :wink:

Laisse-moi le temps de passer les fêtes et j’y remettrais le nez dedans.

Tu peux comparer les fichiers ini disponible pour tous les appareils pris en charge pour t’aider :

C’est gentil de me proposer ton aide :slight_smile:
Pas d’urgence évidemment, surtout pour la période festive qui arrive !

J’en profite pour souhaiter de bonnes fêtes de fin d’année :tada: :confetti_ball: :christmas_tree: :slight_smile:

[Edit]
Bon, j’ai tenté quelques manip.
Création du fichier « viewe_UEDX80480070E.ini »:

;***************************************************;
;        Viewe ESP32-S3 RGB IPS TFT 7.0"            ;
;        UEDX80480070-E                             ;
;          - Custom esp32-s3 board                  ;
;          - TFT                                    ;
;          - gt911 touch controller                 ;
;***************************************************;

[env:viewe_UEDX80480070]
extends = arduino_esp32s3_v2, flash_16mb
board = esp32-s3-devkitc-1
board_build.arduino.memory_type = qio_opi

build_flags =
    ${arduino_esp32s3_v2.build_flags}
    ${esp32s3.ps_ram}

    -D HASP_MODEL="viewe_UEDX80480070"

;region -- display build options ------------------------
    -D HASP_LV_USE_SW_ROTATE=0
    -D TFT_BCKL=2
    -D TFT_WIDTH=800
    -D TFT_HEIGHT=480
    -D LGFX_USE_V1=1
    -D RGB_DRIVER=1

    -D TFT_HSYNC_POLARITY=0
    -D TFT_HSYNC_FRONT_PORCH=40   
    -D TFT_HSYNC_PULSE_WIDTH=48  
    -D TFT_HSYNC_BACK_PORCH=40

    -D TFT_VSYNC_POLARITY=0
    -D TFT_VSYNC_FRONT_PORCH=1    
    -D TFT_VSYNC_PULSE_WIDTH=31   
    -D TFT_VSYNC_BACK_PORCH=13

    -D TFT_PCLK_ACTIVE_NEG=1
    -D TFT_PREFER_SPEED=12000000  
    -D TFT_AUTO_FLUSH=1
    -D TFT_PCLK_ACTIVE_NEG=1

    ; pin
    -D TFT_B0=8
    -D TFT_B1=3
    -D TFT_B2=46  
    -D TFT_B3=9
    -D TFT_B4=1
  
    -D TFT_G0=5
    -D TFT_G1=6
    -D TFT_G2=7
    -D TFT_G3=15
    -D TFT_G4=16
    -D TFT_G5=4
  
    -D TFT_R0=45
    -D TFT_R1=48
    -D TFT_R2=47
    -D TFT_R3=21
    -D TFT_R4=14  
  
    -D TFT_DE=40
    -D TFT_VSYNC=41
    -D TFT_HSYNC=39
    -D TFT_PCLK=42
;endregion

;region -- touch build options ---------------------------
    -D HASP_USE_LGFX_TOUCH=1
    -D TOUCH_WIDTH=800
    -D TOUCH_HEIGHT=480
    -D TOUCH_DRIVER=0x911
    -D TOUCH_SCL=20
    -D TOUCH_SDA=19
    -D TOUCH_IRQ=-1
    -D TOUCH_RST=-1
    -D I2C_TOUCH_ADDRESS=0x14 
    -D I2C_TOUCH_FREQUENCY=400000
;endregion

lib_deps =
    ${arduino_esp32s3_v2.lib_deps}
    ${lovyangfx.lib_deps}
    ${elecrow-esp32-s3-tft.lib_deps}

board_build.partitions = user_setups/csv/default_16MB.csv

J’ai utilisé pour cela les différents exemples à ma disposition et la doc de l’écran avec laquelle j’ai pu corriger les Pins. Pas certain de l’adresse I2C cependant, et encore moins de la partie lib_deps …

Récupération du fichier « default_16MB.csv » (ici et installation sous « user_setups/csv/ »
Modification du fichier « platformio_override.ini »

; USAGE: Copy this file and rename it to platformio_override.ini
;
; The platformio_override.ini file is not overwritten or monitored by git
; ONLY edit platformio_override.ini to make local changes to the parameters

[platformio]
extra_configs =
    ; Uncomment or edit the lines to show more User Setups in the PIO sidebar
    ; user_setups/darwin/*.ini
    ; user_setups/esp32/*.ini
    ; user_setups/esp32s2/*.ini
    user_setups/esp32s3/*.ini
    ; user_setups/linux/*.ini
    ; user_setups/stm32f4xx/*.ini
    ; user_setups/win32/*.ini

[override]
; -- Hasp config options --------------------------------------
build_flags =
; -- Uncomment the next line to use the file include/user_config_override.h settings
;    -DUSE_CONFIG_OVERRIDE

;region -- Default Build Environments : Used when Build All ---
extra_default_envs =
    ; Uncomment specific environments or create extra (copy names from square brackets in user_setups/*/*.ini):
    viewe_UEDX80480070

;endregion

;region -- Define your local COM ports for each environment ---
[env:d1-mini-esp32_ili9341]
monitor_port = COM6       ; Change to the correct port
upload_port = ${env:d1-mini-esp32_ili9341.monitor_port}

[env:esp32dev-mrb3511]
monitor_port = COM3       ; Change to the correct port
upload_port = ${env:esp32dev-mrb3511.monitor_port}

[env:az-touch-mod-esp32_ili9341_4MB]
upload_port = COM16 
monitor_port = COM16

[env:az-touch-mod-esp32_ili9341_8MB]
upload_port = COM16 
monitor_port = COM16

[env:d1-r32-unoshield_ili9486_adc]
monitor_port = COM5 
upload_port = COM5  

[env:d1-r32-unoshield_ili9341_adc]
;upload_protocol = espota  ; Use ArduinoOTA after flashing over serial
;upload_port = 192.168.0.4 ; IP of the ESP
;upload_flags = --port=3232 ; --auth=haspadmin   ; OTA password
monitor_port = COM5 
upload_port = COM5

[env:esp32-one_st7796]
upload_port = COM6      ; Change to the correct port
monitor_port = COM6     ; Change to the correct port

[env:lolin-d32-pro_ili9341]
monitor_port = COM5       ; Change to the correct port
upload_port = ${env:lolin-d32-pro_ili9341.monitor_port}
;endregion

[env:ttgo_esp32_poe-ili9341]
monitor_port = COM9       ; Change to the correct port
;upload_port = ${env:ttgo_esp32_poe-ili9341.monitor_port}
;upload_port = 192.168.4.5 ; IP of the ESP
;upload_protocol = espota  ; Use ArduinoOTA after flashing over serial
upload_flags = --port=3232 ; --auth=haspadmin   ; OTA password

;region -- Custom Environment configuration example -----------------
[env:my_custom_build]
extends = arduino_esp32_v2, flash_4mb
board = nodemcu-32s

upload_port = COM12     ; To change the port, use platform_override.ini
monitor_port = COM12    ; To change the port, use platform_override.ini

debug_tool = esp-prog
debug_init_break = tbreak setup
build_flags =
    ${env.build_flags}
    ${esp32.build_flags}
;region -- TFT_eSPI build options -----------------------------------
    ${lcd.lolin24}
    ${esp32.vspi}        ; Use VSPI hardware SPI bus
    -D TFT_DC=5
    -D TFT_CS=26 
    -D TFT_RST=-1        ; RST
    -D TFT_BCKL=22       ; None, configurable via web UI (e.g. 21)
    -D TOUCH_CS=17       ; (can also be 22 or 16)
; -- Options ----------------------------------------
    -D HASP_USE_TELNET=1
;endregion

;endregion

Bon, je ne sais pas trop quoi faire avec les ports COM locaux ni avec tout ce fatras d’instruction, mais j’ai quand même tenté une compilation histoire de voir si ça donnait quelque chose :

============================================================= [FAILED] Took 228.61 seconds =============================================================

Environment         Status    Duration
------------------  --------  ------------
viewe_UEDX80480070  FAILED    00:03:48.611
======================================================== 1 failed, 0 succeeded in 00:03:48.611 

Bon, rien d’étonnant, je ne m’attendais même pas à ce que la compilation commence :sweat_smile:

Je vais éplucher les logs et voir si j’arrive à en tirer quelque chose par moi-même :slight_smile:

Mais peut-être pas aujourd’hui : y’a des préparatifs pour ce soir parait-il :grin:

1 « J'aime »