[Project] ESPEasy Treiber für 1.8" LCD ST7735 Module

Begonnen von dieter114, 11 April 2020, 22:22:21

Vorheriges Thema - Nächstes Thema

riker1

Hallo Dieter,

meinte fertig compilierte ESPEasy / Tasmota Varianten die mit dem Modul umgehen können?
Muss mal deinen Wiki Link checken.,

Danke

VG T
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

dieter114

#16
Also für ESPEasy kannst du ein fertiges uploadfähiges Programm aus Post "5" nehmen.
Für Tasmota hab ich nix im Angebot.
Übrigens hab Post "14" geändert, falscher Code abgebildet Sorry  >:(
RPi II+III+IV,OWX,div.1W Module,HM Zisterne,div. CUL, sduino MAPLEMINI, div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI, Indego,Poolsteuerung mit fhem

Nobbynews

#17
Hallo dieter114,

erst einmal vielen Dank für den Treiber.
Ich wollte heute die aktuelle Version von ESPEasy kompilieren. Das Standardmodul 094_CUL_Reader habe ich erfolgreich rausgeschmissen.
Leider habe ich unter platformio folgende Fehlermeldungen:
C:/Daten/ESP_20210114/source/src/_P094_ST7735.ino: In function 'boolean Plugin_094(byte, EventStruct*, String&)':
C:/Daten/ESP_20210114/source/src/_P094_ST7735.ino:53:37: error: 'SENSOR_TYPE_NONE' was not declared in this scope
         Device[deviceCount].VType = SENSOR_TYPE_NONE;
                                     ^
C:/Daten/ESP_20210114/source/src/_P094_ST7735.ino: In function 'int P094_setColor(int)':
C:/Daten/ESP_20210114/source/src/_P094_ST7735.ino:269:20: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   if (colorMode = 0) {tft->setTextColor(ST7735_WHITE, ST7735_BLACK); return 0; }
                    ^
C:/Daten/ESP_20210114/source/src/_P094_ST7735.ino:270:20: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
Compiling .pio\build\normal_ESP8266_4M1M\src\src\Helpers\ESPEasy_time.cpp.o
   if (colorMode = 1) {tft->setTextColor(ST7735_RED, ST7735_BLACK); return 0;}
                    ^
C:/Daten/ESP_20210114/source/src/_P094_ST7735.ino:271:20: warning: suggest parentheses around assignment used as truth value [-Wparentheses]

Ich komme da nicht weiter.
Gibt es da einen Tipp für mich?

Norbert

dieter114

#18
Moin Norbert,

ich glaube du hast das Modul einfach nicht richtig "eingebunden".
Wichtig ist die CPU auf der das laufen soll also entweder "Generic ESP8266" oder
"LOLYN Wemos D1" oder "Node MCU 1.0" oder so.
Dafür ist der Treiber und wichtig ist noch das "richtige" Einbinden wie in Post #3 beschrieben.
In Post #5 ist ein funktionsfähiger Sketch angehängt.
Die Versionen ab Post #10 sind noch in der Entwicklung und könnten Fehler beeinhalten.
Tipp: Nimm mal als Board ein LOLYN Wemos D1 und versuch dann zu kompilieren.
Dabei sollten keine wichtigen Fehler entstehen.

Gruß Wolfdieter
RPi II+III+IV,OWX,div.1W Module,HM Zisterne,div. CUL, sduino MAPLEMINI, div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI, Indego,Poolsteuerung mit fhem

Nobbynews

Hallo Wolfdieter,

danke für dür prompte Rückmeldung.
Den Treiber hatte ich wie beschrieben in die Datei define_plugin_sets.h eingebunden. Habe ich auch schon mit anderen Treibern so erfolgreich gemacht.
Das richtige Board ist auch ausgewählt und wird durch die Datei platformio.ini gesteuert. Das kann man auch beim Kompilieren anhand der Ausgabe sehen.
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp12e.html
PLATFORM: Espressif 8266 (2.6.2) > Espressif ESP8266 ESP-12E
HARDWARE: ESP8266 80MHz, 80KB RAM, 1019.98KB Flash

Natürlich habe ich zuerst die neueste _P094_ST7735.ino genommen.
Zur Sicherheit habe ich jetzt mal die Datei aus der Antwort #1 vom 18.4.2020 genommen.
Damit erhalte ich folgende Fehlermeldung:
C:/Daten/ESP_20210114/source/src/_P094_ST7735.ino: In function 'boolean Plugin_094(byte, EventStruct*, String&)':
C:/Daten/ESP_20210114/source/src/_P094_ST7735.ino:52:37: error: 'SENSOR_TYPE_NONE' was not declared in this scope
         Device[deviceCount].VType = SENSOR_TYPE_NONE;
                                     ^

Es kann natürlich sein, dass platformio hier etwas pingeliger ist als die Arduino IDE.

Gruß
Norbert

dieter114

Irgendwo hab ich das schon mal gelesen.
Platformio wird von mir nicht verwendet und daher kann ich dazu nichts sagen.
Mit der Arduino SW erhalte ich beim Kompilieren ein paar Warnungen.
Die haben keine Auswirkungen auf die Funktion also ignorieren :)
RPi II+III+IV,OWX,div.1W Module,HM Zisterne,div. CUL, sduino MAPLEMINI, div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI, Indego,Poolsteuerung mit fhem

