lightmeter.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. #include <MAX44009.h>
  16. typedef struct {
  17. int iso;
  18. int nd;
  19. int aperture;
  20. int dome;
  21. int backlight;
  22. int lux_only;
  23. int sensor_type;
  24. } LightMeterConfig;
  25. typedef struct {
  26. Gui* gui;
  27. SceneManager* scene_manager;
  28. ViewDispatcher* view_dispatcher;
  29. MainView* main_view;
  30. VariableItemList* var_item_list;
  31. LightMeterConfig* config;
  32. NotificationApp* notifications;
  33. Widget* widget;
  34. } LightMeterApp;
  35. typedef enum {
  36. LightMeterAppViewMainView,
  37. LightMeterAppViewConfigView,
  38. LightMeterAppViewVarItemList,
  39. LightMeterAppViewAbout,
  40. LightMeterAppViewHelp,
  41. } LightMeterAppView;
  42. typedef enum {
  43. LightMeterAppCustomEventConfig,
  44. LightMeterAppCustomEventHelp,
  45. LightMeterAppCustomEventAbout,
  46. } LightMeterAppCustomEvent;
  47. void lightmeter_app_set_config(LightMeterApp* context, LightMeterConfig* config);
  48. void lightmeter_app_i2c_init_sensor(LightMeterApp* context);
  49. void lightmeter_app_i2c_deinit_sensor(LightMeterApp* context);
  50. void lightmeter_app_i2c_callback(LightMeterApp* context);