19 #define PORT_TYPE uint32_t //Size of the port variables
20 #define PINMASK_TYPE uint32_t
21 #define COMPARE_TYPE uint16_t
22 #define COUNTER_TYPE uint16_t
23 #define SERIAL_BUFFER_SIZE 517 //Size of the serial buffer used by new comms protocol. For SD transfers this must be at least 512 + 1 (flag) + 4 (sector)
24 #define FPU_MAX_SIZE 32 //Size of the FPU buffer. 0 means no FPU.
25 #define BOARD_MAX_DIGITAL_PINS 54
26 #define BOARD_MAX_IO_PINS 54
27 #define BOARD_MAX_ADC_PINS 17 //Number of analog pins
31 #define SD_LOGGING //SD logging enabled by default for Teensy 4.1 as it has the slot built in
32 #define RTC_LIB_H "TimeLib.h"
33 #define SD_CONFIG SdioConfig(FIFO_SDIO) //Set Teensy to use SDIO in FIFO mode. This is the fastest SD mode on Teensy as it offloads most of the writes
34
35 #define micros_safe() micros() //timer5 method is not used on anything but AVR, the micros_safe() macro is simply an alias for the normal micros()
130 #define MAX_TIMER_PERIOD 55923UL //Time per tick = 0.8533333
131 #define uS_TO_TIMER_COMPARE(uS) ((uS * 75UL) >> 6) //Converts a given number of uS into the required number of timer ticks until that time has passed.
132 #elif F_CPU == 528000000
133//Bus Clock is 132Mhz @ 528 Mhz CPU.
134 #define MAX_TIMER_PERIOD 63549UL //Time per tick = 0.96969696
135 #define uS_TO_TIMER_COMPARE(uS) ((uS * 66UL) >> 6) //Converts a given number of uS into the required number of timer ticks until that time has passed.
136 #elif F_CPU == 450000000
137//Bus Clock is 150Mhz @ 450 Mhz CPU.
138 #define MAX_TIMER_PERIOD 55923UL //Time per tick = 0.8533333
139 #define uS_TO_TIMER_COMPARE(uS) ((uS * 75UL) >> 6) //Converts a given number of uS into the required number of timer ticks until that time has passed.
140 #elif F_CPU == 396000000
141//Bus Clock is 132Mhz @ 396 Mhz CPU.
142 #define MAX_TIMER_PERIOD 63549UL //Time per tick = 0.96969696
143 #define uS_TO_TIMER_COMPARE(uS) ((uS * 66UL) >> 6) //Converts a given number of uS into the required number of timer ticks until that time has passed.
144 #elif F_CPU == 150000000
145//Bus Clock is 75Mhz @ 150 Mhz CPU.
146 #define MAX_TIMER_PERIOD 111846UL //Time per tick = 1.706666
147 #define uS_TO_TIMER_COMPARE(uS) ((uS * 75UL) >> 7) //Converts a given number of uS into the required number of timer ticks until that time has passed.
148 #endif
149/*
150 To calculate the above uS_TO_TIMER_COMPARE
151 Choose number of bit of precision. Eg: 6
152 Divide 2^6 by the time per tick (0.853333) = 75
153 Multiply and bitshift back by the precision: (uS * 75) >> 6