39 chDbgPanic3(
"_unhandled_exception", __FILE__, __LINE__);
45 chDbgPanic3(
"DebugMonitorVector", __FILE__, __LINE__);
51 chDbgPanic3(
"UsageFaultVector", __FILE__, __LINE__);
67#if HAL_USE_SPI || defined(__DOXYGEN__)
69bool isSpiInitialized[SPI_TOTAL_COUNT + 1] = {
true,
false,
false,
false,
false,
false,
false };
73 if (driver == &
SPID1) {
78 if (driver == &
SPID2) {
83 if (driver == &SPID3) {
94 if (
device == SPI_DEVICE_1) {
106 if (
device == SPI_DEVICE_2) {
107#if STM32_SPI_USE_SPI2
117 if (
device == SPI_DEVICE_3) {
118#if STM32_SPI_USE_SPI3
151 spiConfig->ssport = port;
152 spiConfig->sspad =
pin;
157#ifdef _CHIBIOS_RT_CONF_VER_6_1_
158 spiConfig->end_cb =
nullptr;
160 spiConfig->data_cb =
nullptr;
161 spiConfig->error_cb =
nullptr;
191#if EFI_CAN_SUPPORT || defined(__DOXYGEN__)
239 if (sector <= 3 || (sector >= 12 && sector <= 15))
241 else if (sector == 4 || sector == 16)
243 else if ((sector >= 5 && sector <= 11) || (sector >= 17 && sector <= 23))
253 return FLASH_ADDR_SECOND_COPY;
258 adcStart(&
ADCD1, NULL);
261 adcStart(&
ADCD2, NULL);
bool mcuCanFlashWhileRunning()
void efiSetPadMode(const char *msg, brain_pin_e brainPin, iomode_t mode)
void chDbgPanic3(const char *, const char *, int)
static bool isValidCan2RxPin(brain_pin_e pin)
int spiCalcClockDiv(SPIDriver *, SPIConfig *, unsigned int)
Reset_Cause_t getMCUResetCause()
CANDriver * detectCanDevice(brain_pin_e pinRx, brain_pin_e pinTx)
void HardFaultVector(void)
void BusFaultVector(void)
BOR_Level_t BOR_Get(void)
bool readSlowAnalogInputs(adcsample_t *convertedSamples)
void setWatchdogResetPeriod(int)
BOR_Result_t BOR_Set(BOR_Level_t BORValue)
bool isValidCanRxPin(brain_pin_e pin)
int spiGetBaseClock(SPIDriver *)
void DebugMonitorVector(void)
static int getSpiAf(SPIDriver *driver)
void initSpiModule(SPIDriver *driver, brain_pin_e sck, brain_pin_e miso, brain_pin_e mosi, int sckMode, int mosiMode, int misoMode)
adcsample_t getFastAdc(AdcToken token)
void initSpiCsNoOccupy(SPIConfig *spiConfig, brain_pin_e csPin)
void UsageFaultVector(void)
bool isSpiInitialized[SPI_TOTAL_COUNT+1]
void turnOnSpi(spi_device_e device)
uintptr_t getFlashAddrSecondCopy()
float getMcuVrefVoltage()
void _unhandled_exception(void)
static bool isValidCan1RxPin(brain_pin_e pin)
bool isValidCanTxPin(brain_pin_e pin)
static bool isValidCan2TxPin(brain_pin_e pin)
uintptr_t getFlashAddrFirstCopy()
size_t flashSectorSize(flashsector_t sector)
Get the size of sector.
void initSpiCs(SPIConfig *spiConfig, brain_pin_e csPin)
float getMcuTemperature()
void canHwInfo(CANDriver *cand)
static bool isValidCan1TxPin(brain_pin_e pin)
AdcToken enableFastAdcChannel(const char *, adc_channel_e channel)
ioportid_t getHwPort(const char *msg, brain_pin_e brainPin)
ioportmask_t getHwPin(const char *msg, brain_pin_e brainPin)
static constexpr engine_configuration_s * engineConfiguration
uint8_t flashsector_t
Index of a sector.
ADCDriver ADCD2
ADC2 driver identifier.
uint16_t adcsample_t
ADC sample data type.
ADCDriver ADCD1
ADC1 driver identifier.
uint32_t ioportmask_t
Digital I/O port sized unsigned type.
GPIO_TypeDef * ioportid_t
Port Identifier.
SPIDriver SPID1
SPI0 driver identifier.
SPIDriver SPID2
SPI1 driver identifier.
brain_pin_e getSckPin(spi_device_e device)
brain_pin_e getMosiPin(spi_device_e device)
brain_pin_e getMisoPin(spi_device_e device)