14#define COMPARE_TYPE uint16_t
15#define SERIAL_BUFFER_SIZE 517
16#define FPU_MAX_SIZE 32
17#define BOARD_MAX_DIGITAL_PINS 54
18#define BOARD_MAX_IO_PINS 54
19#define BOARD_MAX_ADC_PINS 17
20#define EEPROM_LIB_H <EEPROM.h>
24#define RTC_LIB_H "TimeLib.h"
25#define SD_CONFIG SdioConfig(FIFO_SDIO)
28#define pinIsReserved(pin) ( ((pin) == 0) || ((pin) == 42) || ((pin) == 43) || ((pin) == 44) || ((pin) == 45) || ((pin) == 46) || ((pin) == 47) || pinIsSerial((pin)) )
46#define FUEL1_COUNTER TMR1_CNTR0
47#define FUEL2_COUNTER TMR1_CNTR1
48#define FUEL3_COUNTER TMR1_CNTR2
49#define FUEL4_COUNTER TMR1_CNTR3
50#define FUEL5_COUNTER TMR3_CNTR0
51#define FUEL6_COUNTER TMR3_CNTR1
52#define FUEL7_COUNTER TMR3_CNTR2
53#define FUEL8_COUNTER TMR3_CNTR3
55#define IGN1_COUNTER TMR2_CNTR0
56#define IGN2_COUNTER TMR2_CNTR1
57#define IGN3_COUNTER TMR2_CNTR2
58#define IGN4_COUNTER TMR2_CNTR3
59#define IGN5_COUNTER TMR4_CNTR0
60#define IGN6_COUNTER TMR4_CNTR1
61#define IGN7_COUNTER TMR4_CNTR2
62#define IGN8_COUNTER TMR4_CNTR3
64#define FUEL1_COMPARE TMR1_COMP10
65#define FUEL2_COMPARE TMR1_COMP11
66#define FUEL3_COMPARE TMR1_COMP12
67#define FUEL4_COMPARE TMR1_COMP13
68#define FUEL5_COMPARE TMR3_COMP10
69#define FUEL6_COMPARE TMR3_COMP11
70#define FUEL7_COMPARE TMR3_COMP12
71#define FUEL8_COMPARE TMR3_COMP13
73#define IGN1_COMPARE TMR2_COMP10
74#define IGN2_COMPARE TMR2_COMP11
75#define IGN3_COMPARE TMR2_COMP12
76#define IGN4_COMPARE TMR2_COMP13
77#define IGN5_COMPARE TMR4_COMP10
78#define IGN6_COMPARE TMR4_COMP11
79#define IGN7_COMPARE TMR4_COMP12
80#define IGN8_COMPARE TMR4_COMP13
121#if F_CPU == 600000000
123 #define MAX_TIMER_PERIOD 55923UL
124 #define uS_TO_TIMER_COMPARE(uS) (((uS) * 75UL) >> 6)
125#elif F_CPU == 528000000
127 #define MAX_TIMER_PERIOD 63549UL
128 #define uS_TO_TIMER_COMPARE(uS) (((uS) * 66UL) >> 6)
129#elif F_CPU == 450000000
131 #define MAX_TIMER_PERIOD 55923UL
132 #define uS_TO_TIMER_COMPARE(uS) (((uS) * 75UL) >> 6)
133#elif F_CPU == 396000000
135 #define MAX_TIMER_PERIOD 63549UL
136 #define uS_TO_TIMER_COMPARE(uS) (((uS) * 66UL) >> 6)
137#elif F_CPU == 150000000
139 #define MAX_TIMER_PERIOD 111846UL
140 #define uS_TO_TIMER_COMPARE(uS) (((uS) * 75UL) >> 7)
142 #error Unsupported CPU frequency.
156#define ENABLE_BOOST_TIMER() PIT_TCTRL1 |= PIT_TCTRL_TEN
157#define DISABLE_BOOST_TIMER() PIT_TCTRL1 &= ~PIT_TCTRL_TEN
159#define ENABLE_VVT_TIMER() PIT_TCTRL2 |= PIT_TCTRL_TEN
160#define DISABLE_VVT_TIMER() PIT_TCTRL2 &= ~PIT_TCTRL_TEN
163#define ENABLE_FAN_TIMER() TMR3_CSCTRL1 |= TMR_CSCTRL_TCF2EN
164#define DISABLE_FAN_TIMER() TMR3_CSCTRL1 &= ~TMR_CSCTRL_TCF2EN
166#define BOOST_TIMER_COMPARE PIT_LDVAL1
167#define BOOST_TIMER_COUNTER 0
168#define VVT_TIMER_COMPARE PIT_LDVAL2
169#define VVT_TIMER_COUNTER 0
172#define FAN_TIMER_COMPARE TMR3_COMP22
173#define FAN_TIMER_COUNTER TMR3_CNTR1
179#define IDLE_COUNTER 0
180#define IDLE_COMPARE PIT_LDVAL0
182#define IDLE_TIMER_ENABLE() PIT_TCTRL0 |= PIT_TCTRL_TEN
183#define IDLE_TIMER_DISABLE() PIT_TCTRL0 &= ~PIT_TCTRL_TEN
189#define SECONDARY_SERIAL_T HardwareSerial
191#include <FlexCAN_T4.h>
192#define NATIVE_CAN_AVAILABLE
static void IGN1_TIMER_ENABLE(void)
Definition board_teensy41.h:100
static void IGN3_TIMER_DISABLE(void)
Definition board_teensy41.h:111
static void IGN1_TIMER_DISABLE(void)
Definition board_teensy41.h:109
static void FUEL2_TIMER_ENABLE(void)
Definition board_teensy41.h:83
static void FUEL1_TIMER_DISABLE(void)
Definition board_teensy41.h:91
static void FUEL4_TIMER_DISABLE(void)
Definition board_teensy41.h:94
static void IGN3_TIMER_ENABLE(void)
Definition board_teensy41.h:102
static void FUEL4_TIMER_ENABLE(void)
Definition board_teensy41.h:85
int eeprom_address_t
Definition board_teensy41.h:21
bool pinIsSerial(uint8_t)
static void FUEL5_TIMER_DISABLE(void)
Definition board_teensy41.h:95
static void FUEL2_TIMER_DISABLE(void)
Definition board_teensy41.h:92
static void FUEL3_TIMER_DISABLE(void)
Definition board_teensy41.h:93
static void IGN5_TIMER_ENABLE(void)
Definition board_teensy41.h:104
static void FUEL7_TIMER_DISABLE(void)
Definition board_teensy41.h:97
static void FUEL7_TIMER_ENABLE(void)
Definition board_teensy41.h:88
static void FUEL3_TIMER_ENABLE(void)
Definition board_teensy41.h:84
static void FUEL6_TIMER_ENABLE(void)
Definition board_teensy41.h:87
static void IGN6_TIMER_DISABLE(void)
Definition board_teensy41.h:114
static void FUEL6_TIMER_DISABLE(void)
Definition board_teensy41.h:96
static void IGN7_TIMER_DISABLE(void)
Definition board_teensy41.h:115
static void IGN2_TIMER_DISABLE(void)
Definition board_teensy41.h:110
static void IGN8_TIMER_DISABLE(void)
Definition board_teensy41.h:116
static void IGN6_TIMER_ENABLE(void)
Definition board_teensy41.h:105
static void IGN2_TIMER_ENABLE(void)
Definition board_teensy41.h:101
static void IGN8_TIMER_ENABLE(void)
Definition board_teensy41.h:107
static void FUEL8_TIMER_DISABLE(void)
Definition board_teensy41.h:98
static void IGN4_TIMER_ENABLE(void)
Definition board_teensy41.h:103
static void IGN7_TIMER_ENABLE(void)
Definition board_teensy41.h:106
static void IGN5_TIMER_DISABLE(void)
Definition board_teensy41.h:113
static void IGN4_TIMER_DISABLE(void)
Definition board_teensy41.h:112
static void FUEL1_TIMER_ENABLE(void)
Definition board_teensy41.h:82
static void FUEL8_TIMER_ENABLE(void)
Definition board_teensy41.h:89
static void FUEL5_TIMER_ENABLE(void)
Definition board_teensy41.h:86
static uint32_t rshift(uint32_t a)
Bitwise right shift - generic, unoptimized, case.
Definition bit_shifts.h:348