修改任务变量的位置
This commit is contained in:
parent
de2fb8134e
commit
0a1ae49530
|
@ -6,42 +6,9 @@
|
||||||
|
|
||||||
void task_Init(void);
|
void task_Init(void);
|
||||||
|
|
||||||
/* 控制运行指示灯和喂狗 */
|
|
||||||
#define runled_reloadVal 1000 /* 任务执行间隔 */
|
|
||||||
#define runled_offset 0 /* 任务执行偏移量 */
|
|
||||||
extern STR_TimeSliceOffset m_runled;
|
|
||||||
void Task_Runled(void);
|
|
||||||
|
|
||||||
/* 喂狗 */
|
|
||||||
#define wdi_reloadVal 1000 /* 任务执行间隔 */
|
|
||||||
#define wdi_offset 100 /* 任务执行偏移量 */
|
|
||||||
extern STR_TimeSliceOffset m_wdi;
|
|
||||||
void Task_wdi(void);
|
|
||||||
|
|
||||||
/* 刷新寄存器中的数据 */
|
|
||||||
#define refreshJudgeData_reloadVal 1000 /* 任务执行间隔 */
|
|
||||||
#define refreshJudgeData_offset 0 /* 任务执行偏移量 */
|
|
||||||
extern STR_TimeSliceOffset m_refreshJudgeData;
|
|
||||||
void Task_refreshJudgeData(void);
|
|
||||||
|
|
||||||
/* 启动任务 */
|
|
||||||
#define startControl_reloadVal 5000 /* 任务执行间隔 */
|
|
||||||
#define startControl_offset 100 /* 任务执行偏移量 */
|
|
||||||
extern STR_TimeSliceOffset g_startControl;
|
|
||||||
void Task_startControl(void);
|
|
||||||
|
|
||||||
/* 软启动 */
|
|
||||||
#define softStart_reloadVal 10 /* 任务执行间隔 */
|
|
||||||
#define softStart_offset 0 /* 任务执行偏移量 */
|
|
||||||
extern STR_TimeSliceOffset m_softStart;
|
|
||||||
void Task_softStart(void);
|
|
||||||
|
|
||||||
/* 回路阻抗检测 */
|
|
||||||
#define impedanceCalculation_reloadVal 100 /* 任务执行间隔 */
|
|
||||||
#define impedanceCalculation_offset 0 /* 任务执行偏移量 */
|
|
||||||
extern STR_TimeSliceOffset m_impedanceCalculation;
|
|
||||||
void Task_impedanceCalculation(void);
|
|
||||||
|
|
||||||
|
void beginStartControlTask(void);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#include "parameter.h"
|
#include "parameter.h"
|
||||||
#include "comm_types.h"
|
#include "comm_types.h"
|
||||||
#include "FM_GPIO.h"
|
#include "FM_GPIO.h"
|
||||||
|
#include "task.h"
|
||||||
|
|
||||||
|
|
||||||
static void stopChargWork(void);
|
static void stopChargWork(void);
|
||||||
|
@ -405,6 +406,8 @@ void stopChargWork(void)
|
||||||
{
|
{
|
||||||
EN_PWMOUT_Diseable();
|
EN_PWMOUT_Diseable();
|
||||||
pwm_Stop();
|
pwm_Stop();
|
||||||
|
setMPPT_Mode(noWork);
|
||||||
|
beginStartControlTask();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -433,11 +436,9 @@ BOOL stopChargConditions(void)
|
||||||
*/
|
*/
|
||||||
BOOL floatChargConditions(void)
|
BOOL floatChargConditions(void)
|
||||||
{
|
{
|
||||||
if (g_cfgParameter.constantVoltageChargeV < getBatteryVoltage()
|
if ((g_cfgParameter.constantVoltageChargeV < getBatteryVoltage() && g_cfgParameter.floatI > getChargCurrent())) {
|
||||||
&& g_cfgParameter.floatI > getChargCurrent()) {
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -451,6 +452,10 @@ BOOL floatChargConditions(void)
|
||||||
*/
|
*/
|
||||||
BOOL mpptChargConditions(void)
|
BOOL mpptChargConditions(void)
|
||||||
{
|
{
|
||||||
|
if (((g_cfgParameter.constantVoltageChargeV - 0.2f) > getBatteryVoltage())
|
||||||
|
&& (getChargCurrent() > 0.1f)) {
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -464,7 +469,11 @@ BOOL mpptChargConditions(void)
|
||||||
*/
|
*/
|
||||||
BOOL constantVChargConditions(void)
|
BOOL constantVChargConditions(void)
|
||||||
{
|
{
|
||||||
|
if ((g_cfgParameter.constantVoltageChargeV < getBatteryVoltage())
|
||||||
|
&& ((g_cfgParameter.floatI + 0.1) <= getChargBatteryCurrent())) {
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -478,7 +487,6 @@ void chargControlMode(void)
|
||||||
{
|
{
|
||||||
if (stopChargConditions()) {
|
if (stopChargConditions()) {
|
||||||
stopChargWork();
|
stopChargWork();
|
||||||
setMPPT_Mode(noWork);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (floatChargConditions()) {
|
if (floatChargConditions()) {
|
||||||
|
|
|
@ -6,6 +6,46 @@
|
||||||
#include "chargControlEnum.h"
|
#include "chargControlEnum.h"
|
||||||
#include "bl_chargControl.h"
|
#include "bl_chargControl.h"
|
||||||
|
|
||||||
|
/* 控制运行指示灯和喂狗 */
|
||||||
|
// #define runled_reloadVal 1000 /* 任务执行间隔 */
|
||||||
|
static uint16_t runled_reloadVal = 1000; /* 任务执行间隔 */
|
||||||
|
#define runled_offset 0 /* 任务执行偏移量 */
|
||||||
|
static STR_TimeSliceOffset m_runled;
|
||||||
|
static void Task_Runled(void);
|
||||||
|
|
||||||
|
/* 喂狗 */
|
||||||
|
#define wdi_reloadVal 1000 /* 任务执行间隔 */
|
||||||
|
#define wdi_offset 100 /* 任务执行偏移量 */
|
||||||
|
static STR_TimeSliceOffset m_wdi;
|
||||||
|
static void Task_wdi(void);
|
||||||
|
|
||||||
|
/* 刷新寄存器中的数据 */
|
||||||
|
#define refreshJudgeData_reloadVal 1000 /* 任务执行间隔 */
|
||||||
|
#define refreshJudgeData_offset 0 /* 任务执行偏移量 */
|
||||||
|
static STR_TimeSliceOffset m_refreshJudgeData;
|
||||||
|
static void Task_refreshJudgeData(void);
|
||||||
|
|
||||||
|
/* 启动任务 */
|
||||||
|
#define startControl_reloadVal 5000 /* 任务执行间隔 */
|
||||||
|
#define startControl_offset 100 /* 任务执行偏移量 */
|
||||||
|
static STR_TimeSliceOffset m_startControl;
|
||||||
|
static void Task_startControl(void);
|
||||||
|
|
||||||
|
/* 软启动 */
|
||||||
|
#define softStart_reloadVal 1 /* 任务执行间隔 */
|
||||||
|
#define softStart_offset 0 /* 任务执行偏移量 */
|
||||||
|
static STR_TimeSliceOffset m_softStart;
|
||||||
|
static void Task_softStart(void);
|
||||||
|
|
||||||
|
/* 回路阻抗检测 */
|
||||||
|
#define impedanceCalculation_reloadVal 100 /* 任务执行间隔 */
|
||||||
|
#define impedanceCalculation_offset 0 /* 任务执行偏移量 */
|
||||||
|
static STR_TimeSliceOffset m_impedanceCalculation;
|
||||||
|
static void Task_impedanceCalculation(void);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 启动时初始化各任务
|
* @brief 启动时初始化各任务
|
||||||
* @param None
|
* @param None
|
||||||
|
@ -17,10 +57,6 @@ void task_Init(void)
|
||||||
TimeSliceOffset_Register(&m_runled, Task_Runled, runled_reloadVal, runled_offset);
|
TimeSliceOffset_Register(&m_runled, Task_Runled, runled_reloadVal, runled_offset);
|
||||||
TimeSliceOffset_Register(&m_wdi, Task_wdi, wdi_reloadVal, wdi_offset);
|
TimeSliceOffset_Register(&m_wdi, Task_wdi, wdi_reloadVal, wdi_offset);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -29,7 +65,6 @@ void task_Init(void)
|
||||||
* @retval None
|
* @retval None
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
STR_TimeSliceOffset m_runled;
|
|
||||||
void Task_Runled(void)
|
void Task_Runled(void)
|
||||||
{
|
{
|
||||||
RUN_LED();
|
RUN_LED();
|
||||||
|
@ -40,7 +75,6 @@ void Task_Runled(void)
|
||||||
* @param None
|
* @param None
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
STR_TimeSliceOffset m_wdi;
|
|
||||||
void Task_wdi(void)
|
void Task_wdi(void)
|
||||||
{
|
{
|
||||||
/* 每天复位一次,复位前将电量信息写入flash中 */
|
/* 每天复位一次,复位前将电量信息写入flash中 */
|
||||||
|
@ -64,14 +98,11 @@ void Task_wdi(void)
|
||||||
* @retval None
|
* @retval None
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
STR_TimeSliceOffset m_refreshJudgeData;
|
|
||||||
void Task_refreshJudgeData(void)
|
void Task_refreshJudgeData(void)
|
||||||
{
|
{
|
||||||
/* 获取数据 */
|
/* 获取数据 */
|
||||||
setInputVoltage();
|
setInputVoltage();
|
||||||
setHighSideMosTemperature();
|
setHighSideMosTemperature();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* 判断有无电池 */
|
/* 判断有无电池 */
|
||||||
if (getBatteryState() == FALSE && (getChargBatteryCurrent() > 1 || getChargBatteryCurrent() < -1)
|
if (getBatteryState() == FALSE && (getChargBatteryCurrent() > 1 || getChargBatteryCurrent() < -1)
|
||||||
|
@ -80,7 +111,7 @@ void Task_refreshJudgeData(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 温度检测 */
|
/* 温度检测 */
|
||||||
if () {
|
if (1) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -97,20 +128,34 @@ void Task_refreshJudgeData(void)
|
||||||
* @retval None
|
* @retval None
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
STR_TimeSliceOffset g_startControl;
|
|
||||||
void Task_startControl(void)
|
void Task_startControl(void)
|
||||||
{
|
{
|
||||||
|
/* 是否达到启动条件 */
|
||||||
if (getSolarInCircuitVoltage() > g_cfgParameter.startSolarOpenCircuitV) {
|
if (getSolarInCircuitVoltage() > g_cfgParameter.startSolarOpenCircuitV) {
|
||||||
TimeSliceOffset_Unregister(&g_startControl);
|
TimeSliceOffset_Unregister(&m_startControl);
|
||||||
g_startControl.runFlag = 0;
|
m_startControl.runFlag = 0;
|
||||||
|
|
||||||
|
|
||||||
|
/* 判断有无电池 */
|
||||||
if (getOutputVoltage() > 10) {
|
if (getOutputVoltage() > 10) {
|
||||||
setBatteryState(TRUE);
|
setBatteryState(TRUE);
|
||||||
} else {
|
} else {
|
||||||
setBatteryState(FALSE);
|
setBatteryState(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 启动软起动任务 */
|
||||||
TimeSliceOffset_Register(&m_softStart, Task_softStart, softStart_reloadVal, softStart_offset);
|
TimeSliceOffset_Register(&m_softStart, Task_softStart, softStart_reloadVal, softStart_offset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @brief 打开启动任务
|
||||||
|
* @param
|
||||||
|
* @retval
|
||||||
|
*/
|
||||||
|
void beginStartControlTask(void)
|
||||||
|
{
|
||||||
|
TimeSliceOffset_Register(&m_wdi, Task_startControl, startControl_reloadVal, startControl_offset);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 软启动
|
* @brief 软启动
|
||||||
|
@ -118,7 +163,6 @@ void Task_startControl(void)
|
||||||
* @retval
|
* @retval
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
STR_TimeSliceOffset m_softStart;
|
|
||||||
void Task_softStart(void)
|
void Task_softStart(void)
|
||||||
{
|
{
|
||||||
static uint16_t num = 0;
|
static uint16_t num = 0;
|
||||||
|
@ -147,7 +191,7 @@ void Task_softStart(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
setDutyRatio(getDutyRatio() + 0.05f);
|
setDutyRatio(getDutyRatio() + 0.01f);
|
||||||
set_pwmDutyRatio(getDutyRatio());
|
set_pwmDutyRatio(getDutyRatio());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -157,7 +201,6 @@ void Task_softStart(void)
|
||||||
* @param
|
* @param
|
||||||
* @retval
|
* @retval
|
||||||
*/
|
*/
|
||||||
STR_TimeSliceOffset m_impedanceCalculation;
|
|
||||||
void Task_impedanceCalculation(void)
|
void Task_impedanceCalculation(void)
|
||||||
{
|
{
|
||||||
static uint8_t num = 0;
|
static uint8_t num = 0;
|
||||||
|
|
Loading…
Reference in New Issue