GyverPortal

SCHMaster

✩✩✩✩✩✩✩
20 Дек 2022
14
2
Доброго времени...
Пара вопросов, пока свет есть :)
Продолжаю переделку своих поделок на GyverPortal
Термометр уже выглядит приблизительно так...
1671835220204.png
И есть вопросы...
Во-первых - можно ли как-то изменить цвет линий графика?
В "PLOT_STOCK_DARK.js" вроде поменял, но без результата...
Во-вторых - можно ли поменять цвет кнопки "OTA Firmware"?
Ну и "иконка" на кнопке какая то странная... Это на компе. В телефоне - вообще - текстура кирпича :)
 
Изменено:
  • Лойс +1
Реакции: Security000

ASM

★★★★★✩✩
26 Окт 2018
1,600
311
@SCHMaster, GP.OTA_FIRMWARE("OTA firmware", GP_GREEN, true); может так?)
С мобильного текстура иконки на Ота кнопке не так выглядят, тоже заметил) на скрине что-то с кэшем не так...
 
  • Лойс +1
Реакции: SCHMaster

gorlanovmax

✩✩✩✩✩✩✩
26 Окт 2022
69
6
Друзья, пытаюсь сделать изменение доступности кнопки по нажатию другой кнопки.
Делаю следующим образом:
C++:
void setup() {
    cal_visible_0 = 1;
    cal_visible = 1;
}

void build() {
  GP.BUILD_BEGIN_FILE(600);
  GP.THEME_FILE("GP_DARK");
  GP.UPDATE("cal_0,cal_stop", 500); // прописываем перечень компонентов, которые должны обновляться, и период обновления в мс
  GP.BLOCK_BEGIN(GP_TAB, "100%", "Ввод данных калибровки");
    GP.BUTTON_MINI("cal_start", "Начать калибровку","","","",0,0);
    GP.BUTTON_MINI("cal_0", "Пустой","","","25%",cal_visible_0,0);
    GP.BUTTON_MINI("cal_stop", "Сохранить данные калибровки","","","",cal_visible,1);
  GP.BLOCK_END();
}

void action() {
  if (portal.click()) {
    if (portal.click("cal_start")) { //запуск калибровки
      cal_visible_0 = 0;
    }
    if (portal.click("cal_0")) { //кнопка калибровки 0%
      cal_visible = 0;
      cal_visible_0 = 1;
    }
  }
}
При этом при нажатии кнопки "Начать калибровку" кнопка "Пустой" не становится доступной.
Что делаю не так?
Знаю, что если сделать с перезагрузкой страницы, все будет работать.
Но стоит задача сделать без перезагрузки страницы
 

SCHMaster

✩✩✩✩✩✩✩
20 Дек 2022
14
2
@SCHMaster, GP.OTA_FIRMWARE("OTA firmware", GP_GREEN, true); может так?)
Супер! GP.OTA_FIRMWARE("OTA firmware", GP_GREEN, true); помогло с цветом.
С мобильного текстура иконки на Ота кнопке не так выглядят, тоже заметил) на скрине что-то с кэшем не так...
С кэшем где?
 

ASM

★★★★★✩✩
26 Окт 2018
1,600
311
@SCHMaster, на фото, что-то иконка на кнопке не загрузилась. Ctrl+F5 пробуй)
 

SCHMaster

✩✩✩✩✩✩✩
20 Дек 2022
14
2
.....
Знаю, что если сделать с перезагрузкой страницы, все будет работать.
Но стоит задача сделать без перезагрузки страницы
Подозреваю, что без перезагрузки и не будет работать...
Если такая возможность есть без перезагрузки страницы - так же хотелось бы понимать - как?
 

LordMazy

✩✩✩✩✩✩✩
24 Дек 2022
3
0
Доброго времени всем.
Только начал пробовать что-то на ваять с помощью GP для модуля NodeMCU, и сразу проблема: скейтч примера с кнопками компилируется и прошивается в плату - всё работает, но только через браузер на компьютере. Мобильные телефоны и планшет выдают ошибку соединения "ERR_ADDRESS_UNREACHABLE". Версия АрдуиноИД 2.0.3, библиотеки GP 3.4.0. Куда копать, может кто подскажет?
Screenshot_20221224-201359.png
 

LordMazy

✩✩✩✩✩✩✩
24 Дек 2022
3
0
@SCHMaster, Сеть одна, 2.4ГГц, айпи адреса устройства получают от роутера.

@gorlanovmax, просьба подробнее про кол-во соединений. Где проверить и выставить как мне надо?
 

gorlanovmax

✩✩✩✩✩✩✩
26 Окт 2022
69
6
@LordMazy,
Нет, если ESP в режиме клиента то количество максимальных подключений не работает.
Это имеет значение при настройке ESP в качестве роутера
 

LordMazy

✩✩✩✩✩✩✩
24 Дек 2022
3
0
Ура, заработало! Проблема была в роутере, он каким-то образом резал WiFi трафик от ESP. Смена роутера на другой решила проблему. Огромное спасибо всем неравнодушным. :)
Screenshot_20221225-201713.png
 

Dimastis

