distortos  v0.7.0
object-oriented C++ RTOS for microcontrollers
DmaChannel.hpp File Reference

DmaChannel class header for DMAv2 in STM32. More...

#include "distortos/assert.h"
#include "estd/EnumClassFlags.hpp"
#include <utility>
#include <cerrno>
#include <cstddef>
#include <cstdint>
Include dependency graph for DmaChannel.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  estd::isEnumClassFlags< distortos::chip::DmaChannelFlags >
 Enable bitwise operators for distortos::chip::DmaChannelFlags. More...
 
class  distortos::chip::DmaChannel
 

Namespaces

 distortos
 Top-level namespace of distortos project.
 
 distortos::chip
 Chip-related code of distortos project.
 
 estd
 Collection of useful templates.
 

Enumerations

enum  distortos::chip::DmaChannelFlags : uint32_t {
  distortos::chip::DmaChannelFlags::transferCompleteInterruptDisable = 0 << 4, distortos::chip::DmaChannelFlags::transferCompleteInterruptEnable = 1 << 4, distortos::chip::DmaChannelFlags::dmaFlowController = 0 << 5, distortos::chip::DmaChannelFlags::peripheralFlowController = 1 << 5,
  distortos::chip::DmaChannelFlags::peripheralToMemory = 0 << 6, distortos::chip::DmaChannelFlags::memoryToPeripheral = 1 << 6, distortos::chip::DmaChannelFlags::peripheralFixed = 0 << 9, distortos::chip::DmaChannelFlags::peripheralIncrement = 1 << 9,
  distortos::chip::DmaChannelFlags::memoryFixed = 0 << 10, distortos::chip::DmaChannelFlags::memoryIncrement = 1 << 10, distortos::chip::DmaChannelFlags::peripheralDataSize1 = 0 << 11, distortos::chip::DmaChannelFlags::peripheralDataSize2 = 1 << 11,
  distortos::chip::DmaChannelFlags::peripheralDataSize4 = 2 << 11, distortos::chip::DmaChannelFlags::memoryDataSize1 = 0 << 13, distortos::chip::DmaChannelFlags::memoryDataSize2 = 1 << 13, distortos::chip::DmaChannelFlags::memoryDataSize4 = 2 << 13,
  distortos::chip::DmaChannelFlags::lowPriority = 0 << 16, distortos::chip::DmaChannelFlags::mediumPriority = 1 << 16, distortos::chip::DmaChannelFlags::highPriority = 2 << 16, distortos::chip::DmaChannelFlags::veryHighPriority = 3 << 16,
  distortos::chip::DmaChannelFlags::peripheralBurstSize1 = 0 << 21, distortos::chip::DmaChannelFlags::peripheralBurstSize4 = 1 << 21, distortos::chip::DmaChannelFlags::peripheralBurstSize8 = 2 << 21, distortos::chip::DmaChannelFlags::peripheralBurstSize16 = 3 << 21,
  distortos::chip::DmaChannelFlags::memoryBurstSize1 = 0 << 23, distortos::chip::DmaChannelFlags::memoryBurstSize4 = 1 << 23, distortos::chip::DmaChannelFlags::memoryBurstSize8 = 2 << 23, distortos::chip::DmaChannelFlags::memoryBurstSize16 = 3 << 23,
  distortos::chip::DmaChannelFlags::dataSize1 = peripheralDataSize1 | memoryDataSize1, distortos::chip::DmaChannelFlags::dataSize2 = peripheralDataSize2 | memoryDataSize2, distortos::chip::DmaChannelFlags::dataSize4 = peripheralDataSize4 | memoryDataSize4, distortos::chip::DmaChannelFlags::burstSize1 = peripheralBurstSize1 | memoryBurstSize1,
  distortos::chip::DmaChannelFlags::burstSize4 = peripheralBurstSize4 | memoryBurstSize4, distortos::chip::DmaChannelFlags::burstSize8 = peripheralBurstSize8 | memoryBurstSize8, distortos::chip::DmaChannelFlags::burstSize16 = peripheralBurstSize16 | memoryBurstSize16
}
 DMA transfer configuration flags. More...
 

Detailed Description

DmaChannel class header for DMAv2 in STM32.

Author
Copyright (C) 2018-2019 Kamil Szczygiel http://www.distortec.com http://www.freddiechopin.info
License
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.