lightmeter.h 1.3 KB

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