|
|
@@ -157,7 +157,6 @@ ListItem_t canStbTxListItem[CAN_NUM][CAN_STB_TX_BUF_NUM];
|
|
|
|
|
|
static CanPort_t *pxCanPort[CAN_NUM] = {NULL};
|
|
|
static CAN_InitTypeDef CanInitValue[CAN_NUM];
|
|
|
-static int brs_state[CAN_NUM];
|
|
|
static CAN_FilterInitTypeDef CanFilterInitValue[CAN_NUM][CAN_FILTER_MAX];
|
|
|
static u8 nCanFilterEnable[CAN_NUM][CAN_FILTER_MAX];
|
|
|
|
|
|
@@ -1089,12 +1088,6 @@ void vCanInit(CanPort_t *cap, CanTimInit_t *TimInit, CanMode_t mode)
|
|
|
CAN_InitStructure.Mode = mode;
|
|
|
|
|
|
CanInitValue[cap->id] = CAN_InitStructure;
|
|
|
- // 由于关闭了TDC,速度超过1M时,开启BRS可能不稳定
|
|
|
- if (TimInit->DatBps < CANFD1MBaud) {
|
|
|
- brs_state[cap->id] = 0;
|
|
|
- } else {
|
|
|
- brs_state[cap->id] = 1;
|
|
|
- }
|
|
|
if (cap->id == CAN_ID0){
|
|
|
MCU_SYSCTRL->V6_RST_CTL &= ~(1 << 0);
|
|
|
TIMER_Udelay(10);
|
|
|
@@ -1146,7 +1139,7 @@ void vCanClose(CanPort_t *cap)
|
|
|
}
|
|
|
|
|
|
|
|
|
-void vCanSetFilter(CanPort_t *cap, CAN_FilterInitTypeDef CAN_FilterInitStruct)
|
|
|
+void vCanSetFilter(CanPort_t *cap, CAN_FilterInitTypeDef CAN_FilterInitStruct)
|
|
|
{
|
|
|
CANFD_TypeDef *CANx = cap->pcan;
|
|
|
volatile u32 *pU32;
|
|
|
@@ -1185,13 +1178,13 @@ void vCanSetFilter(CanPort_t *cap, CAN_FilterInitTypeDef CAN_FilterInitStruc
|
|
|
|
|
|
CanFilterInitValue[cap->id][CAN_FilterInitStruct.FILTERx] = CAN_FilterInitStruct;
|
|
|
if ((CAN_FilterInitStruct.IDE_M == STD_OR_EXT) || (CAN_FilterInitStruct.IDE_M == EXT_ONLY)) {
|
|
|
- if (CAN_FilterInitStruct.IDMASK & 0x1FFFFFFF == 0x1FFFFFFF) {
|
|
|
+ if ((CAN_FilterInitStruct.IDMASK & 0x1FFFFFFF) == 0x1FFFFFFF) {
|
|
|
nCanFilterEnable[cap->id][CAN_FilterInitStruct.FILTERx] = 0;
|
|
|
} else {
|
|
|
nCanFilterEnable[cap->id][CAN_FilterInitStruct.FILTERx] = 1;
|
|
|
}
|
|
|
} else {
|
|
|
- if (CAN_FilterInitStruct.IDMASK & 0x7ff == 0x7ff) {
|
|
|
+ if ((CAN_FilterInitStruct.IDMASK & 0x7ff) == 0x7ff) {
|
|
|
nCanFilterEnable[cap->id][CAN_FilterInitStruct.FILTERx] = 0;
|
|
|
} else {
|
|
|
nCanFilterEnable[cap->id][CAN_FilterInitStruct.FILTERx] = 1;
|
|
|
@@ -1236,9 +1229,6 @@ int iCanWrite(CanPort_t *cap, CanMsg* messages, int nmsgs, TickType_t xBlockTime
|
|
|
portENTER_CRITICAL();
|
|
|
if(!listLIST_IS_EMPTY(txFreeList)) {
|
|
|
ListItem_t *item = listGET_HEAD_ENTRY(txFreeList);
|
|
|
- if (brs_state[cap->id] == 0) {
|
|
|
- msgs->BRS = 0;
|
|
|
- }
|
|
|
memcpy((void*)listGET_LIST_ITEM_VALUE(item), msgs, sizeof(CanMsg));
|
|
|
uxListRemove(item);
|
|
|
vListInsertEnd(txSendList, item);
|