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.

53 lines
1.4 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. #ifndef __OZONE_WORK_H__
  2. #define __OZONE_WORK_H__
  3. #include <stdbool.h> //���岼��
  4. #include <stdint.h>
  5. #include <string.h>
  6. #include "port.h"
  7. #include "timer.h"
  8. #include "systick.h"
  9. #include "adc.h"
  10. #define LED_INIT(_bool, _port_led_set) \
  11. { .set_led_state = _bool, .port_led_set = _port_led_set }
  12. typedef void (*port_led_set_t)(bool state);
  13. typedef struct {
  14. bool set_led_state;
  15. port_led_set_t port_led_set;
  16. } led_t,rgb_t;
  17. static led_t s_leds[] = {
  18. LED_INIT(false, port_led0_set),
  19. LED_INIT(false, port_led1_set),
  20. LED_INIT(false, port_led2_set),
  21. LED_INIT(false, port_led3_set),
  22. };
  23. static rgb_t s_rgb[] = {
  24. LED_INIT(false, port_led_r_set),
  25. LED_INIT(false, port_led_g_set),
  26. LED_INIT(false, port_led_b_set),
  27. };
  28. void gears_led_on(uint8_t led_number);
  29. void timing_led_on(uint8_t led_number);
  30. void set_ozen_gears(int ozen_gears);
  31. void ozone_work_mode(int mode);
  32. void set_ozone_work_time(void);
  33. void timing_ozone_work_over(void);
  34. void is_ozone_work_time_over(void);
  35. void is_ozone_interva_time_over(void);
  36. void set_interval_time(void);
  37. static void ozone_interval_begin(void);
  38. static void close_ozone_work(void);
  39. bool get_ozone_starting_up_state(void);
  40. void process_switch_key(void);
  41. void power_on_ozone_work_state(void);
  42. void process_voltage_abnormal(void);
  43. #endif