lightmeter.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #pragma once
  2. #include <furi.h>
  3. #include <furi_hal.h>
  4. #include <gui/gui.h>
  5. #include <gui/view.h>
  6. #include <gui/view_dispatcher.h>
  7. #include <gui/scene_manager.h>
  8. #include "gui/views/main_view.h"
  9. #include <gui/modules/widget.h>
  10. #include <gui/modules/variable_item_list.h>
  11. #include "gui/scenes/config/lightmeter_scene.h"
  12. #include <notification/notification_messages.h>
  13. #include "lightmeter_config.h"
  14. #include <BH1750.h>
  15. typedef struct {
  16. int iso;
  17. int nd;
  18. int aperture;
  19. int dome;
  20. } LightMeterConfig;
  21. typedef struct {
  22. Gui* gui;
  23. SceneManager* scene_manager;
  24. ViewDispatcher* view_dispatcher;
  25. MainView* main_view;
  26. VariableItemList* var_item_list;
  27. LightMeterConfig* config;
  28. NotificationApp* notifications;
  29. Widget* widget;
  30. } LightMeterApp;
  31. typedef enum {
  32. LightMeterAppViewMainView,
  33. LightMeterAppViewConfigView,
  34. LightMeterAppViewVarItemList,
  35. LightMeterAppViewAbout,
  36. LightMeterAppViewHelp,
  37. } LightMeterAppView;
  38. typedef enum {
  39. LightMeterAppCustomEventConfig,
  40. LightMeterAppCustomEventHelp,
  41. LightMeterAppCustomEventAbout,
  42. } LightMeterAppCustomEvent;
  43. void lightmeter_app_set_config(LightMeterApp* context, LightMeterConfig* config);
  44. void lightmeter_app_i2c_callback(LightMeterApp* context);