From 42b083be63c6df6caad6fdd4f6e1eb4aa2afafd9 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 6 Jan 2016 04:27:36 +0300 Subject: [PATCH] enum RXF, consts --- mcp_can.cpp | 51 +++++++++++++++++++++++---------------------------- mcp_can.h | 15 ++++++++++++--- 2 files changed, 35 insertions(+), 31 deletions(-) diff --git a/mcp_can.cpp b/mcp_can.cpp index 5094593..291c4f9 100644 --- a/mcp_can.cpp +++ b/mcp_can.cpp @@ -129,11 +129,7 @@ MCP_CAN::ERROR MCP_CAN::setCANCTRL_Mode(const MODE newmode) modifyRegister(MCP_CANCTRL, MODE_MASK, newmode); uint8_t i = readRegister(MCP_CANCTRL) & MODE_MASK; - if (i == newmode) { - return ERROR_OK; - } - - return ERROR_FAIL; + return i == newmode ? ERROR_OK : ERROR_FAIL; } @@ -368,7 +364,7 @@ void MCP_CAN::prepareId(uint8_t *buffer, const bool ext, const uint32_t id) ** Function name: set CS ** Descriptions: init CS pin and set UNSELECTED *********************************************************************************************************/ -MCP_CAN::MCP_CAN(uint8_t _CS, MODE mode) +MCP_CAN::MCP_CAN(const uint8_t _CS, const MODE mode) { m_mode = mode; SPICS = _CS; @@ -390,7 +386,7 @@ MCP_CAN::ERROR MCP_CAN::begin(const CAN_SPEED speedset) ** Function name: initMask ** Descriptions: init canid Masks *********************************************************************************************************/ -MCP_CAN::ERROR MCP_CAN::initMask(uint8_t num, const bool ext, uint32_t ulData) +MCP_CAN::ERROR MCP_CAN::initMask(const uint8_t num, const bool ext, const uint32_t ulData) { delay(10); @@ -417,7 +413,7 @@ MCP_CAN::ERROR MCP_CAN::initMask(uint8_t num, const bool ext, uint32_t ulData) ** Function name: initFilt ** Descriptions: init canid filters *********************************************************************************************************/ -MCP_CAN::ERROR MCP_CAN::initFilt(uint8_t num, const bool ext, uint32_t ulData) +MCP_CAN::ERROR MCP_CAN::initFilt(const RXF num, const bool ext, const uint32_t ulData) { delay(10); ERROR res = setCANCTRL_Mode(MODE_CONFIG); @@ -427,33 +423,32 @@ MCP_CAN::ERROR MCP_CAN::initFilt(uint8_t num, const bool ext, uint32_t ulData) } switch (num) { - case 0: - write_id(MCP_RXF0SIDH, ext, ulData); - break; + case RXF0: + write_id(MCP_RXF0SIDH, ext, ulData); + break; - case 1: - write_id(MCP_RXF1SIDH, ext, ulData); - break; + case RXF1: + write_id(MCP_RXF1SIDH, ext, ulData); + break; - case 2: - write_id(MCP_RXF2SIDH, ext, ulData); - break; + case RXF2: + write_id(MCP_RXF2SIDH, ext, ulData); + break; - case 3: - write_id(MCP_RXF3SIDH, ext, ulData); - break; + case RXF3: + write_id(MCP_RXF3SIDH, ext, ulData); + break; - case 4: - write_id(MCP_RXF4SIDH, ext, ulData); - break; + case RXF4: + write_id(MCP_RXF4SIDH, ext, ulData); + break; - case 5: - write_id(MCP_RXF5SIDH, ext, ulData); - break; + case RXF5: + write_id(MCP_RXF5SIDH, ext, ulData); + break; default: - //res = ERROR_FAIL; - break; + return ERROR_FAIL; } res = setCANCTRL_Mode(m_mode); diff --git a/mcp_can.h b/mcp_can.h index 10de160..ba6450f 100644 --- a/mcp_can.h +++ b/mcp_can.h @@ -68,6 +68,15 @@ class MCP_CAN static const uint8_t DLC_MASK = 0x0F; static const uint8_t RTR_MASK = 0x40; + enum RXF { + RXF0 = 0, + RXF1 = 1, + RXF2 = 2, + RXF3 = 3, + RXF4 = 4, + RXF5 = 5 + }; + enum /*class*/ STAT : uint8_t { STAT_RX0IF = (1<<0), STAT_RX1IF = (1<<1) @@ -256,10 +265,10 @@ class MCP_CAN void endSPI(); public: - MCP_CAN(uint8_t _CS, MODE mode); + MCP_CAN(const uint8_t _CS, const MODE mode); ERROR begin(const CAN_SPEED speedset); /* init can */ - ERROR initMask(uint8_t num, bool ext, uint32_t ulData); /* init Masks */ - ERROR initFilt(uint8_t num, bool ext, uint32_t ulData); /* init filters */ + ERROR initMask(const uint8_t num, const bool ext, const uint32_t ulData); /* init Masks */ + ERROR initFilt(const RXF num, const bool ext, const uint32_t ulData); /* init filters */ ERROR sendMessage(const uint32_t id, const bool ext, const bool rtr, const uint8_t len, const uint8_t *buf); /* send buf */ ERROR readMessage(const RXBn rxbn, uint32_t *id, uint8_t *dlc, uint8_t buf[], bool *rtr, bool *ext); /* read can msg */ ERROR readMessage(uint32_t *ID, uint8_t *len, uint8_t buf[], bool *rtr, bool *ext); /* read buf with object ID */