heatpump_controller.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. } hp_controller_t;
  24. extern hp_controller_t hp_controller;
  25. /**
  26. * 热泵控制器初始化
  27. */
  28. void heatpump_controller_init(system_setting_t *setting);
  29. /**
  30. * 设置电源
  31. * @param saved
  32. * @return
  33. */
  34. esp_err_t heatpump_set_power(bool saved);
  35. /**
  36. * 设置模式
  37. * @param mode
  38. * @return
  39. */
  40. esp_err_t heatpump_set_mode(uint8_t mode);
  41. /**
  42. * 设置温度
  43. * @param temp
  44. * @return
  45. */
  46. esp_err_t heatpump_set_temp(uint16_t temp);
  47. /**
  48. * 设置分集水器某一路的开或关
  49. * @param no
  50. * @param value
  51. * @return
  52. */
  53. esp_err_t set_relay_status(uint8_t no, uint8_t value);
  54. /**
  55. * 设置内外机联动
  56. * @return
  57. */
  58. esp_err_t heatpump_set_linkage();
  59. #endif //WJ_WIRE_CONTROLLER_HEATPUMP_CONTROLLER_H