6#include "src/pins/inputPin.h"
7#include "src/pins/outputPin.h"
24 constexpr auto TICK_RESOLUTION = 2.13333333333333;
27 constexpr uint32_t TICK_CONVERTER_PRECISION = 8UL;
33 constexpr uint32_t MULTIPLIER = (uint32_t)((1UL<<TICK_CONVERTER_PRECISION)/TICK_RESOLUTION);
34 return (
COMPARE_TYPE)((micros * MULTIPLIER) >> TICK_CONVERTER_PRECISION);
40 constexpr uint32_t MULTIPLIER = (uint32_t)((1UL<<TICK_CONVERTER_PRECISION)*TICK_RESOLUTION);
41 return (ticks * MULTIPLIER) >> TICK_CONVERTER_PRECISION;
44#define TS_SERIAL_BUFFER_SIZE 517
45#define FPU_MAX_SIZE 32
47#define BOARD_MAX_DIGITAL_PINS 57
48#define BOARD_MAX_IO_PINS 57
50#define RTC_LIB_H "TimeLib.h"
51#define SD_CONFIG SdioConfig(FIFO_SDIO)
55#define PWM_FAN_AVAILABLE
71#define FUEL1_COUNTER FTM0_CNT
72#define FUEL2_COUNTER FTM0_CNT
73#define FUEL3_COUNTER FTM0_CNT
74#define FUEL4_COUNTER FTM0_CNT
75#define FUEL5_COUNTER FTM3_CNT
76#define FUEL6_COUNTER FTM3_CNT
77#define FUEL7_COUNTER FTM3_CNT
78#define FUEL8_COUNTER FTM3_CNT
80#define IGN1_COUNTER FTM0_CNT
81#define IGN2_COUNTER FTM0_CNT
82#define IGN3_COUNTER FTM0_CNT
83#define IGN4_COUNTER FTM0_CNT
84#define IGN5_COUNTER FTM3_CNT
85#define IGN6_COUNTER FTM3_CNT
86#define IGN7_COUNTER FTM3_CNT
87#define IGN8_COUNTER FTM3_CNT
89#define FUEL1_COMPARE FTM0_C0V
90#define FUEL2_COMPARE FTM0_C1V
91#define FUEL3_COMPARE FTM0_C2V
92#define FUEL4_COMPARE FTM0_C3V
93#define FUEL5_COMPARE FTM3_C0V
94#define FUEL6_COMPARE FTM3_C1V
95#define FUEL7_COMPARE FTM3_C2V
96#define FUEL8_COMPARE FTM3_C3V
98#define IGN1_COMPARE FTM0_C4V
99#define IGN2_COMPARE FTM0_C5V
100#define IGN3_COMPARE FTM0_C6V
101#define IGN4_COMPARE FTM0_C7V
102#define IGN5_COMPARE FTM3_C4V
103#define IGN6_COMPARE FTM3_C5V
104#define IGN7_COMPARE FTM3_C6V
105#define IGN8_COMPARE FTM3_C7V
147#define ENABLE_BOOST_TIMER() FTM1_C0SC |= FTM_CSC_CHIE
148#define DISABLE_BOOST_TIMER() FTM1_C0SC &= ~FTM_CSC_CHIE
150#define ENABLE_VVT_TIMER() FTM1_C1SC |= FTM_CSC_CHIE
151#define DISABLE_VVT_TIMER() FTM1_C1SC &= ~FTM_CSC_CHIE
153#define ENABLE_FAN_TIMER() FTM2_C1SC |= FTM_CSC_CHIE
154#define DISABLE_FAN_TIMER() FTM2_C1SC &= ~FTM_CSC_CHIE
156#define BOOST_TIMER_COMPARE FTM1_C0V
157#define BOOST_TIMER_COUNTER FTM1_CNT
158#define VVT_TIMER_COMPARE FTM1_C1V
159#define VVT_TIMER_COUNTER FTM1_CNT
160#define FAN_TIMER_COMPARE FTM2_C1V
161#define FAN_TIMER_COUNTER FTM2_CNT
167#define IDLE_COUNTER FTM2_CNT
168#define IDLE_COMPARE FTM2_C0V
170#define IDLE_TIMER_ENABLE() FTM2_C0SC |= FTM_CSC_CHIE
171#define IDLE_TIMER_DISABLE() FTM2_C0SC &= ~FTM_CSC_CHIE
177#define SECONDARY_SERIAL_T HardwareSerial
179#include <FlexCAN_T4.h>
180#define NATIVE_CAN_AVAILABLE
186constexpr uint8_t
ANALOG_PINS[] = { _ANALOG_PINS_A0_A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25 };
uint16_t COMPARE_TYPE
The timer overflow type.
Definition board_avr2560.h:34
fastInputPin_t boardInputPin_t
Definition board_avr2560.h:175
fastOutputPin_t boardOutputPin_t
Definition board_avr2560.h:176
static void IGN1_TIMER_ENABLE(void)
Definition board_teensy35.h:125
static void IGN3_TIMER_DISABLE(void)
Definition board_teensy35.h:136
static void IGN1_TIMER_DISABLE(void)
Definition board_teensy35.h:134
static void FUEL2_TIMER_ENABLE(void)
Definition board_teensy35.h:108
static void FUEL1_TIMER_DISABLE(void)
Definition board_teensy35.h:116
static void FUEL4_TIMER_DISABLE(void)
Definition board_teensy35.h:119
static void IGN3_TIMER_ENABLE(void)
Definition board_teensy35.h:127
static void FUEL4_TIMER_ENABLE(void)
Definition board_teensy35.h:110
static void FUEL5_TIMER_DISABLE(void)
Definition board_teensy35.h:120
static void FUEL2_TIMER_DISABLE(void)
Definition board_teensy35.h:117
static void FUEL3_TIMER_DISABLE(void)
Definition board_teensy35.h:118
static void IGN5_TIMER_ENABLE(void)
Definition board_teensy35.h:129
static bool pinIsReserved(uint8_t pin)
Definition board_teensy35.h:56
static void FUEL7_TIMER_DISABLE(void)
Definition board_teensy35.h:122
constexpr uint16_t BLOCKING_FACTOR
Definition board_teensy35.h:52
static void FUEL7_TIMER_ENABLE(void)
Definition board_teensy35.h:113
static void FUEL3_TIMER_ENABLE(void)
Definition board_teensy35.h:109
static void FUEL6_TIMER_ENABLE(void)
Definition board_teensy35.h:112
static void IGN6_TIMER_DISABLE(void)
Definition board_teensy35.h:139
static constexpr uint32_t ticksToMicros(COMPARE_TYPE ticks)
Convert timer ticks to µS.
Definition board_teensy35.h:38
static void FUEL6_TIMER_DISABLE(void)
Definition board_teensy35.h:121
static void IGN7_TIMER_DISABLE(void)
Definition board_teensy35.h:140
static void IGN2_TIMER_DISABLE(void)
Definition board_teensy35.h:135
static void IGN8_TIMER_DISABLE(void)
Definition board_teensy35.h:141
static void IGN6_TIMER_ENABLE(void)
Definition board_teensy35.h:130
static void IGN2_TIMER_ENABLE(void)
Definition board_teensy35.h:126
static void IGN8_TIMER_ENABLE(void)
Definition board_teensy35.h:132
static void FUEL8_TIMER_DISABLE(void)
Definition board_teensy35.h:123
static void IGN4_TIMER_ENABLE(void)
Definition board_teensy35.h:128
static void IGN7_TIMER_ENABLE(void)
Definition board_teensy35.h:131
static void IGN5_TIMER_DISABLE(void)
Definition board_teensy35.h:138
static void IGN4_TIMER_DISABLE(void)
Definition board_teensy35.h:137
static void FUEL1_TIMER_ENABLE(void)
Definition board_teensy35.h:107
static void FUEL8_TIMER_ENABLE(void)
Definition board_teensy35.h:114
static void FUEL5_TIMER_ENABLE(void)
Definition board_teensy35.h:111
constexpr uint8_t ANALOG_PINS[]
Analog pin mapping.
Definition board_teensy35.h:186
constexpr uint16_t TABLE_BLOCKING_FACTOR
Definition board_teensy35.h:53
static constexpr COMPARE_TYPE uS_TO_TIMER_COMPARE(uint32_t micros)
Convert µS to timer ticks.
Definition board_teensy35.h:31