Nobbynews

Zitat von: dieter114 am 17 Januar 2021, 09:28:08
Die haben keine Auswirkungen auf die Funktion also ignorieren :)
Das klappt leider nicht, da deshalb von Platformio keine BIN erstellt wird.
Dann muss ich dann wohl doch noch einmal die Arduino IDE installieren.

dieter114

Genau das war der Grund weshalb ich gleich Arduino IDE genommen habe.
Installieren genau nach Anweisung und alle Updates laden.
Wichtig unter "Voreinstellungen": Zusätzliche Boerdverwalter-URL`s
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Dann einfach ein ESP-Easy kompilieren und nach Fehlern suchen.
Erst wenn das einigemaßen läuft, kannst du mit dem Treiber beginnen.

Gruß Wolfdieter
RPi II+III+IV,OWX,div.1W Module,HM Zisterne,div. CUL, sduino MAPLEMINI, div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI, Indego,Poolsteuerung mit fhem

Nobbynews

Hallo,

ja das habe ich soweit alles gemacht. Board ist auch entsprechend ausgewählt.
Aktuell kommt bei mir folgende Fehlermeldung, von der ich noch nicht weis, warum die Pfade nicht stimmen:
In file included from sketch\_Plugin_Helper.h:23:0,
                 from C:\Daten\ESP_Arduino\ESPEasy\ESPEasy.ino:101:
sketch\src/Globals/I2Cdev.h:5:20: fatal error: I2Cdev.h: No such file or directory
#include <I2Cdev.h>
                    ^

Hab´da schon einiges hin und her kopiert, aber stehe zzt. auf dem Schlauch....

dieter114

#24
Das hatte ich auch schon mal.
I2Cdev.h fehlt irgendwo.
Das deutet auf fehlende Treiber oder Updates oder ein nicht passendes Board hin.
Ich habe folgende Warnung ständig:
WARNUNG: Bibliothek LiquidCrystal_I2C behauptet auf avr Architektur(en) ausgeführt werden zu können und ist möglicherweise inkompatibel mit Ihrem derzeitigen Board, welches auf esp8266 Architektur(en) ausgeführt wird.
Executable segment sizes:
IROM   : 837912          - code in flash         (default or ICACHE_FLASH_ATTR)
IRAM   : 30656   / 32768 - code in IRAM          (ICACHE_RAM_ATTR, ISRs...)
DATA   : 1688  )         - initialized variables (global, static) in RAM/HEAP
RODATA : 3928  ) / 81920 - constants             (global, static) in RAM/HEAP
BSS    : 33768 )         - zeroed variables      (global, static) in RAM/HEAP
Der Sketch verwendet 874184 Bytes (83%) des Programmspeicherplatzes. Das Maximum sind 1044464 Bytes.
Globale Variablen verwenden 39384 Bytes (48%) des dynamischen Speichers, 42536 Bytes für lokale Variablen verbleiben. Das Maximum sind 81920 Bytes.

Board: Lolyn Wemos D1
RPi II+III+IV,OWX,div.1W Module,HM Zisterne,div. CUL, sduino MAPLEMINI, div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI, Indego,Poolsteuerung mit fhem

Nobbynews

#25
Zitat von: dieter114 am 17 Januar 2021, 12:23:33
I2Cdev.h fehlt irgendwo.
Tja, die Frage ist halt nur: Wo fehlt die Datei?
Unter den angegebene Pfaden ist jeweils die (eine) I2Cdev.h vorhanden.

Edit 1:
Gefunden!!
Es war im Pfad:
Program Files (x86)/Arduino/libraries

Edit 2:
Aktuell hapert es an folgender Fehlermeldung:
C:\Program Files (x86)\Arduino\libraries\Adafruit_Circuit_Playground/Adafruit_Circuit_Playground.h:122:3: error: 'Adafruit_CPlay_FreeTouch' does not name a type
   Adafruit_CPlay_FreeTouch cap[7]; ///< the array of capacitive touch sensors

Hier komme ich nicht weiter.

dieter114

Ähh: hast du überhaupt die "Adafruit ST7735 and ST7739 Library" eingebunden?
Such mal im Bibliotheksverwalter nach ST7735
und dann Version 1.6.0 einbinden.

Gruß Wolfdieter
RPi II+III+IV,OWX,div.1W Module,HM Zisterne,div. CUL, sduino MAPLEMINI, div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI, Indego,Poolsteuerung mit fhem

Nobbynews

#27
Zitat von: dieter114 am 17 Januar 2021, 18:55:47
hast du überhaupt die "Adafruit ST7735 and ST7739 Library" eingebunden?
Soweit bin ich noch nicht. Ich wollte erst einmal das nackte ESPEasy probieren.
Hatte gestern aber keinen Nerv mehr.

Norbert

Edit:
Ich habe testweise jetzt mal die _P094_ST7735.ino eingebunden.
Damit erhalte ich folgende Fehlermeldung:
C:\Daten\ESP_Arduino\source\ESPEasy\_P094_ST7735.ino: In function 'boolean Plugin_094(byte, EventStruct*, String&)':
_P094_ST7735:53:37: error: 'SENSOR_TYPE_NONE' was not declared in this scope
         Device[deviceCount].VType = SENSOR_TYPE_NONE;
                                     ^

Nobbynews

#28
Hallo Wolfdieter,

die Fehlermeldung
Zitat von: Nobbynews am 18 Januar 2021, 06:30:58
Damit erhalte ich folgende Fehlermeldung:
C:\Daten\ESP_Arduino\source\ESPEasy\_P094_ST7735.ino: In function 'boolean Plugin_094(byte, EventStruct*, String&)':
_P094_ST7735:53:37: error: 'SENSOR_TYPE_NONE' was not declared in this scope
         Device[deviceCount].VType = SENSOR_TYPE_NONE;
                                     ^


habe ich jetzt gelöst. In den aktuellen Versionen von ESPEasy wurde an der Datenstruktur etwas geändert.
In der INO-Datei muss in Zeile 53 folgende Änderung vorgenommen werden:
alt: Device[deviceCount].VType = SENSOR_TYPE_NONE;
neu: Device[deviceCount].VType = Sensor_VType::SENSOR_TYPE_NONE;
Dann klappt auch das Kompilieren unter Platformio.
Den anderen Fehler der Arduino IDE habe ich aber immer noch.

Norbert

dieter114

Hallo Norbert,

danke für die Infos.
Wenn ich diese Änderung bei Arduino IDE 1.8.13 eingeben erhalte ich so eine Fehlermeldung wie du.
Verstanden habe ich das leider auch nicht.

Gruß Wolfdieter
RPi II+III+IV,OWX,div.1W Module,HM Zisterne,div. CUL, sduino MAPLEMINI, div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI, Indego,Poolsteuerung mit fhem