✩✩✩✩✩✩✩
12 Дек 2022
10
0
Подскажите пожалуйста как прикрутить wifimanager (https://github.com/tzapu/WiFiManager) к порталу?
Задача состоит в том чтобы при включении есп8266 создавалась точка wifi при подключении к которой можно было выбрать wifi сеть из списка и подключиться к ней, после подключения к сети wifi есп переходит в режим клиента и при переходе по ип клиента открывался портал.
 

gorlanovmax

✩✩✩✩✩✩✩
26 Окт 2022
69
6
Обнаружил, что локально можно грузить скрипты графиков только для AJAX и PLOT_STOCK
у PLOT намеренно нет такой возможности?
C++:
void PLOT(const String& id, const char** labels, int16_t vals[ax][am], int dec = 0, int height = 400)
 

green70

✩✩✩✩✩✩✩
10 Янв 2023
1
0
Подскажите как замкнуть локальные переменные при вызове attachBuild ?
Например, добавить this в замыкание
p.attach([this](GyverPortal & p) { });

Сейчас пишет ошибку no matching function for call 'GyverPortal::attach...
 

e.kolych

✩✩✩✩✩✩✩
10 Янв 2023
5
0
Приветствую товарищи, возник такой вопрос. Как сменить цвет текста в GP.AREA_LOG
Замена значений цвета в файлах темы не помогло.
цвет серый на сером. хочу изменить на белый а то на солнце не видно (хочу именно на темную тему).
 

gorlanovmax

✩✩✩✩✩✩✩
26 Окт 2022
69
6
@e.kolych,

ну как вариант использовать файлы тем из файловой системы esp.
тогда в файликах тем (css) просто подправить необходимые цвета
 

gorlanovmax

✩✩✩✩✩✩✩
26 Окт 2022
69
6
@e.kolych,
посмотрите исходный код странице в браузере и найдите класс это блока, его и правьте.
но возможно, в поле лога используется text, тогда у вас и цвет всего текста изменится
 

Dimastis

✩✩✩✩✩✩✩
12 Дек 2022
10
0
Подскажите почему не компилится скетч с демо примером на есп32?
In file included from c:\Users\User\Documents\Arduino\libraries\GyverPortal\src/CustomOTA.h:6:0,
from c:\Users\User\Documents\Arduino\libraries\GyverPortal\src/portal.h:18,
from c:\Users\User\Documents\Arduino\libraries\GyverPortal\src/GyverPortal.h:57,
from C:\Users\User\AppData\Local\Temp\.arduinoIDE-unsaved2023010-37280-1qlmz21.yojo\sketch_jan10a\sketch_jan10a.ino:6:
c:\Users\User\Documents\Arduino\libraries\GyverPortal\src/builder.h: In member function 'void Builder::_showFiles(fs::FS*, const String&, const String&, uint8_t)':
c:\Users\User\Documents\Arduino\libraries\GyverPortal\src/builder.h:1123:49: error: 'class fs::File' has no member named 'path'
if (levels) _showFiles(fs, file.path(), odir, levels - 1);
^

exit status 1

Compilation error: exit status 1
 

SCHMaster

✩✩✩✩✩✩✩
20 Дек 2022
14
2
Гм...
Подобная ситуация - не компилится. Ничего. Ни "свое", ни примеры...

C++:
In file included from d:\ARDUINO\Projects\libraries\GyverPortal\src/GyverPortal.h:57:0,
                 from D:\TEMP\.arduinoIDE-unsaved2023010-6908-1ksi9wk.g5vz\demoAllComponents\demoAllComponents.ino:6:
d:\ARDUINO\Projects\libraries\GyverPortal\src/portal.h: In member function 'void GyverPortal::sendFile(fs::File)':
d:\ARDUINO\Projects\libraries\GyverPortal\src/portal.h:1204:33: error: 'getContentType' is not a member of 'mime'
         server.streamFile(file, mime::getContentType(file.name()));
                                 ^

exit status 1

Compilation error: exit status 1
UPD1:
Плата NodeMCU 1.0 (ESP-12E Module) т.е. ESP-8266

UPD2:
В общем этот кусок не работает.
portal.h:
   #ifdef ESP8266
        server.streamFile(file, mime::getContentType(file.name()));
    #else
        server.streamFile(file, GPfileType(file.name()));
    #endif

Но если сделать, как в версии 3.4, т.е. закомментить условие ESP8266, все работает
portal.h:
//    #ifdef ESP8266
//        server.streamFile(file, mime::getContentType(file.name()));
//    #else
        server.streamFile(file, GPfileType(file.name()));
//    #endif
UPD3:
GP.LABEL_BLOCK
- цвет надписи стал черным?
Плёха... Раз пошла такая пьянка - с выбором размера и начертания, то может стоит добавить и выбор цвета для текста?

UPD4:
GP.ICON_FILE
не работает... Не считывает (не отрисовывает) файлы из памяти.

В общем поковырявшись в исходниках, докопался до
getContentType в RequestHandlersImpl.h
Почему ОНО не подтягивается через ESP8266WebServer.h - я х.з.
Недоколупался пока.
Возможно GP.ICON_FILE не работает из-за того, что закомментил server.streamFile(file, mime::getContentType(file.name()));
В общем или нужно колупаться дальше, или ждать исправлений :)
 
Изменено:
  • Лойс +1
Реакции: e.kolych