Ignore:
Timestamp:
Apr 1, 2026, 9:33:58 AM (5 weeks ago)
Author:
f.jahn
Message:

Fixing Projects.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/fw_g473rct/SES/src/outputs.c

    r38 r55  
    4545}
    4646
     47
     48
     49void OUTPUTS_OverwriteChargeCtrl_ChargeEnabled(void)
     50{
     51  GPIO_InitTypeDef GPIO_InitStruct = {0};
     52  GPIO_InitStruct.Pin = OVERWRITE_CHARGE_CTRL_Pin;
     53  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
     54  GPIO_InitStruct.Pull = GPIO_NOPULL;
     55  HAL_GPIO_Init(OVERWRITE_CHARGE_CTRL_GPIO_Port, &GPIO_InitStruct);
     56  HAL_GPIO_WritePin(OVERWRITE_CHARGE_CTRL_GPIO_Port, OVERWRITE_CHARGE_CTRL_Pin, OUTPUTS_CHARGE_ALLOWED);
     57
     58
     59}
     60
     61
     62void OUTPUTS_OverwriteChargeCtrl_ChargeDisabled(void)
     63{
     64  GPIO_InitTypeDef GPIO_InitStruct = {0};
     65  GPIO_InitStruct.Pin = OVERWRITE_CHARGE_CTRL_Pin;
     66  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
     67  GPIO_InitStruct.Pull = GPIO_NOPULL;
     68  HAL_GPIO_Init(OVERWRITE_CHARGE_CTRL_GPIO_Port, &GPIO_InitStruct);
     69
     70  HAL_GPIO_WritePin(OVERWRITE_CHARGE_CTRL_GPIO_Port, OVERWRITE_CHARGE_CTRL_Pin, OUTPUTS_CHARGE_NOT_ALLOWED);
     71
     72
     73}
     74
     75
     76void OUTPUTS_OverwriteChargeCtrl_Disabled(void)
     77{
     78  GPIO_InitTypeDef GPIO_InitStruct = {0};
     79  GPIO_InitStruct.Pin = OVERWRITE_CHARGE_CTRL_Pin;
     80  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
     81  GPIO_InitStruct.Pull = GPIO_NOPULL;
     82  HAL_GPIO_Init(OVERWRITE_CHARGE_CTRL_GPIO_Port, &GPIO_InitStruct);
     83
     84
     85}
     86
     87
     88void OUTPUTS_OverwriteDischargeCtrl_DischargeEnabled(void)
     89{
     90  GPIO_InitTypeDef GPIO_InitStruct = {0};
     91  GPIO_InitStruct.Pin = OVERWRITE_DISCHARGE_CTRL_Pin;
     92  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
     93  GPIO_InitStruct.Pull = GPIO_NOPULL;
     94  HAL_GPIO_Init(OVERWRITE_DISCHARGE_CTRL_GPIO_Port, &GPIO_InitStruct);
     95  HAL_GPIO_WritePin(OVERWRITE_DISCHARGE_CTRL_GPIO_Port, OVERWRITE_DISCHARGE_CTRL_Pin, OUTPUTS_DISCHARGE_ALLOWED);
     96
     97
     98}
     99
     100
     101void OUTPUTS_OverwriteDischargeCtrl_DischargeDisabled(void)
     102{
     103  GPIO_InitTypeDef GPIO_InitStruct = {0};
     104  GPIO_InitStruct.Pin = OVERWRITE_DISCHARGE_CTRL_Pin;
     105  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
     106  GPIO_InitStruct.Pull = GPIO_NOPULL;
     107  HAL_GPIO_Init(OVERWRITE_DISCHARGE_CTRL_GPIO_Port, &GPIO_InitStruct);
     108
     109  HAL_GPIO_WritePin(OVERWRITE_DISCHARGE_CTRL_GPIO_Port, OVERWRITE_DISCHARGE_CTRL_Pin, OUTPUTS_CHARGE_NOT_ALLOWED);
     110
     111
     112}
     113
     114
     115void OUTPUTS_OverwriteDischargeCtrl_Disabled(void)
     116{
     117  GPIO_InitTypeDef GPIO_InitStruct = {0};
     118  GPIO_InitStruct.Pin = OVERWRITE_DISCHARGE_CTRL_Pin;
     119  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
     120  GPIO_InitStruct.Pull = GPIO_NOPULL;
     121  HAL_GPIO_Init(OVERWRITE_DISCHARGE_CTRL_GPIO_Port, &GPIO_InitStruct);
     122
     123
     124}
     125
    47126/*
    48127* @brief        Prüfen ob LVP Signal abgeschaltet werden muss
     
    69148                                printf("OUTPUTS_LVP_BATTERY_UNDERVOLTAGE\n");
    70149                                sys_data.s.values.lvpState = OUTPUTS_LVP_BATTERY_UNDERVOLTAGE;
    71                                 HAL_GPIO_WritePin(DISCHARGE_ENABLE_GPIO_Port, DISCHARGE_ENABLE_Pin, OUTPUTS_DISCHARGE_NOT_ALLOWED);
     150                                OUTPUTS_OverwriteDischargeCtrl_DischargeDisabled();
    72151                        }
    73152                        else if(sys_data.s.values.batteryCurrent < ((int32_t)sys_data.s.parameter.loadCurrentLimit*1000))
     
    75154                                printf("OUTPUTS_LVP_OVERCURRENT\n");
    76155                                sys_data.s.values.lvpState = OUTPUTS_LVP_OVERCURRENT;
    77                                 HAL_GPIO_WritePin(DISCHARGE_ENABLE_GPIO_Port, DISCHARGE_ENABLE_Pin, OUTPUTS_DISCHARGE_NOT_ALLOWED);
     156                                OUTPUTS_OverwriteDischargeCtrl_DischargeDisabled();
    78157                        }
    79158                        else if(sys_data.s.values.shuntTemperature > sys_data.s.parameter.dischargeStopHighTemperatureStart)
     
    81160                                printf("OUTPUTS_LVP_SHUNT_OVERTEMPERATURE\n");
    82161                                sys_data.s.values.lvpState = OUTPUTS_LVP_SHUNT_OVERTEMPERATURE;
    83                                 HAL_GPIO_WritePin(DISCHARGE_ENABLE_GPIO_Port, DISCHARGE_ENABLE_Pin, OUTPUTS_DISCHARGE_NOT_ALLOWED);
     162                                OUTPUTS_OverwriteDischargeCtrl_DischargeDisabled();
    84163                        }
    85164                        else if(sys_data.s.values.chipTemperature > sys_data.s.parameter.dischargeStopHighTemperatureStart)
     
    87166                                printf("OUTPUTS_LVP_CHIP_OVERTEMPERATURE\n");
    88167                                sys_data.s.values.lvpState = OUTPUTS_LVP_CHIP_OVERTEMPERATURE;
    89                                 HAL_GPIO_WritePin(DISCHARGE_ENABLE_GPIO_Port, DISCHARGE_ENABLE_Pin, OUTPUTS_DISCHARGE_NOT_ALLOWED);
     168                                OUTPUTS_OverwriteDischargeCtrl_DischargeDisabled();
    90169                        }
    91170                        else if(sys_data.s.values.shuntTemperature < sys_data.s.parameter.dischargeStopLowTemperatureStart)
     
    93172                                printf("OUTPUTS_LVP_SHUNT_UNDERTEMPERATURE\n");
    94173                                sys_data.s.values.lvpState = OUTPUTS_LVP_SHUNT_UNDERTEMPERATURE;
    95                                 HAL_GPIO_WritePin(DISCHARGE_ENABLE_GPIO_Port, DISCHARGE_ENABLE_Pin, OUTPUTS_DISCHARGE_NOT_ALLOWED);
     174                                OUTPUTS_OverwriteDischargeCtrl_DischargeDisabled();
    96175                        }
    97176                        else if(sys_data.s.values.chipTemperature < sys_data.s.parameter.dischargeStopLowTemperatureStart)
     
    99178                                printf("OUTPUTS_LVP_CHIP_OVERTEMPERATURE\n");
    100179                                sys_data.s.values.lvpState = OUTPUTS_LVP_CHIP_UNDERTEMPERATURE;
    101                                 HAL_GPIO_WritePin(DISCHARGE_ENABLE_GPIO_Port, DISCHARGE_ENABLE_Pin, OUTPUTS_DISCHARGE_NOT_ALLOWED);
     180                                OUTPUTS_OverwriteDischargeCtrl_DischargeDisabled();
    102181                        }
    103182                }
     
    123202                                printf("OUTPUT LVP OK\n");
    124203                                sys_data.s.values.lvpState = OUTPUTS_LVP_OK;
    125                                 HAL_GPIO_WritePin(DISCHARGE_ENABLE_GPIO_Port, DISCHARGE_ENABLE_Pin, OUTPUTS_DISCHARGE_ALLOWED);
     204                                OUTPUTS_OverwriteDischargeCtrl_Disabled();
    126205                        }
    127206                }
     
    129208        else if (sys_data.s.parameter.lvpMode == OUTPUTS_LVP_MODE_MANUAL_ON)
    130209        {
    131                 HAL_GPIO_WritePin(DISCHARGE_ENABLE_GPIO_Port, DISCHARGE_ENABLE_Pin, OUTPUTS_DISCHARGE_ALLOWED);
     210                OUTPUTS_OverwriteDischargeCtrl_DischargeEnabled();
    132211        }
    133212        else if (sys_data.s.parameter.lvpMode == OUTPUTS_LVP_MODE_MANUAL_OFF)
    134213        {
    135                 HAL_GPIO_WritePin(DISCHARGE_ENABLE_GPIO_Port, DISCHARGE_ENABLE_Pin, OUTPUTS_DISCHARGE_NOT_ALLOWED);
    136         }
    137         else HAL_GPIO_WritePin(DISCHARGE_ENABLE_GPIO_Port, DISCHARGE_ENABLE_Pin, OUTPUTS_DISCHARGE_NOT_ALLOWED);
     214                OUTPUTS_OverwriteDischargeCtrl_DischargeDisabled();
     215        }
     216        else
     217        {
     218                OUTPUTS_OverwriteDischargeCtrl_DischargeDisabled();
     219        }
    138220
    139221        lastMode = sys_data.s.parameter.lvpMode;
     
    164246                                printf("OUTPUTS_OVP_BATTERY_OVERVOLTAGE\n");
    165247                                sys_data.s.values.ovpState = OUTPUTS_OVP_BATTERY_OVERVOLTAGE;
    166                                 HAL_GPIO_WritePin(CHARGE_ENABLE_GPIO_Port, CHARGE_ENABLE_Pin, OUTPUTS_CHARGE_NOT_ALLOWED);
     248                                OUTPUTS_OverwriteChargeCtrl_ChargeDisabled();
    167249                        }
    168250                        else if(sys_data.s.values.batteryCurrent > ((int32_t) sys_data.s.parameter.chargeCurrentLimit * 1000))
     
    170252                                printf("OUTPUTS_OVP_OVERCURRENT\n");
    171253                                sys_data.s.values.ovpState = OUTPUTS_OVP_OVERCURRENT;
    172                                 HAL_GPIO_WritePin(CHARGE_ENABLE_GPIO_Port, CHARGE_ENABLE_Pin, OUTPUTS_CHARGE_NOT_ALLOWED);
     254                                OUTPUTS_OverwriteChargeCtrl_ChargeDisabled();
    173255                        }
    174256                        else if(sys_data.s.values.shuntTemperature > sys_data.s.parameter.chargeStopHighTemperatureStart)
     
    176258                                printf("OUTPUTS_OVP_SHUNT_OVERTEMPERATURE\n");
    177259                                sys_data.s.values.ovpState = OUTPUTS_OVP_SHUNT_OVERTEMPERATURE;
    178                                 HAL_GPIO_WritePin(CHARGE_ENABLE_GPIO_Port, CHARGE_ENABLE_Pin, OUTPUTS_CHARGE_NOT_ALLOWED);
     260                                OUTPUTS_OverwriteChargeCtrl_ChargeDisabled();
    179261                        }
    180262                        else if(sys_data.s.values.chipTemperature > sys_data.s.parameter.chargeStopHighTemperatureStart)
     
    182264                                printf("OUTPUTS_OVP_CHIP_OVERTEMPERATURE\n");
    183265                                sys_data.s.values.ovpState = OUTPUTS_OVP_CHIP_OVERTEMPERATURE;
    184                                 HAL_GPIO_WritePin(CHARGE_ENABLE_GPIO_Port, CHARGE_ENABLE_Pin, OUTPUTS_CHARGE_NOT_ALLOWED);
     266                                OUTPUTS_OverwriteChargeCtrl_ChargeDisabled();
    185267                        }
    186268                        else if(sys_data.s.values.shuntTemperature < sys_data.s.parameter.chargeStopLowTemperatureStart)
     
    188270                                printf("OUTPUTS_OVP_SHUNT_UNDERTEMPERATURE\n");
    189271                                sys_data.s.values.ovpState = OUTPUTS_OVP_SHUNT_UNDERTEMPERATURE;
    190                                 HAL_GPIO_WritePin(CHARGE_ENABLE_GPIO_Port, CHARGE_ENABLE_Pin, OUTPUTS_CHARGE_NOT_ALLOWED);
     272                                OUTPUTS_OverwriteChargeCtrl_ChargeDisabled();
    191273                        }
    192274                        else if(sys_data.s.values.chipTemperature < sys_data.s.parameter.chargeStopLowTemperatureStart)
     
    194276                                printf("OUTPUTS_OVP_CHIP_UNDETEMPERATURE\n");
    195277                                sys_data.s.values.ovpState = OUTPUTS_OVP_CHIP_UNDERTEMPERATURE;
    196                                 HAL_GPIO_WritePin(CHARGE_ENABLE_GPIO_Port, CHARGE_ENABLE_Pin, OUTPUTS_CHARGE_NOT_ALLOWED);
     278                                OUTPUTS_OverwriteChargeCtrl_ChargeDisabled();
    197279                        }
    198280                }
     
    213295                                printf("OUTPUT OVP OK\n");
    214296                                sys_data.s.values.ovpState = OUTPUTS_OVP_OK;
    215                                 HAL_GPIO_WritePin(CHARGE_ENABLE_GPIO_Port, CHARGE_ENABLE_Pin, OUTPUTS_CHARGE_ALLOWED);
     297                                OUTPUTS_OverwriteChargeCtrl_Disabled(); // externer steuerung
    216298                        }
    217299                }
     
    219301        else if (sys_data.s.parameter.ovpMode == OUTPUTS_OVP_MODE_MANUAL_ON)
    220302        {
    221                 HAL_GPIO_WritePin(CHARGE_ENABLE_GPIO_Port, CHARGE_ENABLE_Pin, OUTPUTS_CHARGE_ALLOWED);
     303                OUTPUTS_OverwriteChargeCtrl_ChargeEnabled(); //ACHTUNG: Manual On
    222304        }
    223305        else if (sys_data.s.parameter.ovpMode == OUTPUTS_OVP_MODE_MANUAL_OFF)
    224306        {
    225                 HAL_GPIO_WritePin(CHARGE_ENABLE_GPIO_Port, CHARGE_ENABLE_Pin, OUTPUTS_CHARGE_NOT_ALLOWED);
    226         }
    227         else HAL_GPIO_WritePin(CHARGE_ENABLE_GPIO_Port, CHARGE_ENABLE_Pin, OUTPUTS_CHARGE_NOT_ALLOWED);
     307                OUTPUTS_OverwriteChargeCtrl_ChargeDisabled();
     308        }
     309        else
     310        {
     311          OUTPUTS_OverwriteChargeCtrl_ChargeDisabled();
     312        }
    228313
    229314        lastMode = sys_data.s.parameter.ovpMode;
Note: See TracChangeset for help on using the changeset viewer.