This repository has been archived by the owner on Feb 16, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 26
Окно лога
AlexGyver edited this page Oct 2, 2022
·
2 revisions
В библиотеке реализована возможность делать print()
в специальное окно лога на странице:
- Окно лога можно создать только одно
- Обновление происходит автоматически, раз в секунду
- Обновление происходит без перезагрузки страницы
- Можно отправлять любые данные, как Serial (
print()
,println()
) - Читать лог может только один клиент (браузер, на котором открыта страница). Если открыть с двух браузеров - данные будет получать только один из них!
Добавляем GP.AREA_LOG(к-во строк)
в нужное место страницы
Вызываем portal.log.start(размер буфера)
. Размер буфера по умолчанию 64 символа
- Примечание: это размер буфера на стороне библиотеки, то есть ограничение на количество символов на одну отправку на страницу (раз в секунду). У страницы браузера свой буфер для отображения текста!
Просто вызываем portal.log.print()
или portal.log.println()
как у обычного Serial.
См. пример demoLog
В этом случае можно создать несколько объектов логов, которые будут работать параллельно друг другу. Нужно:
- Создать объект
GPlog лог("имя");
- Запустить:
лог.start();
илилог.start(размер_буфера);
- В конструкторе вызвать
GP.AREA_LOG(лог);
- В обработчике действий ответить на обновление
update
специальным обработчикомupdateLog(лог);
- В любом месте программы печатать в лог, как в монитор порта
лог.print()
илилог.println()
GPlog glog1("log1");
GPlog glog2("log2");
void setup() {
glog1.start(30); // передали размер буфера
glog2.start();
}
void build() {
GP.BUILD_BEGIN();
GP.THEME(GP_DARK);
GP.AREA_LOG(glog1);
GP.AREA_LOG(glog2);
GP.BUILD_END();
}
void action() {
if (portal.update()) {
portal.updateLog(glog1);
portal.updateLog(glog2);
}
}
void loop() {
glog1.print(123123);
glog2.println(456456);
}
См. пример demoLogManual
Документация в разработке, некоторые ссылки пока никуда не ведут
- Введение
- Действия
- Компоненты
- Файлы
- Системные модули
- Дизайн и вёрстка
- Всякие трюки