You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

213 lines
6.0 KiB

#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