mirror of
https://github.com/Seeed-Studio/Seeed_Arduino_CAN.git
synced 2026-07-27 19:55:59 +00:00
83.3kbps baud rate support + extended flag getter
Quite commonly used 83.3kbps added. (Chrysler, Jeep, MB, etc..) Added ability to check type of received frame.
This commit is contained in:
+18
-2
@@ -187,7 +187,7 @@ INT8U MCP_CAN::mcp2515_configRate(const INT8U canSpeed)
|
||||
cfg3 = MCP_16MHz_31k25BPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_33KBPS):
|
||||
case (CAN_33KBPS):
|
||||
cfg1 = MCP_16MHz_33kBPS_CFG1;
|
||||
cfg2 = MCP_16MHz_33kBPS_CFG2;
|
||||
cfg3 = MCP_16MHz_33kBPS_CFG3;
|
||||
@@ -211,7 +211,13 @@ INT8U MCP_CAN::mcp2515_configRate(const INT8U canSpeed)
|
||||
cfg3 = MCP_16MHz_80kBPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_95KBPS):
|
||||
case (CAN_83K3BPS):
|
||||
cfg1 = MCP_16MHz_83k3BPS_CFG1;
|
||||
cfg2 = MCP_16MHz_83k3BPS_CFG2;
|
||||
cfg3 = MCP_16MHz_83k3BPS_CFG3;
|
||||
break;
|
||||
|
||||
case (CAN_95KBPS):
|
||||
cfg1 = MCP_16MHz_95kBPS_CFG1;
|
||||
cfg2 = MCP_16MHz_95kBPS_CFG2;
|
||||
cfg3 = MCP_16MHz_95kBPS_CFG3;
|
||||
@@ -919,6 +925,16 @@ INT8U MCP_CAN::isRemoteRequest(void)
|
||||
{
|
||||
return m_nRtr;
|
||||
}
|
||||
|
||||
/*********************************************************************************************************
|
||||
** Function name: isExtFrame
|
||||
** Descriptions: check whether received frame is standard 11bit or extended 29bit
|
||||
*********************************************************************************************************/
|
||||
INT8U MCP_CAN::isExtFrame(void)
|
||||
{
|
||||
return m_nExtFlg;
|
||||
}
|
||||
|
||||
/*********************************************************************************************************
|
||||
END FILE
|
||||
*********************************************************************************************************/
|
||||
|
||||
@@ -108,6 +108,7 @@ public:
|
||||
INT8U checkError(void); /* if something error */
|
||||
INT32U getCanId(void); /* get can id when receive */
|
||||
INT8U isRemoteRequest(void); /* get RR flag when receive */
|
||||
INT8U isExtFrame(void); /* did we recieve 29bit frame? */
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+11
-9
@@ -280,6 +280,9 @@
|
||||
#define MCP_16MHz_95kBPS_CFG2 (0xAD)
|
||||
#define MCP_16MHz_95kBPS_CFG3 (0x07)
|
||||
|
||||
#define MCP_16MHz_83k3BPS_CFG1 (0x03)
|
||||
#define MCP_16MHz_83k3BPS_CFG2 (0xBE)
|
||||
#define MCP_16MHz_83k3BPS_CFG3 (0x07)
|
||||
|
||||
#define MCP_16MHz_80kBPS_CFG1 (0x03)
|
||||
#define MCP_16MHz_80kBPS_CFG2 (0xFF)
|
||||
@@ -297,8 +300,6 @@
|
||||
#define MCP_16MHz_33kBPS_CFG2 (0xBE)
|
||||
#define MCP_16MHz_33kBPS_CFG3 (0x07)
|
||||
|
||||
|
||||
|
||||
#define MCP_16MHz_31k25BPS_CFG1 (0x0F)
|
||||
#define MCP_16MHz_31k25BPS_CFG2 (0xF1)
|
||||
#define MCP_16MHz_31k25BPS_CFG3 (0x85)
|
||||
@@ -359,13 +360,14 @@
|
||||
#define CAN_40KBPS 6
|
||||
#define CAN_50KBPS 7
|
||||
#define CAN_80KBPS 8
|
||||
#define CAN_95KBPS 9
|
||||
#define CAN_100KBPS 10
|
||||
#define CAN_125KBPS 11
|
||||
#define CAN_200KBPS 12
|
||||
#define CAN_250KBPS 13
|
||||
#define CAN_500KBPS 14
|
||||
#define CAN_1000KBPS 15
|
||||
#define CAN_83K3BPS 9
|
||||
#define CAN_95KBPS 10
|
||||
#define CAN_100KBPS 11
|
||||
#define CAN_125KBPS 12
|
||||
#define CAN_200KBPS 13
|
||||
#define CAN_250KBPS 14
|
||||
#define CAN_500KBPS 15
|
||||
#define CAN_1000KBPS 16
|
||||
|
||||
#define CAN_OK (0)
|
||||
#define CAN_FAILINIT (1)
|
||||
|
||||
Reference in New Issue
Block a user