mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/sta-core.git
synced 2025-08-05 18:21:54 +00:00
Updated: Doxygen Documentation
This commit is contained in:
committed by
CarlWachter
parent
b3ed26e288
commit
16b9e6135c
@@ -18,9 +18,13 @@ namespace sta
|
||||
class CanPendingRxFifos
|
||||
{
|
||||
public:
|
||||
/// @brief Value type.
|
||||
using value_type = uint8_t;
|
||||
/// @brief Pointer to value type.
|
||||
using reference = value_type &;
|
||||
/// @brief Const pointer to value type.
|
||||
using const_reference = const value_type &;
|
||||
/// @brief Size of type.
|
||||
using size_type = uint8_t;
|
||||
|
||||
/**
|
||||
@@ -29,21 +33,42 @@ namespace sta
|
||||
class const_iterator
|
||||
{
|
||||
public:
|
||||
/// @brief Value type.
|
||||
using value_type = CanPendingRxFifos::value_type;
|
||||
/// @brief Const pointer to value type.
|
||||
using reference = const_reference;
|
||||
/// @brief Pointer to value type.
|
||||
using pointer = const value_type *;
|
||||
|
||||
public:
|
||||
/// @brief Default constructor.
|
||||
const_iterator(const const_iterator & iter);
|
||||
|
||||
/// @brief Copies the contents of the given iterator.
|
||||
/// @param iter Iterator to be copied.
|
||||
const_iterator & operator=(const const_iterator & iter);
|
||||
|
||||
/**
|
||||
* @brief Compare iterators by flags, index and end index.
|
||||
*/
|
||||
bool operator==(const const_iterator & iter) const;
|
||||
/**
|
||||
* @brief Compare iterators by flags, index and end index.
|
||||
*/
|
||||
bool operator!=(const const_iterator & iter) const;
|
||||
|
||||
/**
|
||||
* @brief Increment iterator to next pending RX queue.
|
||||
*/
|
||||
const_iterator & operator++();
|
||||
/**
|
||||
* @brief Increment iterator to next pending RX queue.
|
||||
*/
|
||||
const_iterator operator++(int);
|
||||
|
||||
/**
|
||||
* @brief Dereference iterator at index.
|
||||
*/
|
||||
reference operator*() const;
|
||||
|
||||
private:
|
||||
@@ -69,7 +94,13 @@ namespace sta
|
||||
*/
|
||||
CanPendingRxFifos(uint32_t rxFlags, uint8_t numFifos);
|
||||
|
||||
/**
|
||||
* @brief Get iterator to first pending RX queue.
|
||||
*/
|
||||
const_iterator begin() const;
|
||||
/**
|
||||
* @brief Get iterator to end of RX queues.
|
||||
*/
|
||||
const_iterator end() const;
|
||||
|
||||
private:
|
||||
|
@@ -13,7 +13,6 @@ namespace sta
|
||||
public:
|
||||
/**
|
||||
* @param intf %SPI hardware interface
|
||||
* @param csPin Chip select pin
|
||||
*/
|
||||
Device(Interface * intf);
|
||||
|
||||
|
@@ -16,7 +16,9 @@ namespace sta
|
||||
public:
|
||||
/**
|
||||
* @param intf %I2C hardware interface
|
||||
* @param csPin The peripheral's address.
|
||||
* @param address Device address
|
||||
* @param master Whether the mcu is a master or slave
|
||||
* @param blocking Whether to use blocking or non-blocking transmits / receives
|
||||
*/
|
||||
I2CDevice(I2C * intf, int address, bool master=true, bool blocking=true);
|
||||
|
||||
|
@@ -19,6 +19,11 @@ namespace sta
|
||||
class I2C : public Interface
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief Construct a new %I2C object.
|
||||
*
|
||||
* @param mutex Mutex object for managing shared access. Pass nullptr for no access control.
|
||||
*/
|
||||
I2C(Mutex * mutex=nullptr);
|
||||
|
||||
/**
|
||||
@@ -31,8 +36,11 @@ namespace sta
|
||||
void setSettings(uint16_t address, bool master, bool blocking);
|
||||
|
||||
protected:
|
||||
/// @brief The peripheral's address to communicate with.
|
||||
uint16_t address_;
|
||||
/// @brief Whether the mcu is a master or slave.
|
||||
bool master_;
|
||||
/// @brief Whether to use blocking or non-blocking transmits / receives.
|
||||
bool blocking_;
|
||||
};
|
||||
} // namespace sta
|
||||
|
@@ -14,6 +14,9 @@ namespace sta
|
||||
class Interface
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @param mutex Mutex object for managing shared access. Pass nullptr for no access control.
|
||||
*/
|
||||
Interface(Mutex * mutex);
|
||||
|
||||
/**
|
||||
|
@@ -3,8 +3,18 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/**
|
||||
* @defgroup sta_core_uart UART
|
||||
* @ingroup sta_core
|
||||
* @brief UART interface.
|
||||
*/
|
||||
|
||||
|
||||
namespace sta
|
||||
{
|
||||
/**
|
||||
* @brief UART modes of operation.
|
||||
*/
|
||||
enum class UARTMode
|
||||
{
|
||||
RX,
|
||||
@@ -13,10 +23,11 @@ namespace sta
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief %UART settings.
|
||||
* @brief UART settings.
|
||||
*/
|
||||
struct UARTSettings
|
||||
{
|
||||
/// @brief Mode of operation.
|
||||
UARTMode mode;
|
||||
};
|
||||
} // namespace sta
|
||||
|
@@ -6,6 +6,11 @@
|
||||
|
||||
namespace sta
|
||||
{
|
||||
/**
|
||||
* @brief UART interface.
|
||||
*
|
||||
* @ingroup sta_core_uart
|
||||
*/
|
||||
class UART : public Interface
|
||||
{
|
||||
public:
|
||||
|
@@ -23,12 +23,17 @@ namespace sta
|
||||
HEX /**< Hexadecimal */
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Printable UART interface.
|
||||
*
|
||||
* @ingroup sta_core
|
||||
*/
|
||||
class Printable
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief fmt The string defining the desired format.
|
||||
* @breif ... The parameters for the formatted string.
|
||||
* @brief ... The parameters for the formatted string.
|
||||
*/
|
||||
void printf(const char * fmt, ...);
|
||||
|
||||
|
@@ -5,6 +5,11 @@
|
||||
|
||||
namespace sta
|
||||
{
|
||||
/**
|
||||
* @brief A formatted printable class that prints to stdout.
|
||||
*
|
||||
* @ingroup sta_core
|
||||
*/
|
||||
class PrintablePrintf : public Printable
|
||||
{
|
||||
public:
|
||||
|
@@ -15,11 +15,15 @@
|
||||
|
||||
namespace sta
|
||||
{
|
||||
/**
|
||||
* @brief A wrapper class for Arduino GPIO pins.
|
||||
*
|
||||
* @ingroup sta_core_arduino
|
||||
*/
|
||||
class ArduinoGpioPin : public GpioPin
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @param port GPIO port
|
||||
* @param pin Pin index
|
||||
*/
|
||||
ArduinoGpioPin(uint16_t pin);
|
||||
|
@@ -5,4 +5,10 @@
|
||||
#include<Wire.h>
|
||||
#include<SPI.h>
|
||||
|
||||
/**
|
||||
* @defgroup sta_core_arduino Arduino
|
||||
* @ingroup sta_core_platforms
|
||||
* @brief Modules implemented for the Arduino platform.
|
||||
*/
|
||||
|
||||
#endif // STA_CORE_ARDUINO_HAL_HPP
|
@@ -20,6 +20,11 @@ namespace sta
|
||||
GPIO_INPUT
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief A wrapper class for Raspi GPIO pins.
|
||||
*
|
||||
* @ingroup sta_core_raspi
|
||||
*/
|
||||
class RaspiGpioPin : public GpioPin
|
||||
{
|
||||
public:
|
||||
@@ -29,10 +34,21 @@ namespace sta
|
||||
*/
|
||||
RaspiGpioPin(uint8_t pin, GpioMode mode);
|
||||
|
||||
/**
|
||||
* @brief Set the state of the GPIO pin.
|
||||
*
|
||||
* @param state The state of the GPIO pin. Either HIGH or LOW
|
||||
*/
|
||||
void setState(GpioPinState state) override;
|
||||
|
||||
/**
|
||||
* @brief Get the state of the GPIO pin.
|
||||
*
|
||||
* @return The state of the GPIO pin. Either HIGH or LOW
|
||||
*/
|
||||
GpioPinState getState() override;
|
||||
|
||||
/// @brief Dummy GPIO pin
|
||||
static RaspiGpioPin * DUMMY_GPIO;
|
||||
|
||||
private:
|
||||
|
@@ -5,4 +5,10 @@
|
||||
#include <stdio.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
/**
|
||||
* @defgroup sta_core_raspi Raspi
|
||||
* @ingroup sta_core_platforms
|
||||
* @brief Modules implemented for the Raspi platform.
|
||||
*/
|
||||
|
||||
#endif //STA_CORE_RASPI_HAL_HPP
|
||||
|
@@ -13,6 +13,11 @@
|
||||
|
||||
namespace sta
|
||||
{
|
||||
/**
|
||||
* @brief A wrapper class for the STM32 ADC peripheral.
|
||||
*
|
||||
* @ingroup sta_core_stm32
|
||||
*/
|
||||
class STM32ADC
|
||||
{
|
||||
public:
|
||||
@@ -27,12 +32,17 @@ namespace sta
|
||||
void start();
|
||||
|
||||
/**
|
||||
* @brief
|
||||
* @brief Polls for the converted analog signal.
|
||||
*
|
||||
* @param timeout
|
||||
*/
|
||||
void poll(uint32_t timeout);
|
||||
|
||||
/**
|
||||
* @brief Get the value of the converted analog signal.
|
||||
*
|
||||
* @return uint32_t
|
||||
*/
|
||||
uint32_t getValue();
|
||||
private:
|
||||
ADC_HandleTypeDef * handle_;
|
||||
|
@@ -49,6 +49,9 @@ namespace sta
|
||||
class STM32SPI : public SPI
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief Handle and corresponding peripheral clock frequency.
|
||||
*/
|
||||
struct Info
|
||||
{
|
||||
SPI_HandleTypeDef * handle; /**< STM32 HAL handle */
|
||||
|
@@ -40,6 +40,8 @@ namespace sta
|
||||
public:
|
||||
/**
|
||||
* @param handle STM32 HAL handle
|
||||
* @param settings UART settings
|
||||
* @param mutex Mutex for thread safety
|
||||
*/
|
||||
STM32UART(UART_HandleTypeDef * handle, UARTSettings & settings, Mutex * mutex);
|
||||
|
||||
|
@@ -12,8 +12,6 @@
|
||||
* @defgroup sta_core_stm32_can CAN
|
||||
* @ingroup sta_core_stm32
|
||||
* @brief STM32 CAN module.
|
||||
*
|
||||
* Check @ref stm32BuildConfig for configuration options.
|
||||
*/
|
||||
|
||||
// Only enable module on STM32 platform w/ HAL CAN module enabled
|
||||
|
@@ -1,6 +1,13 @@
|
||||
#ifndef STA_CORE_STM32_MCU_STM32F407xx_HPP
|
||||
#define STA_CORE_STM32_MCU_STM32F407xx_HPP
|
||||
|
||||
/**
|
||||
* @defgroup sta_core_stm32_mcu_stm32f407xx STM32F407xx
|
||||
* @ingroup sta_core_stm32_mcu
|
||||
*
|
||||
* @brief MCU configuration for the STM32F407xx family.
|
||||
*/
|
||||
|
||||
#ifndef STM32F407xx
|
||||
# error "MCU config incompatible"
|
||||
#endif // STM32F407xx
|
||||
@@ -16,76 +23,81 @@
|
||||
# endif // STA_STM32_SWD_USART_IDX
|
||||
#endif // STA_STM32_SWD_USART_IDX
|
||||
|
||||
/**
|
||||
* @ingroup sta_core_stm32_mcu_stm32f407xx
|
||||
* @{
|
||||
*/
|
||||
|
||||
// Peripheral clock mappings
|
||||
//
|
||||
|
||||
// TIM to PCLK
|
||||
#define STA_STM32_TIM_1_PCLK_IDX 2
|
||||
#define STA_STM32_TIM_2_PCLK_IDX 1
|
||||
#define STA_STM32_TIM_3_PCLK_IDX 1
|
||||
#define STA_STM32_TIM_4_PCLK_IDX 1
|
||||
#define STA_STM32_TIM_5_PCLK_IDX 1
|
||||
#define STA_STM32_TIM_6_PCLK_IDX 1
|
||||
#define STA_STM32_TIM_7_PCLK_IDX 1
|
||||
#define STA_STM32_TIM_8_PCLK_IDX 2
|
||||
#define STA_STM32_TIM_9_PCLK_IDX 2
|
||||
#define STA_STM32_TIM_10_PCLK_IDX 2
|
||||
#define STA_STM32_TIM_11_PCLK_IDX 2
|
||||
#define STA_STM32_TIM_12_PCLK_IDX 1
|
||||
#define STA_STM32_TIM_13_PCLK_IDX 1
|
||||
#define STA_STM32_TIM_14_PCLK_IDX 1
|
||||
#define STA_STM32_TIM_1_PCLK_IDX 2 /**< TIM1 to PCLK index */
|
||||
#define STA_STM32_TIM_2_PCLK_IDX 1 /**< TIM2 to PCLK index */
|
||||
#define STA_STM32_TIM_3_PCLK_IDX 1 /**< TIM3 to PCLK index */
|
||||
#define STA_STM32_TIM_4_PCLK_IDX 1 /**< TIM4 to PCLK index */
|
||||
#define STA_STM32_TIM_5_PCLK_IDX 1 /**< TIM5 to PCLK index */
|
||||
#define STA_STM32_TIM_6_PCLK_IDX 1 /**< TIM6 to PCLK index */
|
||||
#define STA_STM32_TIM_7_PCLK_IDX 1 /**< TIM7 to PCLK index */
|
||||
#define STA_STM32_TIM_8_PCLK_IDX 2 /**< TIM8 to PCLK index */
|
||||
#define STA_STM32_TIM_9_PCLK_IDX 2 /**< TIM9 to PCLK index */
|
||||
#define STA_STM32_TIM_10_PCLK_IDX 2 /**< TIM10 to PCLK index */
|
||||
#define STA_STM32_TIM_11_PCLK_IDX 2 /**< TIM11 to PCLK index */
|
||||
#define STA_STM32_TIM_12_PCLK_IDX 1 /**< TIM12 to PCLK index */
|
||||
#define STA_STM32_TIM_13_PCLK_IDX 1 /**< TIM13 to PCLK index */
|
||||
#define STA_STM32_TIM_14_PCLK_IDX 1 /**< TIM14 to PCLK index */
|
||||
|
||||
// SPI to PCLK
|
||||
#define STA_STM32_SPI_1_PCLK_IDX 2
|
||||
#define STA_STM32_SPI_2_PCLK_IDX 1
|
||||
#define STA_STM32_SPI_3_PCLK_IDX 1
|
||||
#define STA_STM32_SPI_1_PCLK_IDX 2 /**< SPI1 to PCLK index */
|
||||
#define STA_STM32_SPI_2_PCLK_IDX 1 /**< SPI2 to PCLK index */
|
||||
#define STA_STM32_SPI_3_PCLK_IDX 1 /**< SPI3 to PCLK index */
|
||||
|
||||
// I2C to PCLK
|
||||
#define STA_STM32_I2C_1_PCLK_IDX 1
|
||||
#define STA_STM32_I2C_2_PCLK_IDX 1
|
||||
#define STA_STM32_I2C_3_PCLK_IDX 1
|
||||
#define STA_STM32_I2C_1_PCLK_IDX 1 /**< I2C1 to PCLK index */
|
||||
#define STA_STM32_I2C_2_PCLK_IDX 1 /**< I2C2 to PCLK index */
|
||||
#define STA_STM32_I2C_3_PCLK_IDX 1 /**< I2C3 to PCLK index */
|
||||
|
||||
// USART to PCLK
|
||||
#define STA_STM32_USART_1_PCLK_IDX 2
|
||||
#define STA_STM32_USART_2_PCLK_IDX 1
|
||||
#define STA_STM32_USART_3_PCLK_IDX 1
|
||||
#define STA_STM32_USART_6_PCLK_IDX 2
|
||||
|
||||
#define STA_STM32_USART_1_PCLK_IDX 2 /**< USART1 to PCLK index */
|
||||
#define STA_STM32_USART_2_PCLK_IDX 1 /**< USART2 to PCLK index */
|
||||
#define STA_STM32_USART_3_PCLK_IDX 1 /**< USART3 to PCLK index */
|
||||
#define STA_STM32_USART_6_PCLK_IDX 2 /**< USART6 to PCLK index */
|
||||
|
||||
// HAL handle mappings
|
||||
//
|
||||
|
||||
#define STA_STM32_htim1_PCLK_IDX STA_STM32_TIM_1_PCLK_IDX
|
||||
#define STA_STM32_htim2_PCLK_IDX STA_STM32_TIM_2_PCLK_IDX
|
||||
#define STA_STM32_htim3_PCLK_IDX STA_STM32_TIM_3_PCLK_IDX
|
||||
#define STA_STM32_htim4_PCLK_IDX STA_STM32_TIM_4_PCLK_IDX
|
||||
#define STA_STM32_htim5_PCLK_IDX STA_STM32_TIM_5_PCLK_IDX
|
||||
#define STA_STM32_htim6_PCLK_IDX STA_STM32_TIM_6_PCLK_IDX
|
||||
#define STA_STM32_htim7_PCLK_IDX STA_STM32_TIM_7_PCLK_IDX
|
||||
#define STA_STM32_htim8_PCLK_IDX STA_STM32_TIM_8_PCLK_IDX
|
||||
#define STA_STM32_htim9_PCLK_IDX STA_STM32_TIM_9_PCLK_IDX
|
||||
#define STA_STM32_htim10_PCLK_IDX STA_STM32_TIM_10_PCLK_IDX
|
||||
#define STA_STM32_htim11_PCLK_IDX STA_STM32_TIM_11_PCLK_IDX
|
||||
#define STA_STM32_htim12_PCLK_IDX STA_STM32_TIM_12_PCLK_IDX
|
||||
#define STA_STM32_htim13_PCLK_IDX STA_STM32_TIM_13_PCLK_IDX
|
||||
#define STA_STM32_htim1_PCLK_IDX STA_STM32_TIM_1_PCLK_IDX /**< Mapping for HAL TIM1 to PCLK index */
|
||||
#define STA_STM32_htim2_PCLK_IDX STA_STM32_TIM_2_PCLK_IDX /**< Mapping for HAL TIM2 to PCLK index */
|
||||
#define STA_STM32_htim3_PCLK_IDX STA_STM32_TIM_3_PCLK_IDX /**< Mapping for HAL TIM3 to PCLK index */
|
||||
#define STA_STM32_htim4_PCLK_IDX STA_STM32_TIM_4_PCLK_IDX /**< Mapping for HAL TIM4 to PCLK index */
|
||||
#define STA_STM32_htim5_PCLK_IDX STA_STM32_TIM_5_PCLK_IDX /**< Mapping for HAL TIM5 to PCLK index */
|
||||
#define STA_STM32_htim6_PCLK_IDX STA_STM32_TIM_6_PCLK_IDX /**< Mapping for HAL TIM6 to PCLK index */
|
||||
#define STA_STM32_htim7_PCLK_IDX STA_STM32_TIM_7_PCLK_IDX /**< Mapping for HAL TIM7 to PCLK index */
|
||||
#define STA_STM32_htim8_PCLK_IDX STA_STM32_TIM_8_PCLK_IDX /**< Mapping for HAL TIM8 to PCLK index */
|
||||
#define STA_STM32_htim9_PCLK_IDX STA_STM32_TIM_9_PCLK_IDX /**< Mapping for HAL TIM9 to PCLK index */
|
||||
#define STA_STM32_htim10_PCLK_IDX STA_STM32_TIM_10_PCLK_IDX /**< Mapping for HAL TIM10 to PCLK index */
|
||||
#define STA_STM32_htim11_PCLK_IDX STA_STM32_TIM_11_PCLK_IDX /**< Mapping for HAL TIM11 to PCLK index */
|
||||
#define STA_STM32_htim12_PCLK_IDX STA_STM32_TIM_12_PCLK_IDX /**< Mapping for HAL TIM12 to PCLK index */
|
||||
#define STA_STM32_htim13_PCLK_IDX STA_STM32_TIM_13_PCLK_IDX /**< Mapping for HAL TIM13 to PCLK index */
|
||||
|
||||
// SPI to PCLK
|
||||
#define STA_STM32_hspi1_PCLK_IDX STA_STM32_SPI_1_PCLK_IDX
|
||||
#define STA_STM32_hspi2_PCLK_IDX STA_STM32_SPI_2_PCLK_IDX
|
||||
#define STA_STM32_hspi3_PCLK_IDX STA_STM32_SPI_3_PCLK_IDX
|
||||
#define STA_STM32_hspi4_PCLK_IDX STA_STM32_SPI_4_PCLK_IDX
|
||||
#define STA_STM32_hspi5_PCLK_IDX STA_STM32_SPI_5_PCLK_IDX
|
||||
#define STA_STM32_hspi1_PCLK_IDX STA_STM32_SPI_1_PCLK_IDX /**< Mapping for HAL SPI1 to PCLK index */
|
||||
#define STA_STM32_hspi2_PCLK_IDX STA_STM32_SPI_2_PCLK_IDX /**< Mapping for HAL SPI2 to PCLK index */
|
||||
#define STA_STM32_hspi3_PCLK_IDX STA_STM32_SPI_3_PCLK_IDX /**< Mapping for HAL SPI3 to PCLK index */
|
||||
#define STA_STM32_hspi4_PCLK_IDX STA_STM32_SPI_4_PCLK_IDX /**< Mapping for HAL SPI4 to PCLK index */
|
||||
#define STA_STM32_hspi5_PCLK_IDX STA_STM32_SPI_5_PCLK_IDX /**< Mapping for HAL SPI5 to PCLK index */
|
||||
|
||||
// I2C to PCLK
|
||||
#define STA_STM32_hi2c1_PCLK_IDX STA_STM32_I2C_1_PCLK_IDX
|
||||
#define STA_STM32_hi2c2_PCLK_IDX STA_STM32_I2C_2_PCLK_IDX
|
||||
#define STA_STM32_h12c3_PCLK_IDX STA_STM32_I2C_3_PCLK_IDX
|
||||
#define STA_STM32_hi2c1_PCLK_IDX STA_STM32_I2C_1_PCLK_IDX /**< Mapping for HAL I2C1 to PCLK index */
|
||||
#define STA_STM32_hi2c2_PCLK_IDX STA_STM32_I2C_2_PCLK_IDX /**< Mapping for HAL I2C2 to PCLK index */
|
||||
#define STA_STM32_h12c3_PCLK_IDX STA_STM32_I2C_3_PCLK_IDX /**< Mapping for HAL I2C3 to PCLK index */
|
||||
|
||||
// USART to PCLK
|
||||
#define STA_STM32_husart1_PCLK_IDX STA_STM32_USART_1_PCLK_IDX
|
||||
#define STA_STM32_husart2_PCLK_IDX STA_STM32_USART_2_PCLK_IDX
|
||||
#define STA_STM32_husart3_PCLK_IDX STA_STM32_USART_3_PCLK_IDX
|
||||
#define STA_STM32_husart6_PCLK_IDX STA_STM32_USART_6_PCLK_IDX
|
||||
#define STA_STM32_husart1_PCLK_IDX STA_STM32_USART_1_PCLK_IDX /**< Mapping for HAL USART1 to PCLK index */
|
||||
#define STA_STM32_husart2_PCLK_IDX STA_STM32_USART_2_PCLK_IDX /**< Mapping for HAL USART2 to PCLK index */
|
||||
#define STA_STM32_husart3_PCLK_IDX STA_STM32_USART_3_PCLK_IDX /**< Mapping for HAL USART3 to PCLK index */
|
||||
#define STA_STM32_husart6_PCLK_IDX STA_STM32_USART_6_PCLK_IDX /**< Mapping for HAL USART6 to PCLK index */
|
||||
|
||||
/** @} */
|
||||
|
||||
#endif // STA_CORE_STM32_MCU_STM32F407xx_HPP
|
@@ -5,6 +5,11 @@
|
||||
#ifndef STA_CORE_STM32_MCU_STM32F411xE_HPP
|
||||
#define STA_CORE_STM32_MCU_STM32F411xE_HPP
|
||||
|
||||
/**
|
||||
* @defgroup sta_core_stm32_mcu_stm32f411xe STM32F411xE
|
||||
* @ingroup sta_core_stm32_mcu
|
||||
* @brief Configuration for STM32F411xE family.
|
||||
*/
|
||||
|
||||
#ifndef STM32F411xE
|
||||
# error "MCU config incompatible"
|
||||
@@ -13,67 +18,71 @@
|
||||
|
||||
#include <sta/devices/stm32/mcu/common.hpp>
|
||||
|
||||
/**
|
||||
* @ingroup sta_core_stm32_mcu_stm32f411xe
|
||||
* @{
|
||||
*/
|
||||
|
||||
// Peripheral clock mappings
|
||||
//
|
||||
|
||||
// TIM to PCLK
|
||||
#define STA_STM32_TIM_1_PCLK_IDX 2
|
||||
#define STA_STM32_TIM_2_PCLK_IDX 1
|
||||
#define STA_STM32_TIM_3_PCLK_IDX 1
|
||||
#define STA_STM32_TIM_4_PCLK_IDX 1
|
||||
#define STA_STM32_TIM_5_PCLK_IDX 1
|
||||
#define STA_STM32_TIM_9_PCLK_IDX 2
|
||||
#define STA_STM32_TIM_10_PCLK_IDX 2
|
||||
#define STA_STM32_TIM_11_PCLK_IDX 2
|
||||
#define STA_STM32_TIM_1_PCLK_IDX 2 /**< TIM1 to PCLK index 2 */
|
||||
#define STA_STM32_TIM_2_PCLK_IDX 1 /**< TIM2 to PCLK index 1 */
|
||||
#define STA_STM32_TIM_3_PCLK_IDX 1 /**< TIM3 to PCLK index 1 */
|
||||
#define STA_STM32_TIM_4_PCLK_IDX 1 /**< TIM4 to PCLK index 1 */
|
||||
#define STA_STM32_TIM_5_PCLK_IDX 1 /**< TIM5 to PCLK index 1 */
|
||||
#define STA_STM32_TIM_9_PCLK_IDX 2 /**< TIM9 to PCLK index 2 */
|
||||
#define STA_STM32_TIM_10_PCLK_IDX 2 /**< TIM10 to PCLK index 2 */
|
||||
#define STA_STM32_TIM_11_PCLK_IDX 2 /**< TIM11 to PCLK index 2 */
|
||||
|
||||
// SPI to PCLK
|
||||
#define STA_STM32_SPI_1_PCLK_IDX 2
|
||||
#define STA_STM32_SPI_2_PCLK_IDX 1
|
||||
#define STA_STM32_SPI_3_PCLK_IDX 1
|
||||
#define STA_STM32_SPI_4_PCLK_IDX 2
|
||||
#define STA_STM32_SPI_5_PCLK_IDX 2
|
||||
#define STA_STM32_SPI_1_PCLK_IDX 2 /**< SPI1 to PCLK index 2 */
|
||||
#define STA_STM32_SPI_2_PCLK_IDX 1 /**< SPI2 to PCLK index 1 */
|
||||
#define STA_STM32_SPI_3_PCLK_IDX 1 /**< SPI3 to PCLK index 1 */
|
||||
#define STA_STM32_SPI_4_PCLK_IDX 2 /**< SPI4 to PCLK index 2 */
|
||||
#define STA_STM32_SPI_5_PCLK_IDX 2 /**< SPI5 to PCLK index 2 */
|
||||
|
||||
// I2C to PCLK
|
||||
#define STA_STM32_I2C_1_PCLK_IDX 1
|
||||
#define STA_STM32_I2C_2_PCLK_IDX 1
|
||||
#define STA_STM32_I2C_3_PCLK_IDX 1
|
||||
#define STA_STM32_I2C_1_PCLK_IDX 1 /**< I2C1 to PCLK index 1 */
|
||||
#define STA_STM32_I2C_2_PCLK_IDX 1 /**< I2C2 to PCLK index 1 */
|
||||
#define STA_STM32_I2C_3_PCLK_IDX 1 /**< I2C3 to PCLK index 1 */
|
||||
|
||||
// USART to PCLK
|
||||
#define STA_STM32_USART_1_PCLK_IDX 2
|
||||
#define STA_STM32_USART_2_PCLK_IDX 1
|
||||
#define STA_STM32_USART_6_PCLK_IDX 2
|
||||
#define STA_STM32_USART_1_PCLK_IDX 2 /**< USART1 to PCLK index 2 */
|
||||
#define STA_STM32_USART_2_PCLK_IDX 1 /**< USART2 to PCLK index 1 */
|
||||
#define STA_STM32_USART_6_PCLK_IDX 2 /**< USART6 to PCLK index 2 */
|
||||
|
||||
|
||||
// HAL handle mappings
|
||||
//
|
||||
|
||||
// TIM to PCLK
|
||||
#define STA_STM32_htim1_PCLK_IDX STA_STM32_TIM_1_PCLK_IDX
|
||||
#define STA_STM32_htim2_PCLK_IDX STA_STM32_TIM_2_PCLK_IDX
|
||||
#define STA_STM32_htim3_PCLK_IDX STA_STM32_TIM_3_PCLK_IDX
|
||||
#define STA_STM32_htim4_PCLK_IDX STA_STM32_TIM_4_PCLK_IDX
|
||||
#define STA_STM32_htim5_PCLK_IDX STA_STM32_TIM_5_PCLK_IDX
|
||||
#define STA_STM32_htim9_PCLK_IDX STA_STM32_TIM_9_PCLK_IDX
|
||||
#define STA_STM32_htim10_PCLK_IDX STA_STM32_TIM_10_PCLK_IDX
|
||||
#define STA_STM32_htim11_PCLK_IDX STA_STM32_TIM_11_PCLK_IDX
|
||||
#define STA_STM32_htim1_PCLK_IDX STA_STM32_TIM_1_PCLK_IDX /**< HAL TIM1 to PCLK index */
|
||||
#define STA_STM32_htim2_PCLK_IDX STA_STM32_TIM_2_PCLK_IDX /**< HAL TIM2 to PCLK index */
|
||||
#define STA_STM32_htim3_PCLK_IDX STA_STM32_TIM_3_PCLK_IDX /**< HAL TIM3 to PCLK index */
|
||||
#define STA_STM32_htim4_PCLK_IDX STA_STM32_TIM_4_PCLK_IDX /**< HAL TIM4 to PCLK index */
|
||||
#define STA_STM32_htim5_PCLK_IDX STA_STM32_TIM_5_PCLK_IDX /**< HAL TIM5 to PCLK index */
|
||||
#define STA_STM32_htim9_PCLK_IDX STA_STM32_TIM_9_PCLK_IDX /**< HAL TIM9 to PCLK index */
|
||||
#define STA_STM32_htim10_PCLK_IDX STA_STM32_TIM_10_PCLK_IDX /**< HAL TIM10 to PCLK index */
|
||||
#define STA_STM32_htim11_PCLK_IDX STA_STM32_TIM_11_PCLK_IDX /**< HAL TIM11 to PCLK index */
|
||||
|
||||
// SPI to PCLK
|
||||
#define STA_STM32_hspi1_PCLK_IDX STA_STM32_SPI_1_PCLK_IDX
|
||||
#define STA_STM32_hspi2_PCLK_IDX STA_STM32_SPI_2_PCLK_IDX
|
||||
#define STA_STM32_hspi3_PCLK_IDX STA_STM32_SPI_3_PCLK_IDX
|
||||
#define STA_STM32_hspi4_PCLK_IDX STA_STM32_SPI_4_PCLK_IDX
|
||||
#define STA_STM32_hspi5_PCLK_IDX STA_STM32_SPI_5_PCLK_IDX
|
||||
#define STA_STM32_hspi1_PCLK_IDX STA_STM32_SPI_1_PCLK_IDX /**< HAL SPI1 to PCLK index */
|
||||
#define STA_STM32_hspi2_PCLK_IDX STA_STM32_SPI_2_PCLK_IDX /**< HAL SPI2 to PCLK index */
|
||||
#define STA_STM32_hspi3_PCLK_IDX STA_STM32_SPI_3_PCLK_IDX /**< HAL SPI3 to PCLK index */
|
||||
#define STA_STM32_hspi4_PCLK_IDX STA_STM32_SPI_4_PCLK_IDX /**< HAL SPI4 to PCLK index */
|
||||
#define STA_STM32_hspi5_PCLK_IDX STA_STM32_SPI_5_PCLK_IDX /**< HAL SPI5 to PCLK index */
|
||||
|
||||
// I2C to PCLK
|
||||
#define STA_STM32_hi2c1_PCLK_IDX STA_STM32_I2C_1_PCLK_IDX
|
||||
#define STA_STM32_hi2c2_PCLK_IDX STA_STM32_I2C_2_PCLK_IDX
|
||||
#define STA_STM32_h12c3_PCLK_IDX STA_STM32_I2C_3_PCLK_IDX
|
||||
#define STA_STM32_hi2c1_PCLK_IDX STA_STM32_I2C_1_PCLK_IDX /**< HAL I2C1 to PCLK index */
|
||||
#define STA_STM32_hi2c2_PCLK_IDX STA_STM32_I2C_2_PCLK_IDX /**< HAL I2C2 to PCLK index */
|
||||
#define STA_STM32_h12c3_PCLK_IDX STA_STM32_I2C_3_PCLK_IDX /**< HAL I2C3 to PCLK index */
|
||||
|
||||
// USART to PCLK
|
||||
#define STA_STM32_husart1_PCLK_IDX STA_STM32_USART_1_PCLK_IDX
|
||||
#define STA_STM32_husart2_PCLK_IDX STA_STM32_USART_2_PCLK_IDX
|
||||
#define STA_STM32_husart6_PCLK_IDX STA_STM32_USART_6_PCLK_IDX
|
||||
#define STA_STM32_husart1_PCLK_IDX STA_STM32_USART_1_PCLK_IDX /**< HAL USART1 to PCLK index */
|
||||
#define STA_STM32_husart2_PCLK_IDX STA_STM32_USART_2_PCLK_IDX /**< HAL USART2 to PCLK index */
|
||||
#define STA_STM32_husart6_PCLK_IDX STA_STM32_USART_6_PCLK_IDX /**< HAL USART6 to PCLK index */
|
||||
|
||||
/** @} */
|
||||
|
||||
#endif // STA_CORE_STM32_MCU_STM32F411xE_HPP
|
||||
|
@@ -1,6 +1,11 @@
|
||||
#ifndef STA_CORE_STM32_MCU_TEMPLATE_HPP
|
||||
#define STA_CORE_STM32_MCU_TEMPLATE_HPP
|
||||
|
||||
/**
|
||||
* @defgroup sta_core_stm32_mcu STM32 MCUs
|
||||
* @ingroup sta_core_stm32
|
||||
*/
|
||||
|
||||
#ifndef STM32_YOUR_MCU_xx
|
||||
# error "MCU config incompatible"
|
||||
#endif // STM32_YOUR_MCU_xx
|
||||
|
@@ -9,6 +9,11 @@
|
||||
|
||||
namespace sta
|
||||
{
|
||||
/**
|
||||
* @brief A custom printable class.
|
||||
*
|
||||
* @ingroup sta_core
|
||||
*/
|
||||
class CustomPrintable : public Printable
|
||||
{
|
||||
public:
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* @file delay.hpp
|
||||
* @author <your name> (<you>@<your_domain>.com)
|
||||
* @author [your name] ([you]@[your_domain].com)
|
||||
* @brief
|
||||
* @version 0.1
|
||||
* @date 2023-06-13
|
||||
|
@@ -19,13 +19,13 @@ namespace sta
|
||||
/**
|
||||
* @brief Set event flag.
|
||||
*
|
||||
* @param Flag nr. to set
|
||||
* @param flags nr. to set
|
||||
*/
|
||||
virtual void set(uint32_t flags) = 0;
|
||||
/**
|
||||
* @brief Clear event flag.
|
||||
*
|
||||
* @param Flag nr. to clear
|
||||
* @param flags nr. to clear
|
||||
*/
|
||||
virtual void clear(uint32_t flags) = 0;
|
||||
/**
|
||||
@@ -37,7 +37,8 @@ namespace sta
|
||||
/**
|
||||
* @brief Wait until event flag is set. Timeout default to forever.
|
||||
*
|
||||
* @param Event flag nr. to wait for.
|
||||
* @param flags flag nr. to wait for.
|
||||
* @param timeout timeout in ms., default to forever.
|
||||
*/
|
||||
virtual uint32_t wait(uint32_t flags, uint32_t timeout = osWaitForever) = 0;
|
||||
};
|
||||
|
@@ -19,7 +19,7 @@ namespace sta
|
||||
/**
|
||||
* @brief Start Timer.
|
||||
*
|
||||
* @param time in milliseconds
|
||||
* @param millis in milliseconds
|
||||
*/
|
||||
virtual void start(uint32_t millis) = 0;
|
||||
/**
|
||||
|
Reference in New Issue
Block a user