Commit 874949d0 authored by 何锐's avatar 何锐

feat:发送车速最大

parent 5e17b162
......@@ -63,6 +63,22 @@
"com_can.h": "c",
"task.h": "c",
"simulated_8080.h": "c",
"analog_signals.h": "c"
"analog_signals.h": "c",
"uart.h": "c",
"frein_user.h": "c",
"key.h": "c",
"check_ctrl.h": "c",
"rte_wdt.h": "c",
"gendelay.h": "c",
"timerb.h": "c",
"internal_eeprom.h": "c",
"rte_pwm.h": "c",
"rte_can.h": "c",
"rte_adc.h": "c",
"tyw_stdint.h": "c",
"rte_gpio.h": "c",
"task_scheduler.h": "c",
"gpio.h": "c",
"string.h": "c"
}
}
\ No newline at end of file
......@@ -191,7 +191,12 @@ void RTE_GPIO_Init(void)
gpio_temp.enGPIODir = GPIO_DIR_OUT;
gpio_temp.enGPIOAltFun = GPIO_ALTER_FUN_1;
GPIO_Config(&gpio_temp);
gpio_temp.enGPIOPort = GPIO_PORT_GROUP_0;/*WMH*/
gpio_temp.enGPIOPIN = GPIO_PIN_2;
gpio_temp.enGPIOMode = GPIO_MODE_PORT;
gpio_temp.enGPIODir = GPIO_DIR_OUT;
gpio_temp.enGPIOAltFun = GPIO_ALTER_FUN_1;
GPIO_Config(&gpio_temp);
......
......@@ -112,6 +112,7 @@
#define LINE_OUT_NEG_09 GPIO_OUT_PORT10_PIN04
#define LINE_OUT_NEG_10 GPIO_OUT_PORT00_PIN08
#define WMH_COMM GPIO_OUT_PORT00_PIN02
// #define LINE_FUEL_RES01 GPIO_OUT_PORT00_PIN13
#define LINE_FUEL_RES03 GPIO_OUT_PORT08_PIN10
......
......@@ -24,6 +24,9 @@
#include "CAN_Communication_Matrix.h"
#include "CAN_APP.h"
#include "Display_Info.h"
#include "wmhcomm.h"
#include "wmhcommdata.h"
#include "mwwmhcomm.h"
/*******************************************************************************
* *
* ϵͳ��������ģʽ(SYS_MODE_OFF / SYS_MODE_ON / SYS_MODE_STANDBY )�����б� *
......@@ -69,6 +72,7 @@ void Sys_Run_Mode_2ms_Tasks_Group(void)
COM_RX_Process( );
COM_TX_Process();
Obtain_The_Static_Current();
WMHCommService(2);
}
/*==============================================================================
......@@ -129,6 +133,7 @@ uint8_t *pcan_data = &can_flag;
uint8_t test[10] = {0x56,0x0B,0x0C,0x0D,0x1,0x2,0x3,0x4,0x05,0xFF};
uint8_t timee;
void Sys_Run_Mode_100ms_Tasks_Group(void)
{
......@@ -164,8 +169,12 @@ void Sys_Run_Mode_100ms_Tasks_Group(void)
// testtime = 0;
// }
// General_Number_Disp(test, 100 , 100 );
timee++;
if(timee > 10)
{
WMHCommFramePackedTransmit(EM_WMH_COMM_SEND_MSG_ICM_0x90);
timee = 0;
}
}
/*=================================================================*/
......@@ -181,6 +190,7 @@ void Sys_Exact_50us_Tasks(void)
{
GenDelay_Tick( );
DoCAN_Timer_Update(50u);
mwWMHCommSendIsr(50);
}
/*============================================================================*/
......
......@@ -10,7 +10,8 @@ const WMH_COMM_INIT_FRAME_T WMHCommRecvInitList[EM_WMH_COMM_RECV_MSG_TOTAL] = {
};
const WMH_COMM_INIT_FRAME_T WMHCommSendInitList[EM_WMH_COMM_SEND_MSG_TOTAL] = {
{0x80u, 1000u, COMM_DATA_UNION_ICM_LENGTH, 1000u, 1u, WMHCommDataIcm.Bytes, WMHCommFrameCallBack_Icm, WMHCommFrameTimeoutFunc_Icm, WMHCommFrameCheckSumFunc},
// {0x80u, 1000u, COMM_DATA_UNION_ICM_LENGTH, 1000u, 1u, WMHCommDataIcm.Bytes, WMHCommFrameCallBack_Icm, WMHCommFrameTimeoutFunc_Icm, WMHCommFrameCheckSumFunc},
{0x90u, 1000u, COMM_DATA_UNION_WI_BOX_LENGTH_0X90, 1000u, 1u, WMHCommDataWiBox_0x90.Bytes, WMHCommFrameCallBack_Icm, WMHCommFrameTimeoutFunc_WiBox, WMHCommFrameCheckSumFunc},
};
uint32_t WMHCommRecvMessageTimeout[EM_WMH_COMM_RECV_MSG_TOTAL] = {0};
......
......@@ -24,7 +24,9 @@ typedef enum {
} EM_WMH_COMM_RECV_MSG_T;
typedef enum {
EM_WMH_COMM_SEND_MSG_ICM_0x80 = 0,
// EM_WMH_COMM_SEND_MSG_ICM_0x80 = 0,
EM_WMH_COMM_SEND_MSG_ICM_0x90 = 0,
EM_WMH_COMM_SEND_MSG_TOTAL,
} EM_WMH_COMM_SEND_MSG_T;
......
......@@ -36,7 +36,7 @@ void WMHCommFrameCallBack_WiBox_0x92(void)
uint8_t tmpCond = 0;
if((WMHCommDataWiBox_0x92.bits.Inquire == 0)||(WMHCommDataWiBox_0x92.bits.NfcOperate == 0 ))
{
WMHCommFramePackedTransmit(EM_WMH_COMM_SEND_MSG_ICM_0x80);
WMHCommFramePackedTransmit(EM_WMH_COMM_SEND_MSG_ICM_0x90);
}
}
......@@ -70,10 +70,12 @@ void WMHCommFrameCallBack_Icm(void)
// //EM_FUEL_STATE_T tmpSt = GetFuelModuleState();
// uint32_t tmpVal = Data_ODO_Read() / 10u;
// // WMHCommDataIcm.bits.Mileage_H = 0x11;
// // WMHCommDataIcm.bits.Mileage_M = 0x33;
// // WMHCommDataIcm.bits.Mileage_L = 0x44;
// WMHCommDataIcm.bits.Mileage_H = 0x11;
// WMHCommDataIcm.bits.Mileage_M = 0x33;
// WMHCommDataIcm.bits.Mileage_L = 0x44;
WMHCommDataWiBox_0x90.bits.Espeed_H = 0xEE;
WMHCommDataWiBox_0x90.bits.Espeed_L = 0xDD;
// //if(WMHCommDataWiBox_0x92.bits.Inquire == 0x11)
// {
// if (tmpVal > 9999999) {
......@@ -163,6 +165,7 @@ void WMHCommFrameCallBack_Icm(void)
// WMHCommDataIcm.bits.RemoveCardStatus = 0xFF;
// }
// WMHCommDataIcm.bits.Reserved = 0xFF;
// WMHCommDataWiBox_0x90.bits.Espeed_L = 0xDD;
}
void WMHCommFrameTimeoutFunc_Icm(void)
{
......
#include "mwwmhcomm.h"
#include "TYW_stdint.h"
#include "string.h"
#include "gpio.h"
#include "rte_gpio.h"
#define MW_WMH_COMM_FRAME_CONVERT_COND(PORT_IDX, FRAME) ((mwWMHCommFrameTimerCnts[PORT_IDX].LowLevelTime >= mwWMHCommSequentialParams[FRAME].LowerLimit.LowLevelTime) &&\
(mwWMHCommFrameTimerCnts[PORT_IDX].LowLevelTime <= mwWMHCommSequentialParams[FRAME].UpperLimit.LowLevelTime) &&\
(mwWMHCommFrameTimerCnts[PORT_IDX].HighLevelTime >= mwWMHCommSequentialParams[FRAME].LowerLimit.HighLevelTime) &&\
......@@ -111,7 +113,7 @@ void mwWMHCommInit(void)
void mwWMHCommRecvIsr_wibox(uint32_t tmpCnts)
{
// uint16_t n = (uint16_t)EM_WMH_COMM_PIN_RX_ID_wibox;
// auint8_t tmpVal = (uint8_t)(RTE_GPIO_Get_Level(RTE_GPIO_PORTB_PIN10));
// auint8_t tmpVal = (uint8_t)(RTE_GPIO_Get_Level(RTE_GPIO_PORT0_PIN03));
// if ((mwWMHCommSerialBuffer[n].Valid == 0)&&(mwWMHCommFrame[EM_WMH_COMM_PIN_TX_IDX] == EM_WMH_COMM_FRAME_STANDBAY)) {
// if (tmpVal == 0) {
// if (mwWMHCommFrameTimerCnts[n].HighLevelTime > 0) {
......@@ -237,97 +239,107 @@ void mwWMHCommRecvIsr_0x90(uint32_t tmpCnts)
void mwWMHCommSendIsr(uint32_t tmpCnts)
{
// uint16_t n = (uint16_t)EM_WMH_COMM_PIN_TX_IDX;
// EM_WMH_COMM_FRAME_T tmpFrame = mwWMHCommFrame[n];
// if (mwWMHCommFrame[EM_WMH_COMM_PIN_RX_ID_wibox] == EM_WMH_COMM_FRAME_STANDBAY){
// switch (tmpFrame) {
// case EM_WMH_COMM_FRAME_STANDBAY: {
// if (mwWMHCommSerialBuffer[n].OptCnts != mwWMHCommSerialBuffer[n].FillCnts) {
// mwWMHCommFrame[n] = EM_WMH_COMM_FRAME_START;
// mwWMHCommSerialBuffer[n].Byte = mwWMHCommSerialBuffer[n].Buffer[mwWMHCommSerialBuffer[n].OptCnts++];
// mwWMHCommSerialBuffer[n].OptCnts = mwWMHCommSerialBuffer[n].OptCnts % MAX_SERIAL_BUFF_SIZE;
// //RTE_GPIO_Config(RTE_GPIO_PORTB_PIN11, GpioOut_Low);
uint16_t n = (uint16_t)EM_WMH_COMM_PIN_TX_IDX;
EM_WMH_COMM_FRAME_T tmpFrame = mwWMHCommFrame[n];
if (mwWMHCommFrame[EM_WMH_COMM_PIN_RX_ID_wibox] == EM_WMH_COMM_FRAME_STANDBAY){
switch (tmpFrame) {
case EM_WMH_COMM_FRAME_STANDBAY: {
if (mwWMHCommSerialBuffer[n].OptCnts != mwWMHCommSerialBuffer[n].FillCnts) {
mwWMHCommFrame[n] = EM_WMH_COMM_FRAME_START;
mwWMHCommSerialBuffer[n].Byte = mwWMHCommSerialBuffer[n].Buffer[mwWMHCommSerialBuffer[n].OptCnts++];
mwWMHCommSerialBuffer[n].OptCnts = mwWMHCommSerialBuffer[n].OptCnts % MAX_SERIAL_BUFF_SIZE;
//RTE_GPIO_Config(RTE_GPIO_PORTB_PIN11, GpioOut_Low);
// GPIOB->PBSC = (1 << (11 + 16));
// //PORT_ClrBit(GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinGroup, GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinNum);
// }
// }break;
WMH_COMM = 0;
//PORT_ClrBit(GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinGroup, GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinNum);
}
}break;
// case EM_WMH_COMM_FRAME_START:
// case EM_WMH_COMM_FRAME_LOGIC_1:
// case EM_WMH_COMM_FRAME_LOGIC_0:
// case EM_WMH_COMM_FRAME_STOP: {
// if (mwWMHCommFrameTimerCnts[n].LowLevelTime < mwWMHCommSequentialParams[tmpFrame].Standard.LowLevelTime) {
// //RTE_GPIO_Config(RTE_GPIO_PORTB_PIN11, GpioOut_Low);
case EM_WMH_COMM_FRAME_START:
case EM_WMH_COMM_FRAME_LOGIC_1:
case EM_WMH_COMM_FRAME_LOGIC_0:
case EM_WMH_COMM_FRAME_STOP: {
if (mwWMHCommFrameTimerCnts[n].LowLevelTime < mwWMHCommSequentialParams[tmpFrame].Standard.LowLevelTime) {
//RTE_GPIO_Config(RTE_GPIO_PORTB_PIN11, GpioOut_Low);
// GPIOB->PBSC = (1 << (11 + 16));
// //PORT_ClrBit(GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinGroup, GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinNum);
// mwWMHCommFrameTimerCnts[n].LowLevelTime += tmpCnts;
// if (mwWMHCommFrameTimerCnts[n].LowLevelTime >= mwWMHCommSequentialParams[tmpFrame].Standard.LowLevelTime) {
WMH_COMM = 0;
//PORT_ClrBit(GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinGroup, GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinNum);
mwWMHCommFrameTimerCnts[n].LowLevelTime += tmpCnts;
if (mwWMHCommFrameTimerCnts[n].LowLevelTime >= mwWMHCommSequentialParams[tmpFrame].Standard.LowLevelTime) {
// GPIOB->PBSC = (1 << 11);
// //RTE_GPIO_Config(RTE_GPIO_PORTB_PIN11, GpioOut_High);
// //PORT_SetBit(GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinGroup, GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinNum);
// }
// } else if (mwWMHCommFrameTimerCnts[n].HighLevelTime < mwWMHCommSequentialParams[tmpFrame].Standard.HighLevelTime) {
// //RTE_GPIO_Config(RTE_GPIO_PORTB_PIN11, GpioOut_High);
WMH_COMM = 1;
//RTE_GPIO_Config(RTE_GPIO_PORTB_PIN11, GpioOut_High);
//PORT_SetBit(GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinGroup, GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinNum);
}
} else if (mwWMHCommFrameTimerCnts[n].HighLevelTime < mwWMHCommSequentialParams[tmpFrame].Standard.HighLevelTime) {
//RTE_GPIO_Config(RTE_GPIO_PORTB_PIN11, GpioOut_High);
// GPIOB->PBSC = (1 << 11);
// //PORT_SetBit(GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinGroup, GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinNum);
// mwWMHCommFrameTimerCnts[n].HighLevelTime += tmpCnts;
// if (mwWMHCommFrameTimerCnts[n].HighLevelTime >= mwWMHCommSequentialParams[tmpFrame].Standard.HighLevelTime) {
// mwWMHCommFrameTimerCnts[n].LowLevelTime = 0;
// mwWMHCommFrameTimerCnts[n].HighLevelTime = 0;
// if (tmpFrame != EM_WMH_COMM_FRAME_STOP) {
// //RTE_GPIO_Config(RTE_GPIO_PORTB_PIN11, GpioOut_Low);
WMH_COMM = 1;
//PORT_SetBit(GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinGroup, GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinNum);
mwWMHCommFrameTimerCnts[n].HighLevelTime += tmpCnts;
if (mwWMHCommFrameTimerCnts[n].HighLevelTime >= mwWMHCommSequentialParams[tmpFrame].Standard.HighLevelTime) {
mwWMHCommFrameTimerCnts[n].LowLevelTime = 0;
mwWMHCommFrameTimerCnts[n].HighLevelTime = 0;
if (tmpFrame != EM_WMH_COMM_FRAME_STOP) {
//RTE_GPIO_Config(RTE_GPIO_PORTB_PIN11, GpioOut_Low);
// GPIOB->PBSC = (1 << (11 + 16));
// //PORT_ClrBit(GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinGroup, GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinNum);
// if (mwWMHCommSerialBuffer[n].Bit >= 8) {
// mwWMHCommSerialBuffer[n].Bit = 0;
// if (mwWMHCommSerialBuffer[n].OptCnts != mwWMHCommSerialBuffer[n].FillCnts) {
// mwWMHCommSerialBuffer[n].Byte = mwWMHCommSerialBuffer[n].Buffer[mwWMHCommSerialBuffer[n].OptCnts++];
// mwWMHCommSerialBuffer[n].OptCnts = mwWMHCommSerialBuffer[n].OptCnts % MAX_SERIAL_BUFF_SIZE;
// } else {
// mwWMHCommFrame[n] = EM_WMH_COMM_FRAME_STOP;
// mwWMHCommSerialBuffer[n].Valid = 0;
// //RTE_GPIO_Config(RTE_GPIO_PORTB_PIN11, GpioOut_Low);
WMH_COMM = 0;
//PORT_ClrBit(GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinGroup, GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinNum);
if (mwWMHCommSerialBuffer[n].Bit >= 8) {
mwWMHCommSerialBuffer[n].Bit = 0;
if (mwWMHCommSerialBuffer[n].OptCnts != mwWMHCommSerialBuffer[n].FillCnts) {
mwWMHCommSerialBuffer[n].Byte = mwWMHCommSerialBuffer[n].Buffer[mwWMHCommSerialBuffer[n].OptCnts++];
mwWMHCommSerialBuffer[n].OptCnts = mwWMHCommSerialBuffer[n].OptCnts % MAX_SERIAL_BUFF_SIZE;
} else {
mwWMHCommFrame[n] = EM_WMH_COMM_FRAME_STOP;
mwWMHCommSerialBuffer[n].Valid = 0;
//RTE_GPIO_Config(RTE_GPIO_PORTB_PIN11, GpioOut_Low);
// GPIOB->PBSC = (1 << (11 + 16));
// //PORT_ClrBit(GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinGroup, GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinNum);
// }
// }
// if (mwWMHCommSerialBuffer[n].Valid != 0) {
// if ((mwWMHCommSerialBuffer[n].Byte & 0x01) != 0) {
// mwWMHCommFrame[n] = EM_WMH_COMM_FRAME_LOGIC_1;
// } else {
// mwWMHCommFrame[n] = EM_WMH_COMM_FRAME_LOGIC_0;
// }
// mwWMHCommSerialBuffer[n].Byte = ((mwWMHCommSerialBuffer[n].Byte >> 1) & 0x7Fu);
// mwWMHCommSerialBuffer[n].Bit++;
// }
// } else {
// //RTE_GPIO_Config(RTE_GPIO_PORTB_PIN11, GpioOut_High);
WMH_COMM = 0;
//PORT_ClrBit(GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinGroup, GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinNum);
}
}
if (mwWMHCommSerialBuffer[n].Valid != 0) {
if ((mwWMHCommSerialBuffer[n].Byte & 0x01) != 0) {
mwWMHCommFrame[n] = EM_WMH_COMM_FRAME_LOGIC_1;
} else {
mwWMHCommFrame[n] = EM_WMH_COMM_FRAME_LOGIC_0;
}
mwWMHCommSerialBuffer[n].Byte = ((mwWMHCommSerialBuffer[n].Byte >> 1) & 0x7Fu);
mwWMHCommSerialBuffer[n].Bit++;
}
} else {
//RTE_GPIO_Config(RTE_GPIO_PORTB_PIN11, GpioOut_High);
// GPIOB->PBSC = (1 << 11);
// //PORT_SetBit(GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinGroup, GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinNum);
// mwWMHCommFrame[n] = EM_WMH_COMM_FRAME_STANDBAY;
// }
// }
// }
// }break;
WMH_COMM = 1;
//PORT_SetBit(GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinGroup, GpioMapData[mwWMHCommPin[n]].IoPara.McuIo.pinNum);
mwWMHCommFrame[n] = EM_WMH_COMM_FRAME_STANDBAY;
}
}
}
}break;
// default: {
default: {
// GPIOB->PBSC = (1 << 11);
// //PORT_SetBit(GpioMapData[n].IoPara.McuIo.pinGroup, GpioMapData[n].IoPara.McuIo.pinNum);
// mwWMHCommFrame[n] = EM_WMH_COMM_FRAME_STANDBAY;
// }break;
// }
// } else {
// mwWMHCommFrameTimerCnts[n].LowLevelTime = 0;
// mwWMHCommFrameTimerCnts[n].HighLevelTime = 0;
// }
WMH_COMM = 1;
//PORT_SetBit(GpioMapData[n].IoPara.McuIo.pinGroup, GpioMapData[n].IoPara.McuIo.pinNum);
mwWMHCommFrame[n] = EM_WMH_COMM_FRAME_STANDBAY;
}break;
}
} else {
mwWMHCommFrameTimerCnts[n].LowLevelTime = 0;
mwWMHCommFrameTimerCnts[n].HighLevelTime = 0;
}
}
void mwWMHCommTransmitBytes(uint8_t *data, uint32_t length)
{
uint32_t i = 0;
uint16_t n = (uint16_t)EM_WMH_COMM_PIN_TX_IDX;
if ((length > 0) && (mwWMHCommSerialBuffer[n].Valid == 0)) {
for (i = 0; i < length; i++) {
if ((length > 0) && (mwWMHCommSerialBuffer[n].Valid == 0))
{
for (i = 0; i < length; i++)
{
mwWMHCommSerialBuffer[n].Buffer[mwWMHCommSerialBuffer[n].FillCnts++] = data[i];
mwWMHCommSerialBuffer[n].FillCnts = mwWMHCommSerialBuffer[n].FillCnts % MAX_SERIAL_BUFF_SIZE;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment