#include "core_pins.h" /***** * Unlike Teensy 4.x there is no information array in the core for the T3.x series * We thus build the corresponding array from copies of the pin definitions in core_pins.h *****/ #if defined(ARDUINO_TEENSYLC) const int PwmTimerModule[CORE_NUM_DIGITAL] = { [0 ... CORE_NUM_DIGITAL - 1] = -1, [CORE_TPM0_CH0_PIN] = 0, [CORE_TPM0_CH1_PIN] = 0, [CORE_TPM0_CH2_PIN] = 0, [CORE_TPM0_CH3_PIN] = 0, [CORE_TPM0_CH4_PIN] = 0, [CORE_TPM0_CH5_PIN] = 0, [CORE_TPM1_CH0_PIN] = 1, [CORE_TPM1_CH1_PIN] = 1, [CORE_TPM2_CH0_PIN] = 2, [CORE_TPM2_CH1_PIN] = 2, }; const int PwmTimerType[CORE_NUM_DIGITAL] = { [0 ... CORE_NUM_DIGITAL - 1] = 0, [CORE_TPM0_CH0_PIN] = 2, [CORE_TPM0_CH1_PIN] = 2, [CORE_TPM0_CH2_PIN] = 2, [CORE_TPM0_CH3_PIN] = 2, [CORE_TPM0_CH4_PIN] = 2, [CORE_TPM0_CH5_PIN] = 2, [CORE_TPM1_CH0_PIN] = 2, [CORE_TPM1_CH1_PIN] = 2, [CORE_TPM2_CH0_PIN] = 2, [CORE_TPM2_CH1_PIN] = 2, }; //=========================================================================================== #elif defined(ARDUINO_TEENSY30) const int PwmTimerModule[CORE_NUM_DIGITAL] = { [0 ... CORE_NUM_DIGITAL - 1] = -1, [CORE_FTM0_CH0_PIN] = 0, [CORE_FTM0_CH1_PIN] = 0, [CORE_FTM0_CH2_PIN] = 0, [CORE_FTM0_CH3_PIN] = 0, [CORE_FTM0_CH4_PIN] = 0, [CORE_FTM0_CH5_PIN] = 0, [CORE_FTM0_CH6_PIN] = 0, [CORE_FTM0_CH7_PIN] = 0, [CORE_FTM1_CH0_PIN] = 1, [CORE_FTM1_CH1_PIN] = 1, }; const int PwmTimerType[CORE_NUM_DIGITAL] = { [0 ... CORE_NUM_DIGITAL - 1] = 0, [CORE_FTM0_CH0_PIN] = 1, [CORE_FTM0_CH1_PIN] = 1, [CORE_FTM0_CH2_PIN] = 1, [CORE_FTM0_CH3_PIN] = 1, [CORE_FTM0_CH4_PIN] = 1, [CORE_FTM0_CH5_PIN] = 1, [CORE_FTM0_CH6_PIN] = 1, [CORE_FTM0_CH7_PIN] = 1, [CORE_FTM1_CH0_PIN] = 1, [CORE_FTM1_CH1_PIN] = 1, }; //=========================================================================================== #elif defined(__MK20DX256__) const int PwmTimerModule[CORE_NUM_DIGITAL] = { [0 ... CORE_NUM_DIGITAL - 1] = -1, [CORE_FTM0_CH0_PIN] = 0, [CORE_FTM0_CH1_PIN] = 0, [CORE_FTM0_CH0_PIN] = 0, [CORE_FTM0_CH1_PIN] = 0, [CORE_FTM0_CH2_PIN] = 0, [CORE_FTM0_CH3_PIN] = 0, [CORE_FTM0_CH4_PIN] = 0, [CORE_FTM0_CH5_PIN] = 0, [CORE_FTM0_CH6_PIN] = 0, [CORE_FTM0_CH7_PIN] = 0, [CORE_FTM1_CH0_PIN] = 1, [CORE_FTM1_CH1_PIN] = 1, [CORE_FTM2_CH0_PIN] = 2, [CORE_FTM2_CH1_PIN] = 2, }; //=========================================================================================== const int PwmTimerType[CORE_NUM_DIGITAL] = { [0 ... CORE_NUM_DIGITAL - 1] = 0, [CORE_FTM0_CH0_PIN] = 1, [CORE_FTM0_CH1_PIN] = 1, [CORE_FTM0_CH0_PIN] = 1, [CORE_FTM0_CH1_PIN] = 1, [CORE_FTM0_CH2_PIN] = 1, [CORE_FTM0_CH3_PIN] = 1, [CORE_FTM0_CH4_PIN] = 1, [CORE_FTM0_CH5_PIN] = 1, [CORE_FTM0_CH6_PIN] = 1, [CORE_FTM0_CH7_PIN] = 1, [CORE_FTM1_CH0_PIN] = 1, [CORE_FTM1_CH1_PIN] = 1, [CORE_FTM2_CH0_PIN] = 1, [CORE_FTM2_CH1_PIN] = 1, }; //=========================================================================================== #elif defined(ARDUINO_TEENSY35) const int PwmTimerModule[CORE_NUM_DIGITAL] = { [0 ... CORE_NUM_DIGITAL - 1] = -1, [CORE_FTM0_CH0_PIN] = 0, [CORE_FTM0_CH1_PIN] = 0, [CORE_FTM0_CH2_PIN] = 0, [CORE_FTM0_CH3_PIN] = 0, [CORE_FTM0_CH4_PIN] = 0, [CORE_FTM0_CH5_PIN] = 0, [CORE_FTM0_CH6_PIN] = 0, [CORE_FTM0_CH7_PIN] = 0, [CORE_FTM1_CH0_PIN] = 1, [CORE_FTM1_CH1_PIN] = 1, [CORE_FTM2_CH0_PIN] = 2, [CORE_FTM2_CH1_PIN] = 2, [CORE_FTM3_CH0_PIN] = 3, [CORE_FTM3_CH1_PIN] = 3, [CORE_FTM3_CH2_PIN] = 3, [CORE_FTM3_CH3_PIN] = 3, [CORE_FTM3_CH4_PIN] = 3, [CORE_FTM3_CH5_PIN] = 3, [CORE_FTM3_CH6_PIN] = 3, [CORE_FTM3_CH7_PIN] = 3, }; const int PwmTimerType[CORE_NUM_DIGITAL] = { [0 ... CORE_NUM_DIGITAL - 1] = 0, [CORE_FTM0_CH0_PIN] = 1, [CORE_FTM0_CH1_PIN] = 1, [CORE_FTM0_CH2_PIN] = 1, [CORE_FTM0_CH3_PIN] = 1, [CORE_FTM0_CH4_PIN] = 1, [CORE_FTM0_CH5_PIN] = 1, [CORE_FTM0_CH6_PIN] = 1, [CORE_FTM0_CH7_PIN] = 1, [CORE_FTM1_CH0_PIN] = 1, [CORE_FTM1_CH1_PIN] = 1, [CORE_FTM2_CH0_PIN] = 1, [CORE_FTM2_CH1_PIN] = 1, [CORE_FTM3_CH0_PIN] = 1, [CORE_FTM3_CH1_PIN] = 1, [CORE_FTM3_CH2_PIN] = 1, [CORE_FTM3_CH3_PIN] = 1, [CORE_FTM3_CH4_PIN] = 1, [CORE_FTM3_CH5_PIN] = 1, [CORE_FTM3_CH6_PIN] = 1, [CORE_FTM3_CH7_PIN] = 1, }; //=========================================================================================== #elif defined(ARDUINO_TEENSY36) const int PwmTimerModule[CORE_NUM_DIGITAL] = { [0 ... CORE_NUM_DIGITAL - 1] = -1, [CORE_FTM0_CH0_PIN] = 0, [CORE_FTM0_CH1_PIN] = 0, [CORE_FTM0_CH2_PIN] = 0, [CORE_FTM0_CH3_PIN] = 0, [CORE_FTM0_CH4_PIN] = 0, [CORE_FTM0_CH5_PIN] = 0, [CORE_FTM0_CH6_PIN] = 0, [CORE_FTM0_CH7_PIN] = 0, [CORE_FTM1_CH0_PIN] = 1, [CORE_FTM1_CH1_PIN] = 1, [CORE_FTM2_CH0_PIN] = 2, [CORE_FTM2_CH1_PIN] = 2, [CORE_FTM3_CH0_PIN] = 3, [CORE_FTM3_CH1_PIN] = 3, [CORE_FTM3_CH2_PIN] = 3, [CORE_FTM3_CH3_PIN] = 3, [CORE_FTM3_CH4_PIN] = 3, [CORE_FTM3_CH5_PIN] = 3, [CORE_FTM3_CH6_PIN] = 3, [CORE_FTM3_CH7_PIN] = 3, [CORE_TPM1_CH0_PIN] = 1, [CORE_TPM1_CH1_PIN] = 1, }; const int PwmTimerType[CORE_NUM_DIGITAL] = { [0 ... CORE_NUM_DIGITAL - 1] = 0, [CORE_FTM0_CH0_PIN] = 1, [CORE_FTM0_CH1_PIN] = 1, [CORE_FTM0_CH2_PIN] = 1, [CORE_FTM0_CH3_PIN] = 1, [CORE_FTM0_CH4_PIN] = 1, [CORE_FTM0_CH5_PIN] = 1, [CORE_FTM0_CH6_PIN] = 1, [CORE_FTM0_CH7_PIN] = 1, [CORE_FTM1_CH0_PIN] = 1, [CORE_FTM1_CH1_PIN] = 1, [CORE_FTM2_CH0_PIN] = 1, [CORE_FTM2_CH1_PIN] = 1, [CORE_FTM3_CH0_PIN] = 1, [CORE_FTM3_CH1_PIN] = 1, [CORE_FTM3_CH2_PIN] = 1, [CORE_FTM3_CH3_PIN] = 1, [CORE_FTM3_CH4_PIN] = 1, [CORE_FTM3_CH5_PIN] = 1, [CORE_FTM3_CH6_PIN] = 1, [CORE_FTM3_CH7_PIN] = 1, [CORE_TPM1_CH0_PIN] = 2, [CORE_TPM1_CH1_PIN] = 2, }; #endif