257 lines
6.5 KiB
C
257 lines
6.5 KiB
C
/*******************************************************************************
|
|
* the includes
|
|
******************************************************************************/
|
|
#include "hwctrl.h"
|
|
|
|
|
|
/*******************************************************************************
|
|
* the defines
|
|
******************************************************************************/
|
|
#define DCF1_GPIO GPIOB
|
|
#define DCF1_PIN FL_GPIO_PIN_11
|
|
#define DCF2_GPIO GPIOC
|
|
#define DCF2_PIN FL_GPIO_PIN_5
|
|
#define DCF3_GPIO GPIOC
|
|
#define DCF3_PIN FL_GPIO_PIN_10
|
|
#define DCF4_GPIO GPIOC
|
|
#define DCF4_PIN FL_GPIO_PIN_8
|
|
#define DCF5_GPIO GPIOA
|
|
#define DCF5_PIN FL_GPIO_PIN_3
|
|
#define DCF6_GPIO GPIOA
|
|
#define DCF6_PIN FL_GPIO_PIN_4
|
|
#define DCF7_GPIO GPIOA
|
|
#define DCF7_PIN FL_GPIO_PIN_6
|
|
#define DCF8_GPIO GPIOB
|
|
#define DCF8_PIN FL_GPIO_PIN_9
|
|
#define DCF9_GPIO GPIOA
|
|
#define DCF9_PIN FL_GPIO_PIN_2
|
|
#define DCF10_GPIO GPIOA
|
|
#define DCF10_PIN FL_GPIO_PIN_15
|
|
|
|
#define V2_12V_CTRL_GPIO GPIOB
|
|
#define V2_12V_CTRL_PIN FL_GPIO_PIN_12
|
|
#define V2_12V_DEN_GPIO GPIOC
|
|
#define V2_12V_DEN_PIN FL_GPIO_PIN_0
|
|
|
|
#define AP_CTRL_GPIO GPIOA
|
|
#define AP_CTRL_PIN FL_GPIO_PIN_5
|
|
#define AP_DEN_GPIO GPIOA
|
|
#define AP_DEN_PIN FL_GPIO_PIN_8
|
|
|
|
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
* the typedefs
|
|
******************************************************************************/
|
|
|
|
|
|
/*******************************************************************************
|
|
* the globals
|
|
******************************************************************************/
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
* the const
|
|
******************************************************************************/
|
|
|
|
|
|
|
|
/*******************************************************************************
|
|
* the functions
|
|
******************************************************************************/
|
|
|
|
void hw_gpio_init(void)
|
|
{
|
|
|
|
FL_GPIO_ResetOutputPin(DCF1_GPIO, DCF1_PIN);
|
|
FL_GPIO_ResetOutputPin(DCF2_GPIO, DCF2_PIN);
|
|
FL_GPIO_ResetOutputPin(DCF3_GPIO, DCF3_PIN);
|
|
FL_GPIO_ResetOutputPin(DCF4_GPIO, DCF4_PIN);
|
|
FL_GPIO_ResetOutputPin(DCF5_GPIO, DCF5_PIN);
|
|
FL_GPIO_ResetOutputPin(DCF6_GPIO, DCF6_PIN);
|
|
FL_GPIO_ResetOutputPin(DCF7_GPIO, DCF7_PIN);
|
|
FL_GPIO_ResetOutputPin(DCF8_GPIO, DCF8_PIN);
|
|
FL_GPIO_ResetOutputPin(DCF9_GPIO, DCF9_PIN);
|
|
FL_GPIO_ResetOutputPin(DCF10_GPIO, DCF10_PIN);
|
|
|
|
GPIO_InitStruct.pin = DCF1_PIN;
|
|
GPIO_InitStruct.mode = FL_GPIO_MODE_OUTPUT;
|
|
GPIO_InitStruct.outputType = FL_GPIO_OUTPUT_PUSHPULL;
|
|
GPIO_InitStruct.pull = FL_DISABLE;
|
|
FL_GPIO_Init(DCF1_GPIO, &GPIO_InitStruct);
|
|
|
|
GPIO_InitStruct.pin = DCF1_PIN;
|
|
FL_GPIO_Init(DCF1_GPIO, &GPIO_InitStruct);
|
|
GPIO_InitStruct.pin = DCF2_PIN;
|
|
FL_GPIO_Init(DCF2_GPIO, &GPIO_InitStruct);
|
|
GPIO_InitStruct.pin = DCF3_PIN;
|
|
FL_GPIO_Init(DCF3_GPIO, &GPIO_InitStruct);
|
|
GPIO_InitStruct.pin = DCF4_PIN;
|
|
FL_GPIO_Init(DCF4_GPIO, &GPIO_InitStruct);
|
|
GPIO_InitStruct.pin = DCF5_PIN;
|
|
FL_GPIO_Init(DCF5_GPIO, &GPIO_InitStruct);
|
|
GPIO_InitStruct.pin = DCF6_PIN;
|
|
FL_GPIO_Init(DCF6_GPIO, &GPIO_InitStruct);
|
|
GPIO_InitStruct.pin = DCF7_PIN;
|
|
FL_GPIO_Init(DCF7_GPIO, &GPIO_InitStruct);
|
|
GPIO_InitStruct.pin = DCF8_PIN;
|
|
FL_GPIO_Init(DCF8_GPIO, &GPIO_InitStruct);
|
|
GPIO_InitStruct.pin = DCF9_PIN;
|
|
FL_GPIO_Init(DCF9_GPIO, &GPIO_InitStruct);
|
|
GPIO_InitStruct.pin = DCF10_PIN;
|
|
FL_GPIO_Init(DCF10_GPIO, &GPIO_InitStruct);
|
|
|
|
}
|
|
|
|
void DCF_control(DCFCH_TypeDef channel, uint8_t state)
|
|
{
|
|
switch (channel)
|
|
{
|
|
case DCF1:
|
|
if (state == DCF_OFF)
|
|
{
|
|
FL_GPIO_ResetOutputPin(DCF1_GPIO, DCF1_PIN);
|
|
}
|
|
else
|
|
{
|
|
FL_GPIO_SetOutputPin(DCF1_GPIO, DCF1_PIN);
|
|
}
|
|
|
|
break;
|
|
case DCF2:
|
|
if (state == DCF_OFF)
|
|
{
|
|
FL_GPIO_ResetOutputPin(DCF2_GPIO, DCF2_PIN);
|
|
}
|
|
else
|
|
{
|
|
FL_GPIO_SetOutputPin(DCF2_GPIO, DCF2_PIN);
|
|
}
|
|
break;
|
|
|
|
case DCF3:
|
|
if (state == DCF_OFF)
|
|
{
|
|
FL_GPIO_ResetOutputPin(DCF3_GPIO, DCF3_PIN);
|
|
}
|
|
else
|
|
{
|
|
FL_GPIO_SetOutputPin(DCF3_GPIO, DCF3_PIN);
|
|
}
|
|
break;
|
|
|
|
case DCF4:
|
|
if (state == DCF_OFF)
|
|
{
|
|
FL_GPIO_ResetOutputPin(DCF4_GPIO, DCF4_PIN);
|
|
}
|
|
else
|
|
{
|
|
FL_GPIO_SetOutputPin(DCF4_GPIO, DCF4_PIN);
|
|
}
|
|
break;
|
|
|
|
case DCF5:
|
|
if (state == DCF_OFF)
|
|
{
|
|
FL_GPIO_ResetOutputPin(DCF5_GPIO, DCF5_PIN);
|
|
}
|
|
else
|
|
{
|
|
FL_GPIO_SetOutputPin(DCF5_GPIO, DCF5_PIN);
|
|
}
|
|
break;
|
|
|
|
case DCF6:
|
|
if (state == DCF_OFF)
|
|
{
|
|
FL_GPIO_ResetOutputPin(DCF6_GPIO, DCF6_PIN);
|
|
}
|
|
else
|
|
{
|
|
FL_GPIO_SetOutputPin(DCF6_GPIO, DCF6_PIN);
|
|
}
|
|
break;
|
|
|
|
case DCF7:
|
|
if (state == DCF_OFF)
|
|
{
|
|
FL_GPIO_ResetOutputPin(DCF7_GPIO, DCF7_PIN);
|
|
}
|
|
else
|
|
{
|
|
FL_GPIO_SetOutputPin(DCF7_GPIO, DCF7_PIN);
|
|
}
|
|
break;
|
|
|
|
case DCF8:
|
|
if (state == DCF_OFF)
|
|
{
|
|
FL_GPIO_ResetOutputPin(DCF8_GPIO, DCF8_PIN);
|
|
}
|
|
else
|
|
{
|
|
FL_GPIO_SetOutputPin(DCF8_GPIO, DCF8_PIN);
|
|
}
|
|
break;
|
|
|
|
case DCF9:
|
|
if (state == DCF_OFF)
|
|
{
|
|
FL_GPIO_ResetOutputPin(DCF9_GPIO, DCF9_PIN);
|
|
}
|
|
else
|
|
{
|
|
FL_GPIO_SetOutputPin(DCF9_GPIO, DCF9_PIN);
|
|
}
|
|
break;
|
|
|
|
case DCF10:
|
|
if (state == DCF_OFF)
|
|
{
|
|
FL_GPIO_ResetOutputPin(DCF10_GPIO, DCF10_PIN);
|
|
}
|
|
else
|
|
{
|
|
FL_GPIO_SetOutputPin(DCF10_GPIO, DCF10_PIN);
|
|
}
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
void V2_12V_control(uint8_t state)
|
|
{
|
|
if (state == V2_12V_OFF)
|
|
{
|
|
FL_GPIO_ResetOutputPin(V2_12V_CTRL_GPIO, V2_12V_CTRL_PIN);
|
|
FL_GPIO_ResetOutputPin(V2_12V_DEN_GPIO, V2_12V_DEN_PIN);
|
|
}
|
|
else
|
|
{
|
|
FL_GPIO_SetOutputPin(V2_12V_CTRL_GPIO, V2_12V_CTRL_PIN);
|
|
FL_GPIO_SetOutputPin(V2_12V_DEN_GPIO, V2_12V_DEN_PIN);
|
|
}
|
|
}
|
|
|
|
void AP_control(uint8_t state)
|
|
{
|
|
if (state == AP_OFF)
|
|
{
|
|
FL_GPIO_ResetOutputPin(AP_CTRL_GPIO, AP_CTRL_PIN);
|
|
FL_GPIO_ResetOutputPin(AP_DEN_GPIO, AP_DEN_PIN);
|
|
}
|
|
else
|
|
{
|
|
FL_GPIO_SetOutputPin(AP_CTRL_GPIO, AP_CTRL_PIN);
|
|
FL_GPIO_SetOutputPin(AP_DEN_GPIO, AP_DEN_PIN);
|
|
}
|
|
}
|
|
|