From b0a8f61ceedf532a578de0fd8d99f159ddb81302 Mon Sep 17 00:00:00 2001 From: Jesse Kleemann Date: Wed, 19 Feb 2025 00:04:04 +0100 Subject: [PATCH] added function to reset overflow error bits --- mcp_can.cpp | 9 +++++++++ mcp_can.h | 1 + 2 files changed, 10 insertions(+) diff --git a/mcp_can.cpp b/mcp_can.cpp index 46f3a00..c57f659 100644 --- a/mcp_can.cpp +++ b/mcp_can.cpp @@ -1290,6 +1290,15 @@ INT8U MCP_CAN::getError(void) return mcp2515_readRegister(MCP_EFLG); } +/********************************************************************************************************* +** Function name: resetOverflowErrors +** Descriptions: Resets overflow error bits. +*********************************************************************************************************/ +void MCP_CAN::resetOverflowErrors(void) +{ + mcp2515_modifyRegister(MCP_EFLG, MCP_EFLG_RX0OVR | MCP_EFLG_RX1OVR, 0); +} + /********************************************************************************************************* ** Function name: mcp2515_errorCountRX ** Descriptions: Returns REC register value diff --git a/mcp_can.h b/mcp_can.h index 8c2d8ed..cc4f3aa 100644 --- a/mcp_can.h +++ b/mcp_can.h @@ -123,6 +123,7 @@ class MCP_CAN INT8U checkReceive(void); // Check for received data INT8U checkError(void); // Check for errors INT8U getError(void); // Check for errors + void resetOverflowErrors(void); // Reset overflow error bits INT8U errorCountRX(void); // Get error count INT8U errorCountTX(void); // Get error count INT8U enOneShotTX(void); // Enable one-shot transmission