You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
2.6 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. #include "camera.h"
  2. //
  3. extern "C"
  4. {
  5. #include "ble_spp_server_demo.h"
  6. #include "light.h"
  7. #include "key.h"
  8. #include "wifi.h"
  9. #include "heating_plate.h"
  10. #include "temp.h"
  11. }
  12. /***********************************************************************************************************************
  13. * *******************************************************light******************************************************* *
  14. ***********************************************************************************************************************/
  15. power_state_light_structer_t power_state_light_structer = {
  16. .state = ShutDown,
  17. .change_flag = false,
  18. };
  19. heating_plate_state_light_structer_t heating_plate_state_light_structer = {
  20. .state = NoHeat,
  21. .change_flag = false,
  22. };
  23. reaction_state_light_structer_t reaction_state_light_structer = {
  24. .state = NoReaction,
  25. .change_flag = false,
  26. };
  27. wifi_state_light_structer_t wifi_state_light_structer = {
  28. .state = NotConnected,
  29. .change_flag = false,
  30. };
  31. /***********************************************************************************************************************
  32. * ********************************************************key******************************************************** *
  33. ***********************************************************************************************************************/
  34. T_key_structer_t T_key_structer = {
  35. .key_before_state = false,
  36. .key_now_state = false,
  37. };
  38. static void T_all_light_init(void)
  39. {
  40. T_power_light_init(&power_state_light_structer);
  41. T_heating_plate_state_light_init(&heating_plate_state_light_structer);
  42. T_reaction_state_light_init(&reaction_state_light_structer);
  43. T_wifi_state_light_init(&wifi_state_light_structer);
  44. }
  45. /* 有反应板的处理 */
  46. void process_camera_identifies_successful_event(void) {}
  47. /* 没有反应板的处理(加热) */
  48. void process_camera_identifies_failed_event(void)
  49. {
  50. if (T_temp_get_data() <= 48.0)
  51. {
  52. T_heating_plate_start();
  53. }
  54. }
  55. void process_key_event(void)
  56. {
  57. if (camera_recognition_reaction_plate())
  58. {
  59. /* 有反应板的处理 */
  60. }
  61. else
  62. {
  63. /* 没有反应板的处理(加热) */
  64. if (T_temp_get_data() <= 48.0)
  65. {
  66. T_heating_plate_start();
  67. }
  68. }
  69. }
  70. extern "C" void app_main(void)
  71. {
  72. T_debug_light_init();
  73. T_all_light_init();
  74. ble_spp_server_init();
  75. camera_init();
  76. T_key_init(&T_key_structer);
  77. T_wifi_init();
  78. T_temp_init();
  79. T_key_registered_cb(process_key_event);
  80. T_wifi_registered_cb();
  81. while (true)
  82. {
  83. T_debug_light_schedule();
  84. T_key_schedule();
  85. T_heating_plate_schedule();
  86. }
  87. }