在状态机中添加HY协议的解析
This commit is contained in:
parent
af04d91130
commit
3ea22514fd
|
@ -40,6 +40,7 @@
|
|||
"usart.h": "c",
|
||||
"w25qxx.h": "c",
|
||||
"w25q256.h": "c",
|
||||
"gpio.h": "c"
|
||||
"gpio.h": "c",
|
||||
"bl_usart.h": "c"
|
||||
}
|
||||
}
|
|
@ -59,6 +59,9 @@ void startInfo(void)
|
|||
void start(void)
|
||||
{
|
||||
Init();
|
||||
|
||||
uartCommonInit();
|
||||
|
||||
task_Init();
|
||||
|
||||
startInfo();
|
||||
|
|
|
@ -7,6 +7,11 @@
|
|||
#include "chargControlTypes.h"
|
||||
#include "uart_dev.h"
|
||||
|
||||
/* 是否使能充电控制盒的HY协议 */
|
||||
#define HY_ChargeControlBox_PROTOCOL_ENABLE
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* SL协议读取寄存器最大地址 */
|
||||
|
@ -35,6 +40,14 @@
|
|||
|
||||
#define floatMagnification 10.0f
|
||||
|
||||
#ifdef HY_ChargeControlBox_PROTOCOL_ENABLE
|
||||
|
||||
#define maxDataLenHY 50
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
void uartCommonInit(void);
|
||||
|
||||
uint16_t checkModebusCrc(uint8_t *arr_buff, uint8_t len);
|
||||
|
||||
|
|
|
@ -85,6 +85,7 @@ uint8_t getMosTemperState(void);
|
|||
void setMosTemperState(uint8_t state);
|
||||
BOOL getCheckImpedanceState(void);
|
||||
void setCheckImpedanceState(void);
|
||||
void resetCheckImpedanceState(void);
|
||||
void setLastTime(timeInfo time);
|
||||
timeInfo getLastTime(void);
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -281,7 +281,7 @@ void config_info_start(void)
|
|||
// fTemp = 0.01f;
|
||||
// saveLoopImpedance(&fTemp);
|
||||
readLoopImpedance(&fTemp);
|
||||
setLoopImpedance(fTemp);
|
||||
// setLoopImpedance(fTemp);
|
||||
// if (getLoopImpedance() < 0 || getLoopImpedance() > 0.3f) {
|
||||
if (!setLoopImpedance(fTemp)) {
|
||||
setLoopImpedance(0.01f);
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
|
||||
#include "interruptSend.h"
|
||||
#include "bl_usart.h"
|
||||
|
||||
|
||||
#define RS485_MAX_PACK_DATA_LEN 256
|
||||
|
@ -168,6 +169,14 @@ void setSendOverStateGw(void)
|
|||
NVIC_SystemReset();
|
||||
}
|
||||
|
||||
#ifdef HY_ChargeControlBox_PROTOCOL_ENABLE
|
||||
/* HY,复位指令 */
|
||||
if (uart_send.sendDataGw->data[11] = 0x66
|
||||
&& uart_send.sendDataGw->data[14] == 0xFF) {
|
||||
NVIC_SystemReset();
|
||||
}
|
||||
#endif
|
||||
|
||||
uart_send.sendOverStateGw = TRUE;
|
||||
uart_send.sendStateGw = FALSE;
|
||||
uart_send.sendDataGw->dataState = FALSE;
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include "FM_GPIO.h"
|
||||
#include "capture.h"
|
||||
#include "bl_chargControl.h"
|
||||
#include <math.h>
|
||||
|
||||
config_parameter g_cfgParameter = {0};
|
||||
static otherParameter g_otherParameter = {0};
|
||||
|
@ -127,6 +128,16 @@ void setCheckImpedanceState(void)
|
|||
checkImpedanceState = TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 回路阻抗检测成功后设置回路阻抗检测状态
|
||||
* @param
|
||||
* @retval
|
||||
*
|
||||
*/
|
||||
void resetCheckImpedanceState(void)
|
||||
{
|
||||
checkImpedanceState = FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 设置上次读取充放电量参数的时间
|
||||
|
@ -499,6 +510,10 @@ BOOL setLoopImpedance(float loopImpedance)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (fpclassify(loopImpedance) == FP_NAN) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
g_otherParameter.loopImpedance = loopImpedance;
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -265,6 +265,7 @@ void Task_wdi(void)
|
|||
|
||||
/* 每天复位一次,复位前将电量信息写入flash中 */
|
||||
static uint32_t temp = 60 * 60 * 24;
|
||||
// static uint32_t temp = 60 * 30;
|
||||
if (!(--temp)) {
|
||||
temp = 0;
|
||||
float tempF;
|
||||
|
@ -276,6 +277,8 @@ void Task_wdi(void)
|
|||
time = getLastTime();
|
||||
saveTime(&time);
|
||||
// NVIC_SystemReset();
|
||||
resetCheckImpedanceState();
|
||||
temp = 60 * 60 * 24;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,8 @@ void FM_GPIO_Init(void)
|
|||
*/
|
||||
void POW_FF_PCON_Open(void)
|
||||
{
|
||||
HAL_GPIO_WritePin(POW_FF_CON_GPIO_Port, POW_FF_CON_Pin, GPIO_PIN_SET);
|
||||
// HAL_GPIO_WritePin(POW_FF_CON_GPIO_Port, POW_FF_CON_Pin, GPIO_PIN_SET);
|
||||
HAL_GPIO_WritePin(POW_FF_CON_GPIO_Port, POW_FF_CON_Pin, GPIO_PIN_RESET);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -25,7 +26,8 @@ void POW_FF_PCON_Open(void)
|
|||
*/
|
||||
void POW_FF_PCON_Close(void)
|
||||
{
|
||||
HAL_GPIO_WritePin(POW_FF_CON_GPIO_Port, POW_FF_CON_Pin, GPIO_PIN_RESET);
|
||||
// HAL_GPIO_WritePin(POW_FF_CON_GPIO_Port, POW_FF_CON_Pin, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(POW_FF_CON_GPIO_Port, POW_FF_CON_Pin, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -134,11 +134,11 @@ const float32_t Proportion = 3.0 / 4095.0;
|
|||
// 0.178709805, 0.3671073616, 0.3671073616, 0.178709805
|
||||
// };
|
||||
|
||||
/* matlab生成的3阶滤波器系数,乘比例使和接近为1 */
|
||||
const int firLen = 4;
|
||||
const float32_t firLP[4] = {
|
||||
0.163708486, 0.336291513, 0.336291513, 0.163708486
|
||||
};
|
||||
// /* matlab生成的3阶滤波器系数,乘比例使和接近为1 */
|
||||
// const int firLen = 4;
|
||||
// const float32_t firLP[4] = {
|
||||
// 0.163708486, 0.336291513, 0.336291513, 0.163708486
|
||||
// };
|
||||
|
||||
|
||||
// void captureFirInit(void);
|
||||
|
|
|
@ -114,6 +114,9 @@ void HD_GPIO_Init(void)
|
|||
HAL_GPIO_Init(EXCHG_PROT_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/* EXTI interrupt init*/
|
||||
HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
|
||||
|
||||
HAL_NVIC_SetPriority(EXTI15_10_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
|
||||
}
|
|
@ -111,6 +111,7 @@ void Error_Handler(void);
|
|||
#define DEBUG_RX_GPIO_Port GPIOC
|
||||
#define EXCHG_PROT_Pin GPIO_PIN_5
|
||||
#define EXCHG_PROT_GPIO_Port GPIOB
|
||||
#define EXCHG_PROT_EXTI_IRQn EXTI9_5_IRQn
|
||||
#define RUN_LED_Pin GPIO_PIN_6
|
||||
#define RUN_LED_GPIO_Port GPIOB
|
||||
#define POW_FF_CON_Pin GPIO_PIN_7
|
||||
|
|
|
@ -56,6 +56,7 @@ void DebugMon_Handler(void);
|
|||
void PendSV_Handler(void);
|
||||
void SysTick_Handler(void);
|
||||
void DMA1_Channel1_IRQHandler(void);
|
||||
void EXTI9_5_IRQHandler(void);
|
||||
void TIM1_BRK_TIM15_IRQHandler(void);
|
||||
void TIM1_UP_TIM16_IRQHandler(void);
|
||||
void USART2_IRQHandler(void);
|
||||
|
|
|
@ -99,9 +99,11 @@ void MX_GPIO_Init(void)
|
|||
HAL_GPIO_Init(EXCHG_PROT_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/* EXTI interrupt init*/
|
||||
HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
|
||||
|
||||
HAL_NVIC_SetPriority(EXTI15_10_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
|
||||
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
|
|
@ -217,6 +217,20 @@ void DMA1_Channel1_IRQHandler(void)
|
|||
/* USER CODE END DMA1_Channel1_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles EXTI line[9:5] interrupts.
|
||||
*/
|
||||
void EXTI9_5_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN EXTI9_5_IRQn 0 */
|
||||
|
||||
/* USER CODE END EXTI9_5_IRQn 0 */
|
||||
HAL_GPIO_EXTI_IRQHandler(EXCHG_PROT_Pin);
|
||||
/* USER CODE BEGIN EXTI9_5_IRQn 1 */
|
||||
|
||||
/* USER CODE END EXTI9_5_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles TIM1 break interrupt and TIM15 global interrupt.
|
||||
*/
|
||||
|
|
|
@ -139,6 +139,7 @@ NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
|||
NVIC.DMA1_Channel1_IRQn=true\:4\:0\:true\:false\:true\:false\:true\:true
|
||||
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||
NVIC.EXTI15_10_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.EXTI9_5_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.ForceEnableDMAVector=true
|
||||
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||
|
@ -351,13 +352,14 @@ RCC.FCLKCortexFreq_Value=72000000
|
|||
RCC.FDCANFreq_Value=72000000
|
||||
RCC.FamilyName=M
|
||||
RCC.HCLKFreq_Value=72000000
|
||||
RCC.HSE_VALUE=8000000
|
||||
RCC.HSI48_VALUE=48000000
|
||||
RCC.HSI_VALUE=16000000
|
||||
RCC.I2C1Freq_Value=72000000
|
||||
RCC.I2C2Freq_Value=72000000
|
||||
RCC.I2C3Freq_Value=72000000
|
||||
RCC.I2SFreq_Value=72000000
|
||||
RCC.IPParameters=ADC12Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CRSFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2SFreq_Value,LPTIM1Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSI_VALUE,MCO1PinFreq_Value,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PLLSourceVirtual,PWRFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
|
||||
RCC.IPParameters=ADC12Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CRSFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2SFreq_Value,LPTIM1Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSI_VALUE,MCO1PinFreq_Value,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PLLSourceVirtual,PWRFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
|
||||
RCC.LPTIM1Freq_Value=72000000
|
||||
RCC.LPUART1Freq_Value=72000000
|
||||
RCC.LSCOPinFreq_Value=32000
|
||||
|
|
Loading…
Reference in New Issue