scope_app_i.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #pragma once
  2. #include "scenes/scope_types.h"
  3. #include "scenes/scope_scene.h"
  4. #include <gui/gui.h>
  5. #include <gui/view_dispatcher.h>
  6. #include <gui/scene_manager.h>
  7. #include <gui/modules/submenu.h>
  8. #include <gui/modules/variable_item_list.h>
  9. #include <gui/modules/widget.h>
  10. #include <notification/notification_messages.h>
  11. typedef struct ScopeApp ScopeApp;
  12. typedef struct {
  13. double time;
  14. char* str;
  15. } timeperiod;
  16. static const timeperiod time_list[] =
  17. {{1.0, "1s"}, {0.1, "0.1s"}, {1e-3, "1ms"}, {0.1e-3, "0.1ms"}, {1e-6, "1us"}};
  18. enum measureenum { m_time, m_voltage };
  19. typedef struct {
  20. enum measureenum type;
  21. char* str;
  22. } measurement;
  23. static const measurement measurement_list[] = {{m_time, "Time"}, {m_voltage, "Voltage"}};
  24. struct ScopeApp {
  25. Gui* gui;
  26. ViewDispatcher* view_dispatcher;
  27. SceneManager* scene_manager;
  28. NotificationApp* notifications;
  29. VariableItemList* variable_item_list;
  30. Submenu* submenu;
  31. Widget* widget;
  32. double time;
  33. enum measureenum measurement;
  34. };