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:
latonita
2015-04-07 00:55:49 +03:00
parent 9a5ea4b50f
commit c4d4d05702
3 changed files with 30 additions and 11 deletions
+18 -2
View File
@@ -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
*********************************************************************************************************/
+1
View 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
View File
@@ -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)