lightmeter.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. int backlight;
  21. } LightMeterConfig;
  22. typedef struct {
  23. Gui* gui;
  24. SceneManager* scene_manager;
  25. ViewDispatcher* view_dispatcher;
  26. MainView* main_view;
  27. VariableItemList* var_item_list;
  28. LightMeterConfig* config;
  29. NotificationApp* notifications;
  30. Widget* widget;
  31. } LightMeterApp;
  32. typedef enum {
  33. LightMeterAppViewMainView,
  34. LightMeterAppViewConfigView,
  35. LightMeterAppViewVarItemList,
  36. LightMeterAppViewAbout,
  37. LightMeterAppViewHelp,
  38. } LightMeterAppView;
  39. typedef enum {
  40. LightMeterAppCustomEventConfig,
  41. LightMeterAppCustomEventHelp,
  42. LightMeterAppCustomEventAbout,
  43. } LightMeterAppCustomEvent;
  44. void lightmeter_app_set_config(LightMeterApp* context, LightMeterConfig* config);
  45. void lightmeter_app_i2c_callback(LightMeterApp* context);