#pragma once #include "scenes/signal_gen_scene.h" #include "furi_hal_clock.h" #include "furi_hal_pwm.h" #include #include #include #include #include #include #include "views/signal_gen_pwm.h" typedef struct SignalGenApp SignalGenApp; struct SignalGenApp { Gui* gui; ViewDispatcher* view_dispatcher; SceneManager* scene_manager; VariableItemList* var_item_list; Submenu* submenu; SignalGenPwm* pwm_view; FuriHalClockMcoSourceId mco_src; FuriHalClockMcoDivisorId mco_div; FuriHalPwmOutputId pwm_ch_prev; FuriHalPwmOutputId pwm_ch; uint32_t pwm_freq; uint8_t pwm_duty; }; typedef enum { SignalGenViewVarItemList, SignalGenViewSubmenu, SignalGenViewPwm, } SignalGenAppView; typedef enum { SignalGenMcoEventUpdate, SignalGenPwmEventUpdate, SignalGenPwmEventChannelChange, } SignalGenCustomEvent;