37#ifndef TAPROOT_BOARD_HPP_
38#define TAPROOT_BOARD_HPP_
40#ifndef PLATFORM_HOSTED
41#include "modm/architecture/interface/clock.hpp"
42#include "modm/platform.hpp"
44using namespace modm::platform;
46#include "modm/math/units.hpp"
51using namespace modm::literals;
107#ifndef PLATFORM_HOSTED
108 Rcc::enableExternalCrystal();
109 Rcc::PllFactors pllF = {
114 Rcc::enablePll(Rcc::PllSource::ExternalCrystal, pllF);
116 Rcc::setFlashLatency<Frequency>();
117 Rcc::enableSystemClock(Rcc::SystemClockSource::Pll);
118 Rcc::setAhbPrescaler(Rcc::AhbPrescaler::Div1);
119 Rcc::setApb1Prescaler(Rcc::Apb1Prescaler::Div4);
120 Rcc::setApb2Prescaler(Rcc::Apb2Prescaler::Div2);
121 Rcc::updateCoreFrequency<Frequency>();
128#ifndef PLATFORM_HOSTED
135using LedsPort = SoftwareGpioPort<GpioOutputH12, GpioOutputH11, GpioOutputH10>;
150using PWMOutPins = SoftwareGpioPort<PWMOutPinC1, PWMOutPinC2, PWMOutPinC3, PWMOutPinC4, PWMOutPinC5, PWMOutPinC6, PWMOutPinC7, PWMOutPinBuzzer, PWMOutPinImuHeater>;
158using DigitalInPins = SoftwareGpioPort<DigitalInPinPF1, DigitalInPinPF0, DigitalInPinB12>;
167using DigitalOutPins = SoftwareGpioPort<DigitalOutPinB13, DigitalOutPinB14, DigitalOutPinB15, DigitalOutPinLaser>;
187#ifndef PLATFORM_HOSTED
188 SysTickTimer::initialize<SystemClock>();
GpioOutputH12 LedRed
Definition board.hpp:132
GpioB3 ImuSck
Definition board.hpp:171
GpioA4 ImuCS1Accel
Definition board.hpp:174
SoftwareGpioPort< DigitalOutPinB13, DigitalOutPinB14, DigitalOutPinB15, DigitalOutPinLaser > DigitalOutPins
Definition board.hpp:167
GpioF0 DigitalInPinPF0
Definition board.hpp:155
SpiMaster1 ImuSpiMaster
Definition board.hpp:179
GpioC6 PWMOutPinC5
Definition board.hpp:144
GpioE13 PWMOutPinC3
Definition board.hpp:142
GpioF6 ImuHeater
Definition board.hpp:178
GpioOutputH10 LedBlue
Definition board.hpp:134
SoftwareGpioPort< DigitalInPinPF1, DigitalInPinPF0, DigitalInPinB12 > DigitalInPins
Definition board.hpp:158
GpioOutputH11 LedGreen
Definition board.hpp:133
GpioI7 PWMOutPinC7
Definition board.hpp:146
GpioE11 PWMOutPinC2
Definition board.hpp:141
SoftwareGpioPort< PWMOutPinC1, PWMOutPinC2, PWMOutPinC3, PWMOutPinC4, PWMOutPinC5, PWMOutPinC6, PWMOutPinC7, PWMOutPinBuzzer, PWMOutPinImuHeater > PWMOutPins
Definition board.hpp:150
void initialize()
Definition board.hpp:183
GpioE14 PWMOutPinC4
Definition board.hpp:143
GpioF1 DigitalInPinPF1
Definition board.hpp:154
GpioB12 DigitalInPinB12
Definition board.hpp:156
GpioA7 ImuMosi
Definition board.hpp:173
GpioF6 PWMOutPinImuHeater
Definition board.hpp:148
GpioB13 DigitalOutPinB13
Definition board.hpp:162
GpioD14 PWMOutPinBuzzer
Definition board.hpp:147
GpioC5 ImuInt1Gyro
Definition board.hpp:177
GpioI6 PWMOutPinC6
Definition board.hpp:145
GpioB4 ImuMiso
Definition board.hpp:172
GpioC4 ImuInt1Accel
Definition board.hpp:176
GpioB14 DigitalOutPinB14
Definition board.hpp:163
GpioB0 ImuCS1Gyro
Definition board.hpp:175
GpioE9 PWMOutPinC1
Definition board.hpp:140
SoftwareGpioPort< GpioOutputH12, GpioOutputH11, GpioOutputH10 > LedsPort
Definition board.hpp:135
GpioC8 DigitalOutPinLaser
Definition board.hpp:165
GpioB15 DigitalOutPinB15
Definition board.hpp:164
static constexpr uint32_t Timer14
Definition board.hpp:103
static constexpr uint32_t Uart5
Definition board.hpp:76
static constexpr uint32_t Spi6
Definition board.hpp:70
static constexpr uint32_t Usart3
Definition board.hpp:74
static constexpr uint32_t Spi2
Definition board.hpp:66
static constexpr uint32_t Spi5
Definition board.hpp:69
static constexpr uint32_t Timer7
Definition board.hpp:96
static constexpr uint32_t Uart8
Definition board.hpp:79
static constexpr uint32_t Apb1
Definition board.hpp:60
static constexpr uint32_t Timer13
Definition board.hpp:102
static constexpr uint32_t I2c2
Definition board.hpp:85
static constexpr uint32_t Timer3
Definition board.hpp:92
static constexpr uint32_t Apb2
Definition board.hpp:61
static constexpr uint32_t Timer9
Definition board.hpp:98
static constexpr uint32_t Uart7
Definition board.hpp:78
static constexpr uint32_t Uart4
Definition board.hpp:75
static constexpr uint32_t Timer10
Definition board.hpp:99
static constexpr uint32_t Timer4
Definition board.hpp:93
static constexpr uint32_t I2c1
Definition board.hpp:84
static constexpr uint32_t Timer2
Definition board.hpp:91
static constexpr uint32_t Usart2
Definition board.hpp:73
static constexpr uint32_t Spi1
Definition board.hpp:65
static constexpr uint32_t Frequency
Definition board.hpp:58
static constexpr uint32_t Usart6
Definition board.hpp:77
static bool enable()
Definition board.hpp:105
static constexpr uint32_t Spi4
Definition board.hpp:68
static constexpr uint32_t Usart1
Definition board.hpp:72
static constexpr uint32_t Timer5
Definition board.hpp:94
static constexpr uint32_t Ahb
Definition board.hpp:59
static constexpr uint32_t Timer12
Definition board.hpp:101
static constexpr uint32_t Apb1Timer
Definition board.hpp:88
static constexpr uint32_t Adc
Definition board.hpp:63
static constexpr uint32_t Timer8
Definition board.hpp:97
static constexpr uint32_t Timer11
Definition board.hpp:100
static constexpr uint32_t Timer6
Definition board.hpp:95
static constexpr uint32_t Spi3
Definition board.hpp:67
static constexpr uint32_t Timer1
Definition board.hpp:90
static constexpr uint32_t Can2
Definition board.hpp:82
static constexpr uint32_t Can1
Definition board.hpp:81
static constexpr uint32_t I2c3
Definition board.hpp:86
static constexpr uint32_t Apb2Timer
Definition board.hpp:89