//
// Created by DELL on 2025/2/10.
//
#include "fan.h"
#include "main.h"
#include "tim.h"

uint8_t dipBuf[3];
uint8_t dipNum;
/**
 * 排风风机控制
 * @param speed
 */
PWMComParam_t PWMComParam[3]=
        {
                {
                    .htim=&htim8,
                    .timChannel=TIM_CHANNEL_1,
                },
                {
                    .htim=&htim8,
                    .timChannel=TIM_CHANNEL_2,
                },
                {
                    .htim=&htim8,
                    .timChannel=TIM_CHANNEL_3,
                },

        };
dipComParam_t dipComParam[5]=
        {
                {
                    .GPIOx=GPIOB,
                    .GPIO_Pin=GPIO_PIN_5,
                },
                {
                        .GPIOx=GPIOB,
                        .GPIO_Pin=GPIO_PIN_6,
                },
                {
                        .GPIOx=GPIOB,
                        .GPIO_Pin=GPIO_PIN_7,
                },
                {
                        .GPIOx=GPIOB,
                        .GPIO_Pin=GPIO_PIN_8,
                },
                {
                        .GPIOx=GPIOB,
                        .GPIO_Pin=GPIO_PIN_9,
                }
        };
uint8_t read_dip5()
{
    int n=0;
    for(int i=0;i<5;i++)
    {
        if(n>2)
        {
            break;
        }
        if(HAL_GPIO_ReadPin(dipComParam[i].GPIOx, dipComParam[i].GPIO_Pin)==GPIO_PIN_RESET)
        {
            dipBuf[n]=i;
            n++;
        }
    }
    if(n==0)
    {
        n=3;
        dipBuf[0]=0;
        dipBuf[1]=1;
        dipBuf[2]=2;
    }
    return n;
}
void fan_control(PWMComParam_t PWMParam,uint8_t speed) {
            __HAL_TIM_SetCompare(PWMParam.htim, PWMParam.timChannel, speed);

}

