@@ -298,6 +298,17 @@ byte MCP_CAN::mcp2515_readStatus(void)
298298 return i;
299299}
300300
301+ /* ********************************************************************************************************
302+ ** Function name: mcp2515_setMode
303+ ** Descriptions: Sets and stores controller mode
304+ *********************************************************************************************************/
305+ byte MCP_CAN::mcp2515_setMode (const byte newmode)
306+ {
307+ mcpMode = newmode;
308+ return mcp2515_setCANCTRL_Mode (mcpMode);
309+ }
310+
311+
301312/* ********************************************************************************************************
302313** Function name: mcp2515_setCANCTRL_Mode
303314** Descriptions: set control mode
@@ -640,7 +651,7 @@ byte MCP_CAN::mcp2515_init(const byte canSpeed, const byte clock)
640651 MCP_RXB_RX_STDEXT);
641652#endif
642653 // enter normal mode
643- res = mcp2515_setCANCTRL_Mode (MODE_NORMAL);
654+ res = mcp2515_setMode (MODE_NORMAL);
644655 if (res)
645656 {
646657#if DEBUG_EN
@@ -937,7 +948,7 @@ byte MCP_CAN::init_Mask(byte num, byte ext, unsigned long ulData)
937948 }
938949 else res = MCP2515_FAIL;
939950
940- res = mcp2515_setCANCTRL_Mode (MODE_NORMAL );
951+ res = mcp2515_setCANCTRL_Mode (mcpMode );
941952 if (res > 0 ) {
942953#if DEBUG_EN
943954 Serial.print (" Enter normal mode fall\r\n " );
@@ -1007,7 +1018,7 @@ byte MCP_CAN::init_Filt(byte num, byte ext, unsigned long ulData)
10071018 res = MCP2515_FAIL;
10081019 }
10091020
1010- res = mcp2515_setCANCTRL_Mode (MODE_NORMAL );
1021+ res = mcp2515_setCANCTRL_Mode (mcpMode );
10111022 if (res > 0 )
10121023 {
10131024#if DEBUG_EN
0 commit comments