14#define BOARD_MAX_DIGITAL_PINS 54
15#define BOARD_MAX_IO_PINS 58
17#define COMPARE_TYPE uint16_t
18#define SERIAL_BUFFER_SIZE 257
19#define FPU_MAX_SIZE 32
21 #define EEPROM_LIB_H "src/SPIAsEEPROM/SPIAsEEPROM.h"
29 #define EEPROM_LIB_H "src/FlashStorage/FlashAsEEPROM.h"
32#define RTC_LIB_H "TimeLib.h"
34#define pinIsReserved(pin) ( ((pin) == 0) )
61#define FUEL1_COUNTER TCC0->COUNT.reg
62#define FUEL2_COUNTER TCC0->COUNT.reg
63#define FUEL3_COUNTER TCC0->COUNT.reg
64#define FUEL4_COUNTER TCC0->COUNT.reg
66#define FUEL5_COUNTER TCC1->COUNT.reg
67#define FUEL6_COUNTER TCC1->COUNT.reg
68#define FUEL7_COUNTER TCC1->COUNT.reg
69#define FUEL8_COUNTER TCC1->COUNT.reg
71#define IGN1_COUNTER TCC1->COUNT.reg
72#define IGN2_COUNTER TCC1->COUNT.reg
73#define IGN3_COUNTER TCC2->COUNT.reg
74#define IGN4_COUNTER TCC2->COUNT.reg
76#define IGN5_COUNTER TCC1->COUNT.reg
77#define IGN6_COUNTER TCC1->COUNT.reg
78#define IGN7_COUNTER TCC2->COUNT.reg
79#define IGN8_COUNTER TCC2->COUNT.reg
81#define FUEL1_COMPARE TCC0->CC[0].bit.CC
82#define FUEL2_COMPARE TCC0->CC[1].bit.CC
83#define FUEL3_COMPARE TCC0->CC[2].bit.CC
84#define FUEL4_COMPARE TCC0->CC[3].bit.CC
86#define FUEL5_COMPARE TCC1->CC[0].bit.CC
87#define FUEL6_COMPARE TCC1->CC[1].bit.CC
88#define FUEL7_COMPARE TCC1->CC[2].bit.CC
89#define FUEL8_COMPARE TCC1->CC[3].bit.CC
91#define IGN1_COMPARE TCC1->CC[0].bit.CC
92#define IGN2_COMPARE TCC1->CC[1].bit.CC
93#define IGN3_COMPARE TCC2->CC[0].bit.CC
94#define IGN4_COMPARE TCC2->CC[1].bit.CC
96#define IGN5_COMPARE TCC1->CC[0].bit.CC
97#define IGN6_COMPARE TCC1->CC[1].bit.CC
98#define IGN7_COMPARE TCC2->CC[0].bit.CC
99#define IGN8_COMPARE TCC2->CC[1].bit.CC
141#define MAX_TIMER_PERIOD 139808
142#define MAX_TIMER_PERIOD_SLOW 139808
143#define uS_TO_TIMER_COMPARE(uS) (((uS) * 15) >> 5)
145#define uS_TO_TIMER_COMPARE_SLOW(uS) (((uS) * 15) >> 5)
153#define ENABLE_BOOST_TIMER() TC4->COUNT16.INTENSET.bit.MC0 = 0x1
154#define DISABLE_BOOST_TIMER() TC4->COUNT16.INTENSET.bit.MC0 = 0x0
156#define ENABLE_VVT_TIMER() TC4->COUNT16.INTENSET.bit.MC1 = 0x1
157#define DISABLE_VVT_TIMER() TC4->COUNT16.INTENSET.bit.MC1 = 0x0
159#define BOOST_TIMER_COMPARE TC4->COUNT16.CC[0].reg
160#define BOOST_TIMER_COUNTER TC4->COUNT16.COUNT.bit.COUNT
161#define VVT_TIMER_COMPARE TC4->COUNT16.CC[1].reg
162#define VVT_TIMER_COUNTER TC4->COUNT16.COUNT.bit.COUNT
169#define IDLE_COUNTER TC5->COUNT16.COUNT.bit.COUNT
170#define IDLE_COMPARE TC5->COUNT16.CC[0].reg
172#define IDLE_TIMER_ENABLE() TC5->COUNT16.INTENSET.bit.MC0 = 0x1
173#define IDLE_TIMER_DISABLE() TC5->COUNT16.INTENSET.bit.MC0 = 0x0
#define PIN_A7
Definition board_same51.h:38
static void IGN1_TIMER_ENABLE(void)
Definition board_same51.h:121
static void IGN3_TIMER_DISABLE(void)
Definition board_same51.h:133
static void IGN1_TIMER_DISABLE(void)
Definition board_same51.h:131
#define PIN_A9
Definition board_same51.h:40
static void FUEL2_TIMER_ENABLE(void)
Definition board_same51.h:102
static const uint8_t A14
Definition board_same51.h:49
static void FUEL1_TIMER_DISABLE(void)
Definition board_same51.h:111
static void FUEL4_TIMER_DISABLE(void)
Definition board_same51.h:114
static void IGN3_TIMER_ENABLE(void)
Definition board_same51.h:123
static void FUEL4_TIMER_ENABLE(void)
Definition board_same51.h:104
#define PIN_A14
Definition board_same51.h:42
static const uint8_t A8
Definition board_same51.h:46
static void FUEL5_TIMER_DISABLE(void)
Definition board_same51.h:116
static void FUEL9_TIMER_DISABLE(void)
Definition board_same51.h:119
static void FUEL2_TIMER_DISABLE(void)
Definition board_same51.h:112
static void FUEL3_TIMER_DISABLE(void)
Definition board_same51.h:113
static void IGN5_TIMER_ENABLE(void)
Definition board_same51.h:126
static void FUEL7_TIMER_DISABLE(void)
Definition board_same51.h:118
#define PIN_A13
Definition board_same51.h:41
static void FUEL7_TIMER_ENABLE(void)
Definition board_same51.h:108
static void FUEL3_TIMER_ENABLE(void)
Definition board_same51.h:103
static void FUEL6_TIMER_ENABLE(void)
Definition board_same51.h:107
#define PIN_A8
Definition board_same51.h:39
static void IGN6_TIMER_DISABLE(void)
Definition board_same51.h:137
uint16_t eeprom_address_t
Definition board_same51.h:30
static void FUEL6_TIMER_DISABLE(void)
Definition board_same51.h:117
static void IGN7_TIMER_DISABLE(void)
Definition board_same51.h:138
static void IGN2_TIMER_DISABLE(void)
Definition board_same51.h:132
static void IGN8_TIMER_DISABLE(void)
Definition board_same51.h:139
static void IGN6_TIMER_ENABLE(void)
Definition board_same51.h:127
static const uint8_t A15
Definition board_same51.h:50
static void IGN2_TIMER_ENABLE(void)
Definition board_same51.h:122
static void IGN8_TIMER_ENABLE(void)
Definition board_same51.h:129
static const uint8_t A13
Definition board_same51.h:48
static void IGN4_TIMER_ENABLE(void)
Definition board_same51.h:124
Uart secondarySerial & sercom3
Definition board_same51.h:179
static void IGN7_TIMER_ENABLE(void)
Definition board_same51.h:128
static void IGN5_TIMER_DISABLE(void)
Definition board_same51.h:136
static void IGN4_TIMER_DISABLE(void)
Definition board_same51.h:134
static void FUEL1_TIMER_ENABLE(void)
Definition board_same51.h:101
static const uint8_t A9
Definition board_same51.h:47
static void FUEL8_TIMER_ENABLE(void)
Definition board_same51.h:109
static void FUEL5_TIMER_ENABLE(void)
Definition board_same51.h:106
static const uint8_t A7
Definition board_same51.h:45
#define PIN_A15
Definition board_same51.h:43
InternalSTM32F4_EEPROM_Class EEPROM
#define secondarySerial
Definition comms_secondary.h:15
static uint32_t rshift(uint32_t a)
Bitwise right shift - generic, unoptimized, case.
Definition bit_shifts.h:348