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.
MicroDexed/third-party/TeensyTimerTool/src/config.cpp

89 lines
2.8 KiB

#include "config.h"
#include "boardDef.h"
using tick_t = void (*) ();
#if defined(ARDUINO_TEENSY40) || defined(ARDUINO_TEENSY41) || defined(ARDUINO_TEENSY_MICROMOD)
#include "Teensy/TMR/TMR.h"
#include "Teensy/GPT/GPT.h"
#include "Teensy/PIT4/PIT.h"
#include "Teensy/TCK/TCK.h"
namespace TeensyTimerTool
{
TimerGenerator* const TMR1 = TMR_t<0>::getTimer;
TimerGenerator* const TMR2 = TMR_t<1>::getTimer;
TimerGenerator* const TMR3 = TMR_t<2>::getTimer;
TimerGenerator* const TMR4 = TMR_t<3>::getTimer;
TimerGenerator* const GPT1 = GPT_t<0>::getTimer;
TimerGenerator* const GPT2 = GPT_t<1>::getTimer;
TimerGenerator* const PIT = PIT_t::getTimer;
TimerGenerator* const TCK = TCK_t::getTimer<uint32_t>;
TimerGenerator* const TCK32 = TCK_t::getTimer<uint32_t>; // same as TCK
TimerGenerator* const TCK64 = TCK_t::getTimer<uint64_t>;
constexpr tick_t tick = &TCK_t::tick;
}
#elif defined (ARDUINO_TEENSY35) || defined (ARDUINO_TEENSY36)
#include "Teensy/FTM/FTM.h"
#include "Teensy/TCK/TCK.h"
namespace TeensyTimerTool
{
TimerGenerator* const TCK = TCK_t::getTimer<uint32_t>;
TimerGenerator* const TCK32 = TCK_t::getTimer<uint32_t>; // same as TCK
TimerGenerator* const TCK64 = TCK_t::getTimer<uint64_t>;
TimerGenerator* const FTM0 = FTM_t<0>::getTimer;
TimerGenerator* const FTM1 = FTM_t<1>::getTimer;
TimerGenerator* const FTM2 = FTM_t<2>::getTimer;
TimerGenerator* const FTM3 = FTM_t<3>::getTimer;
TimerGenerator* const FTM4 = FTM_t<3>::getTimer;
constexpr tick_t tick = &TCK_t::tick;
}
#elif defined(ARDUINO_TEENSY31) || defined (ARDUINO_TEENSY32)
#include "Teensy/FTM/FTM.h"
#include "Teensy/TCK/TCK.h"
namespace TeensyTimerTool
{
TimerGenerator* const TCK = TCK_t::getTimer<uint32_t>;
TimerGenerator* const TCK32 = TCK_t::getTimer<uint32_t>; // same as TCK
TimerGenerator* const TCK64 = TCK_t::getTimer<uint64_t>;
TimerGenerator* const FTM0 = FTM_t<0>::getTimer;
TimerGenerator* const FTM1 = FTM_t<1>::getTimer;
TimerGenerator* const FTM2 = FTM_t<2>::getTimer;
constexpr tick_t tick = &TCK_t::tick;
}
#elif defined(ARDUINO_TEENSY30)
#include "Teensy/FTM/FTM.h"
#include "Teensy/TCK/TCK.h"
namespace TeensyTimerTool
{
TimerGenerator* const TCK = TCK_t::getTimer;
TimerGenerator* const FTM0 = FTM_t<0>::getTimer;
TimerGenerator* const FTM1 = FTM_t<1>::getTimer;
constexpr tick_t tick = &TCK_t::tick;
}
#elif defined(ARDUINO_TEENSYLC)
#include "Teensy/TCK/TCK.h"
namespace TeensyTimerTool
{
TimerGenerator* const TCK = TCK_t::getTimer<uint32_t>;
constexpr tick_t tick = &TCK_t::tick;
}
#endif