signal_gen_app_i.h 1014 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. #include "scenes/signal_gen_scene.h"
  3. #include <furi_hal_clock.h>
  4. #include <furi_hal_pwm.h>
  5. #include <gui/gui.h>
  6. #include <gui/view_dispatcher.h>
  7. #include <gui/scene_manager.h>
  8. #include <gui/modules/submenu.h>
  9. #include <gui/modules/variable_item_list.h>
  10. #include <gui/modules/submenu.h>
  11. #include "views/signal_gen_pwm.h"
  12. typedef struct SignalGenApp SignalGenApp;
  13. struct SignalGenApp {
  14. Gui* gui;
  15. ViewDispatcher* view_dispatcher;
  16. SceneManager* scene_manager;
  17. VariableItemList* var_item_list;
  18. Submenu* submenu;
  19. SignalGenPwm* pwm_view;
  20. FuriHalClockMcoSourceId mco_src;
  21. FuriHalClockMcoDivisorId mco_div;
  22. FuriHalPwmOutputId pwm_ch_prev;
  23. FuriHalPwmOutputId pwm_ch;
  24. uint32_t pwm_freq;
  25. uint8_t pwm_duty;
  26. };
  27. typedef enum {
  28. SignalGenViewVarItemList,
  29. SignalGenViewSubmenu,
  30. SignalGenViewPwm,
  31. } SignalGenAppView;
  32. typedef enum {
  33. SignalGenMcoEventUpdate,
  34. SignalGenPwmEventUpdate,
  35. SignalGenPwmEventChannelChange,
  36. } SignalGenCustomEvent;