desktop_debug.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #pragma once
  2. #include <gui/gui_i.h>
  3. #include <gui/view.h>
  4. #include <gui/canvas.h>
  5. #include <gui/elements.h>
  6. #include <furi.h>
  7. #include <storage/storage.h>
  8. #include <time.h>
  9. #include "desktop_events.h"
  10. typedef struct DesktopDebugView DesktopDebugView;
  11. typedef void (*DesktopDebugViewCallback)(DesktopEvent event, void* context);
  12. // Debug info
  13. typedef enum {
  14. DesktopViewStatsFw,
  15. DesktopViewStatsBoot,
  16. DesktopViewStatsMeta,
  17. DesktopViewStatsTotalCount,
  18. } DesktopViewStatsScreens;
  19. struct DesktopDebugView {
  20. View* view;
  21. DesktopDebugViewCallback callback;
  22. void* context;
  23. };
  24. typedef struct {
  25. uint32_t icounter;
  26. uint32_t butthurt;
  27. uint64_t timestamp;
  28. DesktopViewStatsScreens screen;
  29. } DesktopDebugViewModel;
  30. void desktop_debug_set_callback(
  31. DesktopDebugView* debug_view,
  32. DesktopDebugViewCallback callback,
  33. void* context);
  34. View* desktop_debug_get_view(DesktopDebugView* debug_view);
  35. DesktopDebugView* desktop_debug_alloc();
  36. void desktop_debug_free(DesktopDebugView* debug_view);
  37. void desktop_debug_get_dolphin_data(DesktopDebugView* debug_view);
  38. void desktop_debug_reset_screen_idx(DesktopDebugView* debug_view);