GyverLibs / GyverPortal

Простой конструктор веб интерфейса для esp8266 и ESP32
MIT License
309 stars 25 forks source link

Проблемы при выборе цвета #64

Closed MrPrivet closed 1 year ago

MrPrivet commented 1 year ago

Итак, сразу прошу прощения за свою криворукость и косноязычность. может проблема у меня в коде, а не в библиотеке. Есть скетч, esp6266 при изменениях на странице, сделанной этой библиотекой, а именно при выборе цвета посредством в блоке build: GP.COLOR("leftCol",leftCol); в блоке action if (ui.clickColor("leftCol", leftCol)) {... в блоке update if (ui.update("leftCol")) ui.answer(leftCol);

при этом при изменении на странице цвета происходит отправка в serial некой строки вида "2,0,0,255,13,10", где 0,255.13 как раз передаваемый цвет. При изменениях вводимых с компьютера все ок, выбирается цвет в пикере и после этого передается несколькими строками в serial. Если же выбирать цвет с телефона происходит следующее: при проведении пальцем по пикеру цвета в сериал спамятся промежуточные значения, потом сайт уходи в офлайн с соответствующим сообщением, при этом esp не перезагружается. потом когда все таки выбираешь цвет и кликаешь ОК на всплывающем окне с сообщением про офлайн в serial опять летят много много промежуточных цветов, хотя я уже не пикаю ничего. В общем можно ли как то не спамить промежуточные результаты в serial а посылать один раз только когда выбор уже сделан?

GyverLibs commented 1 year ago

Какой браузер на телефоне? На хроме полёт нормальный, click прилетает только после окончательного выбора цвета

MrPrivet commented 1 year ago

Проверял на safari и chrome для iOS. Пока заткнул эту проблему кнопкой «обновить», но иногда все равно вываливается окно с уходом в «офлайн». Его можно как то пофиксить? По сути контроллер не перезагружается. Может где торможено тайм-аут увеличить?

GyverLibs commented 1 year ago

Если же выбирать цвет с телефона происходит следующее: при проведении пальцем по пикеру цвета в сериал спамятся промежуточные значения

на iOS такое наблюдается? Скорее всего это баг/фича эпла, не соблюдают стандарты

окно с уходом в «офлайн»

это окно вылезает, когда запрос на update не доходит до контроллера за таймаут. Увеличить можно через GP.setTimeout(миллисекунд), по умолч 1500

MrPrivet commented 1 year ago

в общем не баг а фича