ublox_i.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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 <gui/modules/text_input.h>
  16. #include <gui/modules/validators.h>
  17. #include <notification/notification_messages.h>
  18. #include <storage/storage.h>
  19. #include <storage/filesystem_api_defines.h>
  20. #include "scenes/ublox_scene.h"
  21. #include <ublox_icons.h>
  22. #include "views/data_display_view.h"
  23. #include "helpers/ublox_custom_event.h"
  24. #include "helpers/kml.h"
  25. extern const NotificationSequence sequence_new_reading;
  26. struct Ublox {
  27. ViewDispatcher* view_dispatcher;
  28. Gui* gui;
  29. SceneManager* scene_manager;
  30. Submenu* submenu;
  31. Widget* widget;
  32. VariableItemList* variable_item_list;
  33. TextInput* text_input;
  34. DataDisplayView* data_display;
  35. Storage* storage;
  36. NotificationApp* notifications;
  37. UbloxWorker* worker;
  38. // file stuff
  39. KMLFile kmlfile;
  40. UbloxLogState log_state;
  41. FuriString* logfile_folder;
  42. char text_store[100];
  43. Ublox_NAV_PVT_Message nav_pvt;
  44. Ublox_NAV_ODO_Message nav_odo;
  45. Ublox_NAV_TIMEUTC_Message nav_timeutc;
  46. UbloxDataDisplayState data_display_state;
  47. UbloxDeviceState device_state;
  48. bool gps_initted;
  49. };
  50. typedef enum {
  51. UbloxViewMenu,
  52. UbloxViewWidget,
  53. UbloxViewVariableItemList,
  54. UbloxViewTextInput,
  55. // custom
  56. UbloxViewDataDisplay,
  57. } UbloxView;
  58. Ublox* ublox_alloc();