scope_app_i.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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"},
  18. {0.1, "0.1s"},
  19. {1e-3, "1ms"},
  20. {0.1e-3, "0.1ms"},
  21. {1e-6, "1us"},
  22. {0.5e-6, "0.5us"}
  23. };
  24. enum measureenum {m_time, m_voltage};
  25. typedef struct {
  26. enum measureenum type;
  27. char * str;
  28. } measurement;
  29. static const measurement measurement_list[] = {
  30. {m_time, "Time"},
  31. {m_voltage, "Voltage"}
  32. };
  33. struct ScopeApp {
  34. Gui* gui;
  35. ViewDispatcher* view_dispatcher;
  36. SceneManager* scene_manager;
  37. NotificationApp* notifications;
  38. VariableItemList* variable_item_list;
  39. Submenu* submenu;
  40. Widget* widget;
  41. double time ;
  42. enum measureenum measurement;
  43. };