Bonjour
Je suis en train de me battre avec mon écran nextion.
Après moults recherches je suis tombé sur ce topic, qui indique une librairie allégée intéressante.
(Je remercie au passage "anthology").
https://forum.arduino.cc/index.php?topic=571667.0
la librairie est la suivante:
J'ai testé avec succès l'exemple "ReceiveMessages.ino" sur un uno.
Mon but est de le faire tourner sur un mega, mais tel que cela ne fonctionne pas.
Dans le fichier readme l'auteur indique les modifs a faire sur le fichier nextion.h pour pour que ça tourne avec des serials hard.
J'ai fait ces modifs, (peut-être mal), mais quand je compil, j'ai l'erreur "'Serial1' does not name a type".
Je ne vois pas d’où vient l'erreur.
Le fichier nextion.h d'origine est a cette page: nextion/Nextion.h at master · bborncr/nextion · GitHub
et voici le fichier que j'ai modifié (et qui ne va pas).
#ifndef __NEXTION_H__
#define __NEXTION_H__
#include <Arduino.h>
//#define USE_SOFTWARE_SERIAL //Comment this line for use HardwareSerial 47
#if defined(USE_SOFTWARE_SERIAL)
#endif
#define nextion Serial1
class Nextion{
private:
void flushSerial();
#if defined(USE_SOFTWARE_SERIAL)
//SoftwareSerial *nextion;
#else
HardwareSerial1 *nextion;
#endif
public:
Nextion(){};//Empty contructor
#if defined(USE_SOFTWARE_SERIAL)
Nextion(SoftwareSerial &next, uint32_t baud);//Constructor
#else
Nextion(HardwareSerial1 &next, uint32_t baud);//Constructor
#endif
void buttonToggle(boolean &buttonState, String objName, uint8_t picDefualtId, uint8_t picPressedId);
uint8_t buttonOnOff(String find_component, String unknown_component, uint8_t pin, int btn_prev_state);
boolean setComponentValue(String component, int value);
//boolean ack(void);//Deprecated
boolean ack(void);
unsigned int getComponentValue(String component);
boolean setComponentText(String component, String txt);
boolean updateProgressBar(int x, int y, int maxWidth, int maxHeight, int value, int emptyPictureID, int fullPictureID, int orientation=0);
String getComponentText(String component, uint32_t timeout = 100);
String listen(unsigned long timeout=100);
// String listenNextionGeneric(unsigned long timeout=100);
void sendCommand(const char* cmd);
uint8_t pageId(void);
boolean init(const char* pageId = "0");
};
#endif
Merci a vous