Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "ipapp.h"
- #include "servicemanager.h"
- #include "services/network.h"
- IPApp::IPApp() : App("IP Address") {
- }
- void IPApp::run() {
- while (true) {
- NetworkService* networkService = static_cast<NetworkService*>(ServiceManager::getInstance()->getService<NetworkService>("network"));
- String ipAddress = networkService ? networkService->getIpAddr().c_str() : "";
- // Читаємо стан кнопок
- lilka::State state = lilka::controller.getState();
- // Якщо натиснуто кнопку A або B - виходимо з програми
- if (state.a.pressed || state.b.pressed) {
- return;
- }
- if (!canvas) return;
- // Заповнюємо екран чорним кольором
- canvas->fillScreen(canvas->color565(0, 0, 0));
- // Виводимо заголовок
- canvas->setTextColor(canvas->color565(255, 255, 255));
- canvas->setTextSize(2);
- canvas->setCursor(10, 30);
- canvas->print("IP Адреса:");
- // Виводимо IP адресу
- canvas->setTextSize(3);
- canvas->setCursor(10, 80);
- if (ipAddress.length() > 0 && ipAddress != "0.0.0.0") {
- canvas->setTextColor(canvas->color565(0, 255, 0)); // Зелений колір
- canvas->print(ipAddress);
- } else {
- canvas->setTextColor(canvas->color565(255, 0, 0)); // Червоний колір
- canvas->print("Не підключено");
- }
- // Виводимо інструкцію для виходу
- canvas->setTextSize(1);
- canvas->setTextColor(canvas->color565(128, 128, 128));
- canvas->setCursor(10, canvas->height() - 20);
- canvas->print("Натисніть A або B для виходу");
- // Повідомляємо Keira про оновлення буфера
- lilka::display.drawCanvas(canvas);
- // Невелика затримка для зменшення навантаження
- delay(100);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement