relay.c 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. //
  2. // Created by lxd on 2025/9/15.
  3. //
  4. #include "include/relay.h"
  5. #include"extend_io.h"
  6. #include <esp_log.h>
  7. static const char* TAG = "RELAY";
  8. void relay_init(void) {
  9. hc595_gpio_write(TW_GPIO, 0);
  10. hc595_gpio_write(LOW_GPIO, 0);
  11. hc595_gpio_write(MID_GPIO, 0);
  12. hc595_gpio_write(HIGH_GPIO, 0);
  13. }
  14. void tw_valve_open(void) {
  15. ESP_LOGE(TAG, "tw_valve_open.\n");
  16. hc595_gpio_write(TW_GPIO, 1);
  17. }
  18. void tw_valve_close(void) {
  19. ESP_LOGE(TAG, "tw_valve_close.\n");
  20. hc595_gpio_write(TW_GPIO, 0);
  21. }
  22. void set_fan_relay(uint16_t value) {
  23. if (value==1) {
  24. hc595_gpio_write(LOW_GPIO, 1);
  25. hc595_gpio_write(MID_GPIO, 0);
  26. hc595_gpio_write(HIGH_GPIO, 0);
  27. }else if (value==2) {
  28. hc595_gpio_write(LOW_GPIO, 0);
  29. hc595_gpio_write(MID_GPIO, 1);
  30. hc595_gpio_write(HIGH_GPIO, 0);
  31. }else if (value==3) {
  32. hc595_gpio_write(LOW_GPIO, 0);
  33. hc595_gpio_write(MID_GPIO, 0);
  34. hc595_gpio_write(HIGH_GPIO, 1);
  35. }else {
  36. hc595_gpio_write(LOW_GPIO, 0);
  37. hc595_gpio_write(MID_GPIO, 0);
  38. hc595_gpio_write(HIGH_GPIO, 0);
  39. }
  40. }