5#include "port_mpu_util.h"
73int spiCalcClockDiv(SPIDriver *spip, SPIConfig *spiConfig,
unsigned int clk);
141#define BLT_CURRENT_VERSION 0x33304C42
142#define BLT_BIN_VERSION_ADDR ((uint32_t)0x08000024U)
145#define getOpenBltVersion() (((uint32_t *)BLT_BIN_VERSION_ADDR)[0])
uint16_t adcsample_t
ADC sample data type.
GPIO_TypeDef * ioportid_t
Port Identifier.
uint32_t iomode_t
Digital I/O modes.
bool isValidSerialRxPin(brain_pin_e pin)
Reset_Cause_t getMCUResetCause()
CANDriver * detectCanDevice(brain_pin_e pinRx, brain_pin_e pinTx)
int spiGetBaseClock(SPIDriver *spip)
void HardFaultVector(void)
void BusFaultVector(void)
BOR_Level_t BOR_Get(void)
brain_pin_e getAdcChannelBrainPin(const char *msg, adc_channel_e hwChannel)
bool readSlowAnalogInputs(adcsample_t *convertedSamples)
int getAdcInternalChannel(ADC_TypeDef *adc, adc_channel_e hwChannel)
BOR_Result_t BOR_Set(BOR_Level_t BORValue)
int getAdcChannelPin(adc_channel_e hwChannel)
bool isValidCanRxPin(brain_pin_e pin)
bool getIcuParams(brain_pin_e hwPin, iomode_t *af_ptr, ICUDriver **icu_ptr, icuchannel_t *channel_ptr, uint32_t *clock_ptr)
void DebugMonitorVector(void)
void initSpiModule(SPIDriver *driver, brain_pin_e sck, brain_pin_e miso, brain_pin_e mosi, int sckMode, int mosiMode, int misoMode)
bool mcuCanFlashWhileRunning()
bool adcIsMuxedInput(adc_channel_e hwChannel)
int at32GetMcuType(uint32_t id, const char **pn, const char **package, uint32_t *flashSize)
void initSpiCsNoOccupy(SPIConfig *spiConfig, brain_pin_e csPin)
void UsageFaultVector(void)
void jump_to_bootloader()
@ Reset_Cause_Illegal_Mode
@ Reset_Cause_Option_Byte
void turnOnSpi(spi_device_e device)
adc_channel_e getHwChannelForAdcInput(ADC_TypeDef *adc, size_t hwIndex)
adc_channel_e getAdcChannel(brain_pin_e pin)
float getMcuVrefVoltage()
bool isValidSerialTxPin(brain_pin_e pin)
bool isValidCanTxPin(brain_pin_e pin)
adc_channel_e adcMuxedGetParent(adc_channel_e hwChannel)
int at32GetRamSizeKb(void)
ioportid_t getAdcChannelPort(const char *msg, adc_channel_e hwChannel)
void initSpiCs(SPIConfig *spiConfig, brain_pin_e csPin)
float getMcuTemperature()
void canHwInfo(CANDriver *cand)
int spiCalcClockDiv(SPIDriver *spip, SPIConfig *spiConfig, unsigned int clk)
Hardware Independent Watchdog (IWDG) high-level API.
static uint16_t flashSize()
static hardware_pwm * tryInitPin(const char *msg, brain_pin_e pin, float frequencyHz, float duty)
virtual void setDuty(float duty)=0