ublox_i.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #pragma once
  2. #include "ublox.h"
  3. #include "ublox_worker.h"
  4. #include "ublox_device.h"
  5. #include "helpers/ublox_types.h"
  6. #include <furi.h>
  7. #include <furi_hal.h>
  8. #include <gui/gui.h>
  9. #include <gui/view.h>
  10. #include <gui/view_dispatcher.h>
  11. #include <gui/scene_manager.h>
  12. #include <gui/modules/submenu.h>
  13. #include <gui/modules/widget.h>
  14. #include <gui/modules/variable_item_list.h>
  15. #include <notification/notification_messages.h>
  16. #include "scenes/ublox_scene.h"
  17. #include <ublox_icons.h>
  18. #include "views/data_display_view.h"
  19. #include "helpers/ublox_custom_event.h"
  20. struct Ublox {
  21. ViewDispatcher* view_dispatcher;
  22. Gui* gui;
  23. SceneManager* scene_manager;
  24. Submenu* submenu;
  25. Widget* widget;
  26. VariableItemList* variable_item_list;
  27. DataDisplayView* data_display;
  28. NotificationApp* notifications;
  29. UbloxWorker* worker;
  30. FuriTimer* timer;
  31. Ublox_NAV_PVT_Message nav_pvt;
  32. Ublox_NAV_ODO_Message nav_odo;
  33. UbloxDataDisplayState data_display_state;
  34. UbloxDeviceState device_state;
  35. bool gps_initted;
  36. };
  37. typedef enum {
  38. UbloxViewMenu,
  39. UbloxViewWidget,
  40. UbloxViewDataDisplay,
  41. UbloxViewVariableItemList,
  42. } UbloxView;
  43. Ublox* ublox_alloc();