heatpump_controller.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /**
  2. * @Author: 李建
  3. * @Date: 2025/9/9 13:55
  4. * Description: 热泵控制器
  5. * Copyright: Copyright (©) 2025 永续绿建. All rights reserved.
  6. */
  7. #ifndef WJ_WIRE_CONTROLLER_HEATPUMP_CONTROLLER_H
  8. #define WJ_WIRE_CONTROLLER_HEATPUMP_CONTROLLER_H
  9. #include <esp_err.h>
  10. #include "main.h"
  11. typedef struct {
  12. uint16_t power;
  13. uint16_t mode;
  14. uint16_t heat_set_temp;
  15. uint16_t cool_set_temp;
  16. uint16_t outdoor_temp;
  17. uint16_t in_water_temp;
  18. uint16_t out_water_temp;
  19. uint16_t relay_status;
  20. // 分集水器是否存在
  21. uint16_t fjsq_exist;
  22. uint16_t linkage; // 内外机是否联动
  23. uint16_t error;// 故障
  24. } hp_controller_t;
  25. extern hp_controller_t hp_controller;
  26. /**
  27. * 热泵控制器初始化
  28. */
  29. void heatpump_controller_init(system_setting_t *setting);
  30. /**
  31. * 设置电源
  32. * @param saved
  33. * @return
  34. */
  35. esp_err_t heatpump_set_power(bool saved);
  36. /**
  37. * 设置模式
  38. * @param mode
  39. * @return
  40. */
  41. esp_err_t heatpump_set_mode(uint8_t mode);
  42. /**
  43. * 设置温度
  44. * @param temp
  45. * @return
  46. */
  47. esp_err_t heatpump_set_temp(uint16_t temp);
  48. /**
  49. * 设置分集水器某一路的开或关
  50. * @param no
  51. * @param value
  52. * @return
  53. */
  54. esp_err_t set_relay_status(uint8_t no, uint8_t value);
  55. /**
  56. * 设置内外机联动
  57. * @return
  58. */
  59. esp_err_t heatpump_set_linkage();
  60. void stop_controller();
  61. #endif //WJ_WIRE_CONTROLLER_HEATPUMP_CONTROLLER_H