lightmeter_scene_main.c 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include "../../lightmeter.h"
  2. static void lightmeter_scene_main_on_left(void* context) {
  3. LightMeterApp* app = context;
  4. view_dispatcher_send_custom_event(app->view_dispatcher, LightMeterAppCustomEventConfig);
  5. }
  6. void lightmeter_scene_main_on_enter(void* context) {
  7. LightMeterApp* app = context;
  8. lightmeter_app_i2c_init_sensor(context);
  9. lightmeter_main_view_set_left_callback(app->main_view, lightmeter_scene_main_on_left, app);
  10. view_dispatcher_switch_to_view(app->view_dispatcher, LightMeterAppViewMainView);
  11. }
  12. bool lightmeter_scene_main_on_event(void* context, SceneManagerEvent event) {
  13. LightMeterApp* app = context;
  14. bool response = false;
  15. switch(event.type) {
  16. case SceneManagerEventTypeCustom:
  17. if(event.event == LightMeterAppCustomEventConfig) {
  18. scene_manager_next_scene(app->scene_manager, LightMeterAppSceneConfig);
  19. response = true;
  20. }
  21. break;
  22. case SceneManagerEventTypeTick:
  23. lightmeter_app_i2c_callback(app);
  24. response = true;
  25. break;
  26. default:
  27. break;
  28. }
  29. return response;
  30. }
  31. void lightmeter_scene_main_on_exit(void* context) {
  32. lightmeter_app_i2c_deinit_sensor(context);
  33. }