rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
hardware.h
Go to the documentation of this file.
1/*
2 * @file hardware.h
3 *
4 * @date May 27, 2013
5 * @author Andrey Belomutskiy, (c) 2012-2020
6 */
7
8#pragma once
9
10// 'startHardware' is invoked both on boot and configuration change
11void startHardware();
12void stopHardware();
13
14#if HAL_USE_SPI
15
16// Peripherial Clock 42MHz SPI2 SPI3
17// Peripherial Clock 84MHz SPI1 SPI1 SPI2/3
18// 42 MHz 21 MHZ
19#define SPI_BaudRatePrescaler_2 ((uint16_t)0x0000)
20// 21 MHz 10.5 MHz
21#define SPI_BaudRatePrescaler_4 ((uint16_t)0x0008)
22// 10.5 MHz 5.25 MHz
23#define SPI_BaudRatePrescaler_8 ((uint16_t)0x0010)
24// 5.25 MHz 2.626 MHz
25#define SPI_BaudRatePrescaler_16 ((uint16_t)0x0018)
26// 2.626 MHz 1.3125 MHz
27#define SPI_BaudRatePrescaler_32 ((uint16_t)0x0020)
28// 1.3125 MHz 656.25 KHz
29#define SPI_BaudRatePrescaler_64 ((uint16_t)0x0028)
30// 656.25 KHz 328.125 KHz
31#define SPI_BaudRatePrescaler_128 ((uint16_t)0x0030)
32// 328.125 KHz 164.06 KHz
33#define SPI_BaudRatePrescaler_256 ((uint16_t)0x0038)
34
35SPIDriver * getSpiDevice(spi_device_e spiDevice);
42
43void printSpiConfig(const char *msg, spi_device_e device);
44
45#endif /* HAL_USE_SPI */
46
47#if HAL_USE_ADC
48// This callback is called by the ADC driver when a new fast ADC sample is ready
50#endif /* HAL_USE_ADC */
51
53
54// Initialize hardware that doesn't require configuration to be loaded
56
57// Initialize hardware with configuration loaded
58void initHardware();
59
60// todo: can we do simpler here? move conditional compilation into debounce.h?
61#if EFI_PROD_CODE
62#include "debounce.h"
63#else
64class ButtonDebounce;
65#endif /* EFI_PROD_CODE */
66
67void setBor(int borValue);
Generic button debounce class https://en.wikipedia.org/wiki/Switch#Contact_bounce If we don't 'deboun...
uint16_t adcsample_t
ADC sample data type.
void unlockSpi(spi_device_e device)
Definition hardware.cpp:195
void stopHardware()
Definition hardware.cpp:478
void initHardwareNoConfig()
Definition hardware.cpp:427
brain_pin_e getSckPin(spi_device_e device)
Definition hardware.cpp:126
void initHardware()
Definition hardware.cpp:538
void printSpiConfig(const char *msg, spi_device_e device)
Definition hardware.cpp:256
void turnOnSpi(spi_device_e device)
Definition at32_spi.cpp:151
void startHardware()
Definition hardware.cpp:503
brain_pin_e getMosiPin(spi_device_e device)
Definition hardware.cpp:106
SPIDriver * getSpiDevice(spi_device_e spiDevice)
Definition hardware.cpp:149
void onFastAdcComplete(adcsample_t *)
Definition hardware.cpp:275
void setBor(int borValue)
Definition hardware.cpp:409
void lockSpi(spi_device_e device)
Definition hardware.cpp:190
brain_pin_e getMisoPin(spi_device_e device)
Definition hardware.cpp:86
void applyNewHardwareSettings()
Definition hardware.cpp:311
static Lps25 device
Definition init_baro.cpp:4
spi_device_e