Moved CAN Interface code to comment libary folder with symlink
This commit is contained in:
177
common-libaries/mcp2521/include/bitfields.hpp
Normal file
177
common-libaries/mcp2521/include/bitfields.hpp
Normal file
@@ -0,0 +1,177 @@
|
||||
#pragma once
|
||||
#include <cstdint>
|
||||
|
||||
/**
|
||||
* @brief RXnBF PIN CONTROL AND STATUS REGISTER (ADDRESS: 0Ch)
|
||||
*
|
||||
*/
|
||||
struct BFPCTRL {
|
||||
uint8_t B0BFM : 1;
|
||||
uint8_t B1BFM : 1;
|
||||
uint8_t B0BFE : 1;
|
||||
uint8_t B1BFE : 1;
|
||||
uint8_t B0BFS : 1;
|
||||
uint8_t B1BFS : 1;
|
||||
uint8_t : 2;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief TXnRTS PIN CONTROL AND STATUS REGISTER
|
||||
*
|
||||
*/
|
||||
struct TXRTSCTRL {
|
||||
uint8_t B0RTSM : 1;
|
||||
uint8_t B1RTSM : 1;
|
||||
uint8_t B2RTSM : 1;
|
||||
uint8_t B0RTS : 1;
|
||||
uint8_t B1RTS : 1;
|
||||
uint8_t B2RTS : 1;
|
||||
uint8_t : 2;
|
||||
};
|
||||
|
||||
struct CANSTAT {
|
||||
uint8_t ICOD0 : ;
|
||||
uint8_t : 1;
|
||||
uint8_t OPMOD0 : 1;
|
||||
uint8_t OPMOD1 : 1;
|
||||
uint8_t OPMOD2 : 1;
|
||||
uint8_t : 1;
|
||||
};
|
||||
|
||||
struct CANCTRL {
|
||||
uint8_t CLKPRE0 : 1;
|
||||
uint8_t CLKPRE1 : 1;
|
||||
uint8_t CLKEN : 1;
|
||||
uint8_t OSM : 1;
|
||||
uint8_t ABAT : 1;
|
||||
uint8_t REQOP0 : 1;
|
||||
uint8_t REQOP1 : 1;
|
||||
uint8_t REQOP2 : 1;
|
||||
};
|
||||
|
||||
struct TEC {
|
||||
uint8_t TEC;
|
||||
};
|
||||
|
||||
struct REC {
|
||||
uint8_t REC;
|
||||
};
|
||||
|
||||
struct CNF3 {
|
||||
uint8_t PHSEG20 : 1;
|
||||
uint8_t PHSEG21 : 1;
|
||||
uint8_t PHSEG22 : 1;
|
||||
uint8_t : 3;
|
||||
uint8_t WAKFIL : 1;
|
||||
uint8_t SOF : 1;
|
||||
};
|
||||
|
||||
struct CNF2 {
|
||||
uint8_t PRSEG0 : 1;
|
||||
uint8_t PRSEG1 : 1;
|
||||
uint8_t PRSEG2 : 1;
|
||||
uint8_t PHSEG10 : 1;
|
||||
uint8_t PHSEG11 : 1;
|
||||
uint8_t PHSEG12 : 1;
|
||||
uint8_t SAM : 1;
|
||||
uint8_t BTLMODE : 1;
|
||||
};
|
||||
|
||||
struct CNF1 {
|
||||
uint8_t BRP0 : 1;
|
||||
uint8_t BRP1 : 1;
|
||||
uint8_t BRP2 : 1;
|
||||
uint8_t BRP3 : 1;
|
||||
uint8_t BRP4 : 1;
|
||||
uint8_t BRP5 : 1;
|
||||
uint8_t SJW0 : 1;
|
||||
uint8_t SJW1 : 1;
|
||||
};
|
||||
|
||||
struct CANINTE {
|
||||
uint8_t RX0IE : 1;
|
||||
uint8_t RX1IE : 1;
|
||||
uint8_t TX0IE : 1;
|
||||
uint8_t TX1IE : 1;
|
||||
uint8_t TX2IE : 1;
|
||||
uint8_t ERRIE : 1;
|
||||
uint8_t WAKIE : 1;
|
||||
uint8_t MERRE : 1;
|
||||
};
|
||||
|
||||
struct CANINTF {
|
||||
uint8_t RX0IF : 1;
|
||||
uint8_t RX1IF : 1;
|
||||
uint8_t TX0IF : 1;
|
||||
uint8_t TX1IF : 1;
|
||||
uint8_t TX2IF : 1;
|
||||
uint8_t ERRIF : 1;
|
||||
uint8_t WAKIF : 1;
|
||||
uint8_t MERRF : 1;
|
||||
};
|
||||
|
||||
struct EFLG {
|
||||
uint8_t EWARN : 1;
|
||||
uint8_t RXWAR : 1;
|
||||
uint8_t TXWAR : 1;
|
||||
uint8_t RXEP : 1;
|
||||
uint8_t TXEP : 1;
|
||||
uint8_t TXBO : 1;
|
||||
uint8_t RX0OVR : 1;
|
||||
uint8_t RX1OVR : 1;
|
||||
};
|
||||
|
||||
struct TXB0CTRL {
|
||||
uint8_t TXP0 : 1;
|
||||
uint8_t TXP1 : 1;
|
||||
uint8_t : 1;
|
||||
uint8_t TXREQ : 1;
|
||||
uint8_t TXERR : 1;
|
||||
uint8_t MLOA : 1;
|
||||
uint8_t ABTF : 1;
|
||||
uint8_t : 1;
|
||||
};
|
||||
|
||||
struct TXB1CTRL {
|
||||
uint8_t TXP0 : 1;
|
||||
uint8_t TXP1 : 1;
|
||||
uint8_t : 1;
|
||||
uint8_t TXREQ : 1;
|
||||
uint8_t TXERR : 1;
|
||||
uint8_t MLOA : 1;
|
||||
uint8_t ABTF : 1;
|
||||
uint8_t : 1;
|
||||
};
|
||||
|
||||
struct TXB2CTRL {
|
||||
uint8_t TXP0 : 1;
|
||||
uint8_t TXP1 : 1;
|
||||
uint8_t : 1;
|
||||
uint8_t TXREQ : 1;
|
||||
uint8_t TXERR : 1;
|
||||
uint8_t MLOA : 1;
|
||||
uint8_t ABTF : 1;
|
||||
uint8_t : 1;
|
||||
};
|
||||
|
||||
struct RXB0CTRL {
|
||||
uint8_t FILHIT0 : 1;
|
||||
uint8_t BUKT1 : 1;
|
||||
uint8_t BUKT : 1;
|
||||
uint8_t RXRTR : 1;
|
||||
uint8_t : 1;
|
||||
uint8_t RXM0 : 1;
|
||||
uint8_t RXM1 : 1;
|
||||
uint8_t : 1;
|
||||
};
|
||||
|
||||
struct RXB1CTRL {
|
||||
uint8_t FILHIT0 : 1;
|
||||
uint8_t FILHIT1 : 1;
|
||||
uint8_t FILHIT2 : 1;
|
||||
uint8_t RXRTR : 1;
|
||||
uint8_t : 1;
|
||||
uint8_t RXM0 : 1;
|
||||
uint8_t RXM1 : 1;
|
||||
uint8_t : 1;
|
||||
};
|
||||
Reference in New Issue
Block a user