Advertisement
nene1234

Lilka Ip address

Jul 3rd, 2025
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.14 KB | Software | 0 0
  1. #include "ipapp.h"
  2. #include "servicemanager.h"
  3. #include "services/network.h"
  4.  
  5. IPApp::IPApp() : App("IP Address") {
  6. }
  7.  
  8. void IPApp::run() {
  9.     while (true) {
  10.         NetworkService* networkService = static_cast<NetworkService*>(ServiceManager::getInstance()->getService<NetworkService>("network"));
  11.         String ipAddress = networkService ? networkService->getIpAddr().c_str() : "";
  12.  
  13.         // Читаємо стан кнопок
  14.         lilka::State state = lilka::controller.getState();
  15.        
  16.         // Якщо натиснуто кнопку A або B - виходимо з програми
  17.         if (state.a.pressed || state.b.pressed) {
  18.             return;
  19.         }
  20.        
  21.         if (!canvas) return;
  22.  
  23.         // Заповнюємо екран чорним кольором
  24.         canvas->fillScreen(canvas->color565(0, 0, 0));
  25.        
  26.         // Виводимо заголовок
  27.         canvas->setTextColor(canvas->color565(255, 255, 255));
  28.         canvas->setTextSize(2);
  29.         canvas->setCursor(10, 30);
  30.         canvas->print("IP Адреса:");
  31.        
  32.         // Виводимо IP адресу
  33.         canvas->setTextSize(3);
  34.         canvas->setCursor(10, 80);
  35.         if (ipAddress.length() > 0 && ipAddress != "0.0.0.0") {
  36.             canvas->setTextColor(canvas->color565(0, 255, 0)); // Зелений колір
  37.             canvas->print(ipAddress);
  38.         } else {
  39.             canvas->setTextColor(canvas->color565(255, 0, 0)); // Червоний колір
  40.             canvas->print("Не підключено");
  41.         }
  42.        
  43.         // Виводимо інструкцію для виходу
  44.         canvas->setTextSize(1);
  45.         canvas->setTextColor(canvas->color565(128, 128, 128));
  46.         canvas->setCursor(10, canvas->height() - 20);
  47.         canvas->print("Натисніть A або B для виходу");
  48.        
  49.         // Повідомляємо Keira про оновлення буфера
  50.         lilka::display.drawCanvas(canvas);
  51.        
  52.         // Невелика затримка для зменшення навантаження
  53.         delay(100);
  54.     }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement