Closed Apkawa closed 3 years ago
Принято. Поправлю.
ср, 16 дек. 2020 г., 13:23 Apkawa notifications@github.com:
if defined(ESP8266) || defined(ESP32)
include
endif
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ssilver2007/LCD_1602_RUS_ALL/issues/7, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD5ORZJRDTIPJUC6KUM57TDSVCDCDANCNFSM4U5XVX7Q .
Ошибка компиляции ESP8266 Nodemcu. Arduino Ide 1.8.13, пример HelloWorld_I2C:
In file included from ...........\libraries\LCD_1602_RUS_ALL\examples\HelloWorld_I2C\HelloWorld_I2C.ino:6:0:
..............\libraries\LCD_1602_RUS_ALL/LCD_1602_RUS_ALL.h: In instantiation of 'LCD_1602_RUS
Это не нужно:
void init()
{
begin();
}
Для ESP есть другая либа. ESP_LCD_1602_RUS
ср, 16 дек. 2020 г., 19:07 aidarishkulov notifications@github.com:
Ошибка компиляции ESP8266 Nodemcu. Arduino Ide 1.8.13, пример HelloWorld_I2C^ In file included from C:\Arduino\FLProg\FLProg_7-2-2\ideV6\portable\sketchbook\libraries\LCD_1602_RUS_ALL\examples\HelloWorld_I2C\HelloWorld_I2C.ino:6:0: C:\Arduino\FLProg\FLProg_7-2-2\ideV6\portable\sketchbook\libraries\LCD_1602_RUS_ALL/LCD_1602_RUS_ALL.h: In instantiation of 'LCD_1602_RUS::LCD_1602_RUS(uint8_t, uint8_t, uint8_t, uint8_t) [with BASE = LiquidCrystal_I2C; uint8_t = unsigned char]': C:\Arduino\FLProg\FLProg_7-2-2\ideV6\portable\sketchbook\libraries\LCD_1602_RUS_ALL\examples\HelloWorld_I2C\HelloWorld_I2C.ino:8:49: required from here C:\Arduino\FLProg\FLProg_7-2-2\ideV6\portable\sketchbook\libraries\LCD_1602_RUS_ALL/LCD_1602_RUS_ALL.h:73:142: error: invalid initializer for array member 'Symbol LCD_1602_RUS
::font [53]' LCD_1602_RUS (uint8_t lcd_Addr, uint8_t lcd_cols, uint8_t lcd_rows, uint8_t user_custom_symbols = 0) : BASE (lcd_Addr, lcd_cols, lcd_rows)//Конструктор для подключения I2C ^ — You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ssilver2007/LCD_1602_RUS_ALL/issues/7#issuecomment-746546799, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD5ORZJGSHE57WHBOLILPF3SVDLNRANCNFSM4U5XVX7Q .
Это понятно, она работает, но эта же тоже и ESP8266 должна поддерживать .
Это нужно для работы со всеми библиотеками LiquidCrystal_i2c. В других либах функции инициализации названы по другому. Где то init(), где-то begin()
ср, 16 дек. 2020 г., 19:38 aidarishkulov notifications@github.com:
Это понятно, она работает, но эта же тоже и ESP8266 должна поддерживать .
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ssilver2007/LCD_1602_RUS_ALL/issues/7#issuecomment-746599490, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD5ORZJAQ3YBV75JE5DV3HDSVDO7XANCNFSM4U5XVX7Q .
Интересно, что на ESP32 компилируется и запускается нормально, проверил на железе. С ESP8266, если разобраться, то отличная библиотека будет!
Надо сначала ESP8266_LCD_1602_RUS отработать, а затем уже изменения вписывать в общую библиотеку. Сразу в общей писать не хочу, труднее ловить ошибки.
ср, 16 дек. 2020 г. в 20:03, aidarishkulov notifications@github.com:
Интересно, что на ESP32 компилируется и запускается нормально, проверил на железе. С ESP8266, если разобраться, то отличная библиотека будет!
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ssilver2007/LCD_1602_RUS_ALL/issues/7#issuecomment-746641456, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD5ORZMVCTWS5D2YGQL5O7TSVDR6TANCNFSM4U5XVX7Q .
ESP8266_LCD_1602_RUS работает, на Nodemcu проверил.
Строки #include
void init(uint8_t _sda = SDA, uint8_t _scl = SCL)
{
Wire.pins(_sda, _scl);
begin();
}
void init()
{
begin();
}
не нужны, я их убрал, прекрасно работает. Они уже есть в плате, получается дублирование.
А теперь попробуйте удалить вашу стандартную библиотек Arduino_LiquidCrystal_I2C, и установить другую, напрмер https://github.com/johnrickman/LiquidCrystal_I2C. И все, без этих строк не будет компилироваться.
ср, 16 дек. 2020 г. в 20:56, aidarishkulov notifications@github.com:
ESP8266_LCD_1602_RUS работает, на Nodemcu проверил. Строки #include
И //Для ESP8266 ifdef FDB_LIQUID_CRYSTAL_I2C_H
if defined (ESP8266)
void init(uint8_t _sda = SDA, uint8_t _scl = SCL) { Wire.pins(_sda, _scl); begin(); }
else
void init() { begin(); }
endif
endif
не нужны, я их убрал, прекрасно работает. Они уже есть, получается дублирование.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ssilver2007/LCD_1602_RUS_ALL/issues/7#issuecomment-746729345, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD5ORZJBJS5Q5BMWTZUVP2DSVDYDLANCNFSM4U5XVX7Q .
Проверил на ESP32, все прекрасно работает. ЕСП8266 дает точно такую ошибку.
Скачайте еще раз: https://github.com/ssilver2007/ESP8266_LCD_1602_RUS Внес некоторые правки. У меня компилируется без ошибок и под ESP8266, и под ESP32. Давайте еще раз проверим, какие ошибки теперь у вас выдаются при компиляции.
ср, 16 дек. 2020 г. в 21:17, aidarishkulov notifications@github.com:
Проверил на ESP32, все прекрасно работает. ЕСП8266 дает точно такую ошибку.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ssilver2007/LCD_1602_RUS_ALL/issues/7#issuecomment-746764240, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD5ORZJMDQ74SMRTUL53JFTSVD2VDANCNFSM4U5XVX7Q .
Эта библиотека работает нормально, я писал выше (Проверил на ESP32, все прекрасно работает. ЕСП8266 дает точно такую ошибку.) про LCD_1602_RUS_ALL
LCD_1602_RUS_ALL буду править потом, когда оттестируется ESP8266_LCD_1602_RUS. Если с последней проблем не будет, добавлю наработки в первую (общую) библиотеку.
ср, 16 дек. 2020 г. в 22:32, aidarishkulov notifications@github.com:
Эта библиотека работает нормально, я писал выше (Проверил на ESP32, все прекрасно работает. ЕСП8266 дает точно такую ошибку.) про LCD_1602_RUS_ALL
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ssilver2007/LCD_1602_RUS_ALL/issues/7#issuecomment-746885867, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD5ORZPNVZ77GFZUZA3KGP3SVEDLTANCNFSM4U5XVX7Q .
Добрый вечер. Я изначально использовал эту библиотеку.
Чтобы не форкать и не патчить - я использовал вот такую заглушку
➜ esp32 git:(main) ✗ cat include/avr/pgmspace.h
#ifndef ESP32_PGMSPACE_H
#define ESP32_PGMSPACE_H
// Костыль для LCD_1602_RUS_ALL
#include "pgmspace.h"
#endif //ESP32_PGMSPACE_H
Без неё она падает при сборке для ESP32:
.pio/libdeps/LiquidCrystal_I2C/LCD_1602_RUS_ALL/LCD_1602_RUS_ALL.h:16:26: fatal error: avr/pgmspace.h: No such file or directory
#include <avr/pgmspace.h>
^
compilation terminated.
для ESP8266 она собирается.
Edited: с последним коммитом теперь собирается ESP32, а для ESP8266 перестало собираться, на https://github.com/ssilver2007/LCD_1602_RUS_ALL/commit/0491ed1e4242003ec9364511e6e69a8b79de474e собирается под ESP8266
ESP8266_LCD_1602_RUS - версия полностью рабочая под ESP32 и ESP8266 Внес такие же правки в LCD_1602_RUS_ALL - под ESP32 работает, под ESP8266 выдает ошибку. Куда копать, не понимаю...
Убрал шаблоны. Теперь компилится и для ESP8266.
https://github.com/ssilver2007/LCD_1602_RUS_ALL/blob/061051a43a00e3b6520c76ac6b1b284132a9e23b/LCD_1602_RUS_ALL.h#L16