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.

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