11 #include <uavcan/uavcan.hpp> 14 #include <nuttx/arch.h> 15 #include <arch/board/board.h> 16 #include <chip/stm32_tim.h> 18 #include <nuttx/config.h> 19 #include <nuttx/fs/fs.h> 20 #include <nuttx/irq.h> 24 #ifndef UAVCAN_CPP_VERSION 25 # error UAVCAN_CPP_VERSION 28 #if UAVCAN_CPP_VERSION < UAVCAN_CPP11 30 # define constexpr const 36 # define CAN_IRQ_ATTACH(irq, handler) \ 38 const int res = irq_attach(irq, handler); \ 45 volatile uint32_t
TIR;
52 volatile uint32_t
RIR;
59 volatile uint32_t
FR1;
60 volatile uint32_t
FR2;
64 volatile uint32_t
MCR;
65 volatile uint32_t
MSR;
66 volatile uint32_t
TSR;
69 volatile uint32_t
IER;
70 volatile uint32_t
ESR;
71 volatile uint32_t
BTR;
72 uint32_t RESERVED0[88];
75 uint32_t RESERVED1[12];
76 volatile uint32_t
FMR;
84 uint32_t RESERVED5[8];
91 CanType*
const Can[2] = {
reinterpret_cast<CanType*
>(STM32_CAN1_BASE), reinterpret_cast<CanType*>(STM32_CAN2_BASE) };
292 #if UAVCAN_CPP_VERSION < UAVCAN_CPP11
constexpr unsigned long TDTR_TIME_SHIFT
constexpr unsigned long TDHR_DATA5_SHIFT
constexpr unsigned long MCR_DBF
constexpr unsigned long BTR_TSEG2_MAX
constexpr unsigned long RDHR_DATA4_MASK
constexpr unsigned long BTR_BRP_MAX
constexpr unsigned long BTR_LBKM
constexpr unsigned long TDHR_DATA4_MASK
constexpr unsigned long BTR_SJW_MASK
constexpr unsigned long TDTR_TIME_MASK
constexpr unsigned long ESR_FORMERROR
constexpr unsigned long TSR_RQCP0
constexpr unsigned long RDLR_DATA0_MASK
constexpr unsigned long TIR_IDE
constexpr unsigned long RDHR_DATA6_SHIFT
constexpr unsigned long BTR_SJW_SHIFT
constexpr unsigned long RDLR_DATA0_SHIFT
constexpr unsigned long TIR_RTR
constexpr unsigned long RDLR_DATA2_MASK
constexpr unsigned long TSR_ABRQ0
constexpr unsigned long BTR_TS2_SHIFT
constexpr unsigned long TSR_TXOK2
constexpr unsigned long ESR_TEC_MASK
constexpr unsigned long RDLR_DATA2_SHIFT
constexpr unsigned long RDHR_DATA7_SHIFT
constexpr unsigned long IER_FMPIE0
constexpr unsigned long MSR_RX
constexpr unsigned long RIR_STID_SHIFT
constexpr unsigned long RDTR_TIME_SHIFT
constexpr unsigned long FMR_FINIT
constexpr unsigned long TIR_TXRQ
constexpr unsigned long IER_FOVIE0
constexpr unsigned long RDLR_DATA3_MASK
constexpr unsigned long TSR_TERR1
constexpr unsigned long TSR_ALST2
constexpr unsigned long RDLR_DATA1_SHIFT
constexpr unsigned long TDLR_DATA2_SHIFT
constexpr unsigned long TDTR_DLC_MASK
constexpr unsigned long IER_FFIE0
constexpr unsigned long TSR_TME2
constexpr unsigned long BTR_TSEG1_MAX
constexpr unsigned long BTR_TS1_MASK
constexpr unsigned long TIR_EXID_MASK
constexpr unsigned long IER_BOFIE
constexpr unsigned long MSR_RXM
constexpr unsigned long MCR_RESET
constexpr unsigned long RDTR_DLC_MASK
constexpr unsigned long IER_TMEIE
constexpr unsigned long RDHR_DATA6_MASK
constexpr unsigned long RDLR_DATA3_SHIFT
constexpr unsigned long IER_SLKIE
constexpr unsigned long MCR_AWUM
constexpr unsigned long MSR_SLAKI
constexpr unsigned long TDHR_DATA5_MASK
constexpr unsigned long MSR_INAK
constexpr unsigned long TSR_RQCP1
constexpr unsigned long TSR_TXOK1
constexpr unsigned long MSR_SAMP
constexpr unsigned long ESR_STUFFERROR
constexpr unsigned long RDHR_DATA4_SHIFT
constexpr unsigned long MCR_RFLM
constexpr unsigned long RDTR_DLC_SHIFT
constexpr unsigned long RDHR_DATA5_SHIFT
constexpr unsigned long RIR_EXID_SHIFT
constexpr unsigned long RFR_RFOM
constexpr unsigned long ESR_LEC_SHIFT
constexpr unsigned long IER_EWGIE
constexpr unsigned long RFR_FMP_SHIFT
constexpr unsigned long TSR_ABRQ2
constexpr unsigned long ESR_BDOMERROR
constexpr unsigned long RIR_IDE
constexpr unsigned long TDTR_TGT
constexpr unsigned long IER_FMPIE1
constexpr unsigned long MSR_TXM
constexpr unsigned long BTR_BRP_SHIFT
constexpr unsigned long TDLR_DATA2_MASK
constexpr unsigned long RFR_FULL
constexpr unsigned long TIR_STID_MASK
constexpr unsigned long BTR_TS2_MASK
constexpr unsigned long MSR_WKUI
constexpr unsigned long MCR_TTCM
constexpr unsigned long ESR_EWGF
constexpr unsigned long TSR_TME0
constexpr unsigned long MSR_ERRI
constexpr unsigned long TDLR_DATA0_SHIFT
constexpr unsigned long TSR_ALST0
constexpr unsigned long TDHR_DATA6_MASK
constexpr unsigned long RDLR_DATA1_MASK
constexpr unsigned long TSR_ALST1
constexpr unsigned long RFR_FOVR
constexpr unsigned long ESR_EPVF
constexpr unsigned long TDTR_DLC_SHIFT
constexpr unsigned long RDHR_DATA7_MASK
constexpr unsigned long RDTR_TIME_MASK
constexpr unsigned long TDHR_DATA7_MASK
constexpr unsigned long MCR_ABOM
constexpr unsigned long RIR_STID_MASK
constexpr unsigned long ESR_SWERROR
constexpr unsigned long TDLR_DATA3_SHIFT
constexpr unsigned long MCR_NART
constexpr unsigned long ESR_LEC_MASK
constexpr unsigned long TDLR_DATA1_MASK
constexpr unsigned long TDHR_DATA7_SHIFT
constexpr unsigned long TDLR_DATA3_MASK
constexpr unsigned long ESR_BRECERROR
constexpr unsigned long TSR_TXOK0
constexpr unsigned long RDHR_DATA5_MASK
constexpr unsigned long MSR_SLAK
constexpr unsigned long TSR_RQCP2
constexpr unsigned long TSR_LOW0
constexpr unsigned long TDHR_DATA6_SHIFT
constexpr unsigned long RDTR_FM_MASK
constexpr unsigned long BTR_TS1_SHIFT
constexpr unsigned long ESR_REC_SHIFT
constexpr unsigned long IER_LECIE
constexpr unsigned long TDHR_DATA4_SHIFT
constexpr unsigned long TIR_EXID_SHIFT
constexpr unsigned long ESR_BOFF
constexpr unsigned long TSR_CODE_MASK
constexpr unsigned long TSR_CODE_SHIFT
constexpr unsigned long RFR_FMP_MASK
constexpr unsigned long TSR_ABRQ1
constexpr unsigned long IER_EPVIE
constexpr unsigned long TSR_TERR0
constexpr unsigned long BTR_SILM
constexpr unsigned long MCR_INRQ
constexpr unsigned long TSR_TME1
constexpr unsigned long RDTR_FM_SHIFT
constexpr unsigned long ESR_REC_MASK
constexpr unsigned long ESR_NOERROR
constexpr unsigned long TSR_TERR2
constexpr unsigned long BTR_BRP_MASK
constexpr unsigned long MCR_SLEEP
constexpr unsigned long ESR_TEC_SHIFT
constexpr unsigned long TSR_LOW2
constexpr unsigned long RIR_RTR
constexpr unsigned long ESR_ACKERROR
constexpr unsigned long TIR_STID_SHIFT
constexpr unsigned long IER_ERRIE
constexpr unsigned long IER_FFIE1
constexpr unsigned long MCR_TXFP
constexpr unsigned long TDLR_DATA0_MASK
constexpr unsigned long IER_FOVIE1
constexpr unsigned long RIR_EXID_MASK
constexpr unsigned long TSR_LOW1
constexpr unsigned long ESR_CRCERRPR
constexpr unsigned long TDLR_DATA1_SHIFT
constexpr unsigned long IER_WKUIE