/******************************************************************************* * 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_15 #define DCF10_GPIO GPIOA #define DCF10_PIN FL_GPIO_PIN_2 #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_InitTypeDef GPIO_InitStruct = {0}; 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); FL_GPIO_ResetOutputPin(V2_12V_CTRL_GPIO, V2_12V_CTRL_PIN); FL_GPIO_ResetOutputPin(V2_12V_DEN_GPIO, V2_12V_DEN_PIN); FL_GPIO_ResetOutputPin(AP_CTRL_GPIO, AP_CTRL_PIN); FL_GPIO_ResetOutputPin(AP_DEN_GPIO, AP_DEN_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); GPIO_InitStruct.pin = V2_12V_CTRL_PIN; FL_GPIO_Init(V2_12V_CTRL_GPIO, &GPIO_InitStruct); GPIO_InitStruct.pin = V2_12V_DEN_PIN; FL_GPIO_Init(V2_12V_DEN_GPIO, &GPIO_InitStruct); GPIO_InitStruct.pin = AP_CTRL_PIN; FL_GPIO_Init(AP_CTRL_GPIO, &GPIO_InitStruct); GPIO_InitStruct.pin = AP_DEN_PIN; FL_GPIO_Init(AP_DEN_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); } }