last_docs = {"—", "—", "—"};
std::array last_msgs = {"—", "—", "—"};
bool gps_valid = false;
float gps_lat = 0.0f;
float gps_lon = 0.0f;
std::string time_text = "--:--";
std::string name_masked = "********";
std::string qr_hint = "ID QR";
};
void obb_tiles_dashboard_init(lv_obj_t *root);
void obb_tiles_dashboard_on_swipe(lv_dir_t dir);
void obb_dashboard_set_status(const obb_status_bar_t &status);
void obb_dashboard_set_tile5_snapshot(const obb_tile5_snapshot_t &snapshot);
} // namespace obb">
last_docs = {"—", "—", "—"};
std::array last_msgs = {"—", "—", "—"};
bool gps_valid = false;
float gps_lat = 0.0f;
float gps_lon = 0.0f;
std::string time_text = "--:--";
std::string name_masked = "********";
std::string qr_hint = "ID QR";
};
void obb_tiles_dashboard_init(lv_obj_t *root);
void obb_tiles_dashboard_on_swipe(lv_dir_t dir);
void obb_dashboard_set_status(const obb_status_bar_t &status);
void obb_dashboard_set_tile5_snapshot(const obb_tile5_snapshot_t &snapshot);
} // namespace obb">
last_docs = {"—", "—", "—"};
std::array last_msgs = {"—", "—", "—"};
bool gps_valid = false;
float gps_lat = 0.0f;
float gps_lon = 0.0f;
std::string time_text = "--:--";
std::string name_masked = "********";
std::string qr_hint = "ID QR";
};
void obb_tiles_dashboard_init(lv_obj_t *root);
void obb_tiles_dashboard_on_swipe(lv_dir_t dir);
void obb_dashboard_set_status(const obb_status_bar_t &status);
void obb_dashboard_set_tile5_snapshot(const obb_tile5_snapshot_t &snapshot);
} // namespace obb">
#pragma once
#include <array>
#include <string>
#include <lvgl.h>
namespace obb {
struct obb_status_bar_t {
int8_t signal_dbm = -99;
uint8_t packet_loss = 0;
uint8_t notif_count = 0;
uint8_t alert_level = 0; // 0=OK, 1=Warn, 2=Critique
bool emergency_latched = false;
};
struct obb_tile5_snapshot_t {
std::string station_k = "?";
std::string region = "N/A";
std::array<std::string, 3> last_docs = {"—", "—", "—"};
std::array<std::string, 3> last_msgs = {"—", "—", "—"};
bool gps_valid = false;
float gps_lat = 0.0f;
float gps_lon = 0.0f;
std::string time_text = "--:--";
std::string name_masked = "********";
std::string qr_hint = "ID QR";
};
void obb_tiles_dashboard_init(lv_obj_t *root);
void obb_tiles_dashboard_on_swipe(lv_dir_t dir);
void obb_dashboard_set_status(const obb_status_bar_t &status);
void obb_dashboard_set_tile5_snapshot(const obb_tile5_snapshot_t &snapshot);
} // namespace obb