8#include <avr/interrupt.h>
15#define BOARD_MAX_DIGITAL_PINS 54
16#define BOARD_MAX_IO_PINS 70
18 #define LED_BUILTIN 13
22 #define INJ_CHANNELS 4
25 #define IGN_CHANNELS 5
36 constexpr uint32_t TICK_RESOLUTION = 4U;
43 constexpr uint32_t SHIFT = TICK_RESOLUTION/2U;
50 return ticks * TICK_RESOLUTION;
53#define TS_SERIAL_BUFFER_SIZE (256+7+1)
56 #define RTC_LIB_H <TimeLib.h>
58 #define RTC_LIB_H <Time.h>
69#define FUEL1_COUNTER TCNT3
70#define FUEL2_COUNTER TCNT3
71#define FUEL3_COUNTER TCNT3
72#define FUEL4_COUNTER TCNT4
73#define FUEL5_COUNTER TCNT4
74#define FUEL6_COUNTER TCNT4
75#define FUEL7_COUNTER TCNT5
76#define FUEL8_COUNTER TCNT5
78#define IGN1_COUNTER TCNT5
79#define IGN2_COUNTER TCNT5
80#define IGN3_COUNTER TCNT5
81#define IGN4_COUNTER TCNT4
82#define IGN5_COUNTER TCNT4
83#define IGN6_COUNTER TCNT4
84#define IGN7_COUNTER TCNT3
85#define IGN8_COUNTER TCNT3
87#define FUEL1_COMPARE OCR3A
88#define FUEL2_COMPARE OCR3B
89#define FUEL3_COMPARE OCR3C
90#define FUEL4_COMPARE OCR4B
91#define FUEL5_COMPARE OCR4C
92#define FUEL6_COMPARE OCR4A
93#define FUEL7_COMPARE OCR5C
94#define FUEL8_COMPARE OCR5B
96#define IGN1_COMPARE OCR5A
97#define IGN2_COMPARE OCR5B
98#define IGN3_COMPARE OCR5C
99#define IGN4_COMPARE OCR4A
100#define IGN5_COMPARE OCR4C
101#define IGN6_COMPARE OCR4B
102#define IGN7_COMPARE OCR3C
103#define IGN8_COMPARE OCR3B
147#define ENABLE_BOOST_TIMER() TIMSK1 |= (1 << OCIE1A)
148#define DISABLE_BOOST_TIMER() TIMSK1 &= ~(1 << OCIE1A)
149#define ENABLE_VVT_TIMER() TIMSK1 |= (1 << OCIE1B)
150#define DISABLE_VVT_TIMER() TIMSK1 &= ~(1 << OCIE1B)
152#define BOOST_TIMER_COMPARE OCR1A
153#define BOOST_TIMER_COUNTER TCNT1
154#define VVT_TIMER_COMPARE OCR1B
155#define VVT_TIMER_COUNTER TCNT1
161#define IDLE_COUNTER TCNT1
162#define IDLE_COMPARE OCR1C
164#define IDLE_TIMER_ENABLE() TIMSK1 |= (1 << OCIE1C)
165#define IDLE_TIMER_DISABLE() TIMSK1 &= ~(1 << OCIE1C)
171#define SECONDARY_SERIAL_T HardwareSerial
175class fastOutputPin_t;
static void IGN1_TIMER_ENABLE(void)
Definition board_avr2560.h:125
static void IGN3_TIMER_DISABLE(void)
Definition board_avr2560.h:136
static void IGN1_TIMER_DISABLE(void)
Definition board_avr2560.h:134
static void FUEL2_TIMER_ENABLE(void)
Definition board_avr2560.h:107
static void FUEL1_TIMER_DISABLE(void)
Definition board_avr2560.h:115
static void FUEL4_TIMER_DISABLE(void)
Definition board_avr2560.h:118
static void IGN3_TIMER_ENABLE(void)
Definition board_avr2560.h:127
static void FUEL4_TIMER_ENABLE(void)
Definition board_avr2560.h:109
static void FUEL5_TIMER_DISABLE(void)
Definition board_avr2560.h:119
static void FUEL2_TIMER_DISABLE(void)
Definition board_avr2560.h:116
uint16_t COMPARE_TYPE
The timer overflow type.
Definition board_avr2560.h:32
static void FUEL3_TIMER_DISABLE(void)
Definition board_avr2560.h:117
static void IGN5_TIMER_ENABLE(void)
Definition board_avr2560.h:129
static bool pinIsReserved(uint8_t pin)
Definition board_avr2560.h:62
static void FUEL7_TIMER_DISABLE(void)
Definition board_avr2560.h:121
fastInputPin_t boardInputPin_t
Definition board_avr2560.h:174
constexpr uint16_t BLOCKING_FACTOR
Definition board_avr2560.h:60
static void FUEL7_TIMER_ENABLE(void)
Definition board_avr2560.h:112
static void FUEL3_TIMER_ENABLE(void)
Definition board_avr2560.h:108
static void FUEL6_TIMER_ENABLE(void)
Definition board_avr2560.h:111
static void IGN6_TIMER_DISABLE(void)
Definition board_avr2560.h:139
static constexpr uint32_t ticksToMicros(COMPARE_TYPE ticks)
Convert timer ticks to µS.
Definition board_avr2560.h:48
static void FUEL6_TIMER_DISABLE(void)
Definition board_avr2560.h:120
static void IGN7_TIMER_DISABLE(void)
Definition board_avr2560.h:140
fastOutputPin_t boardOutputPin_t
Definition board_avr2560.h:176
static void IGN2_TIMER_DISABLE(void)
Definition board_avr2560.h:135
static void IGN8_TIMER_DISABLE(void)
Definition board_avr2560.h:141
static void IGN6_TIMER_ENABLE(void)
Definition board_avr2560.h:130
static void IGN2_TIMER_ENABLE(void)
Definition board_avr2560.h:126
static void IGN8_TIMER_ENABLE(void)
Definition board_avr2560.h:132
static void FUEL8_TIMER_DISABLE(void)
Definition board_avr2560.h:122
static void IGN4_TIMER_ENABLE(void)
Definition board_avr2560.h:128
static void IGN7_TIMER_ENABLE(void)
Definition board_avr2560.h:131
static void IGN5_TIMER_DISABLE(void)
Definition board_avr2560.h:138
static void IGN4_TIMER_DISABLE(void)
Definition board_avr2560.h:137
constexpr uint8_t SERIAL_BUFFER_THRESHOLD
When the serial buffer is filled to greater than this threshold value, the serial processing operatio...
Definition board_avr2560.h:185
static void FUEL1_TIMER_ENABLE(void)
Definition board_avr2560.h:106
static void FUEL8_TIMER_ENABLE(void)
Definition board_avr2560.h:113
static void FUEL5_TIMER_ENABLE(void)
Definition board_avr2560.h:110
constexpr uint8_t ANALOG_PINS[]
Analog pin mapping.
Definition board_avr2560.h:179
constexpr uint16_t TABLE_BLOCKING_FACTOR
Definition board_avr2560.h:61
static constexpr COMPARE_TYPE uS_TO_TIMER_COMPARE(uint32_t micros)
Convert µS to timer ticks.
Definition board_avr2560.h:40