#include "Ozone.h"

// 臭氧控制变量
uint8_t ozone_running = 0;         // 默认不运行
uint32_t ozone_timer = 0;          // 臭氧计时器
uint32_t OZONE_ON_TIME = 1;        // 运行1分钟
uint32_t OZONE_OFF_TIME = 1;       // 停止1分钟

void Ozone_Init(void)
{
    ozone_running = 1;  // 上电直接启动
    ozone_timer = 0;    // 初始化计时器
    Ozone_Control(1);   // 初始状态直接开启
   // printf("Ozone Init OK, starting immediately\n");
}

void Ozone_Control_Update(void)
{
    if(ozone_running)
    {
        // 按1分钟开1分钟关的逻辑运行
        if(ozone_timer <= OZONE_ON_TIME)
        {
            Ozone_Control(1);  // 直接控制，不需要中间变量
         //   printf("臭氧运行中: %d秒\n", ozone_timer);
        }
        else if(ozone_timer <= (OZONE_ON_TIME + OZONE_OFF_TIME))
        {
            Ozone_Control(0);
         //   printf("臭氧暂停中: %d秒\n", ozone_timer);
        }
        else
        {
            ozone_timer = 0;  // 重置计时器，开始新循环
            Ozone_Control(1);
         //   printf("臭氧开始新循环\n");
        }
    }
    else
    {
        // 远程控制关闭时，保持关闭状态
        Ozone_Control(0);
       // printf("臭氧已关闭(远程控制)\n");
    }
}


