Skyward boardcore
Loading...
Searching...
No Matches
stm32f407xx_mappings.cpp
Go to the documentation of this file.
1/* Copyright (c) 2025 Skyward Experimental Rocketry
2 * Author: Fabrizio Monti
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to deal
6 * in the Software without restriction, including without limitation the rights
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 * copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 * THE SOFTWARE.
21 */
22
23#include "../DMADefs.h"
24
25namespace Boardcore
26{
27
28namespace DMADefs
29{
30const std::multimap<Peripherals, std::pair<DMAStreamId, Channel>>
32
43 // MEM-TO-MEM (only dma2 can perform mem-to-mem copy)
47 // {Peripherals::PE_MEM_ONLY, {DMAStreamId::DMA2_Str3,
48 // Channel::CHANNEL0}},
53
54 // SPI
56 // {Peripherals::PE_SPI1_TX, {DMAStreamId::DMA2_Str3,
57 // Channel::CHANNEL3}},
60
62 // {Peripherals::PE_SPI2_RX, {DMAStreamId::DMA1_Str3,
63 // Channel::CHANNEL0}},
64
69
70 // UART & USART
77
82
83 // {Peripherals::PE_USART3_TX, {DMAStreamId::DMA1_Str3,
84 // Channel::CHANNEL4}},
87 // {Peripherals::PE_USART3_RX, {DMAStreamId::DMA1_Str1,
88 // Channel::CHANNEL4}},
89
92
95
104
105 // I2C
110
113 // {Peripherals::PE_I2C2_RX, {DMAStreamId::DMA1_Str3,
114 // Channel::CHANNEL7}},
115
118
121 // {Peripherals::PE_I2S2_EXT_RX, {DMAStreamId::DMA1_Str3,
122 // Channel::CHANNEL3}},
123
130
131 // TIMERS
140 // {Peripherals::PE_TIM1_CH1, {DMAStreamId::DMA2_Str3,
141 // Channel::CHANNEL6}},
147
148 // {Peripherals::PE_TIM2_UP, {DMAStreamId::DMA1_Str1,
149 // Channel::CHANNEL3}},
153 // {Peripherals::PE_TIM2_CH3, {DMAStreamId::DMA1_Str1,
154 // Channel::CHANNEL3}},
157
165
168 // {Peripherals::PE_TIM4_CH2, {DMAStreamId::DMA1_Str3,
169 // Channel::CHANNEL2}},
171
174 // {Peripherals::PE_TIM5_TRIG, {DMAStreamId::DMA1_Str1,
175 // Channel::CHANNEL6}},
176 // {Peripherals::PE_TIM5_TRIG, {DMAStreamId::DMA1_Str3,
177 // Channel::CHANNEL6}},
181 // {Peripherals::PE_TIM5_CH4, {DMAStreamId::DMA1_Str1,
182 // Channel::CHANNEL6}},
183 // {Peripherals::PE_TIM5_CH4, {DMAStreamId::DMA1_Str3,
184 // Channel::CHANNEL6}},
185
186 // {Peripherals::PE_TIM6_UP, {DMAStreamId::DMA1_Str1,
187 // Channel::CHANNEL7}},
188
191
199 // {Peripherals::PE_TIM8_CH2, {DMAStreamId::DMA2_Str3,
200 // Channel::CHANNEL7}},
204
205 // Others
208
211
213 // {Peripherals::PE_ADC2, {DMAStreamId::DMA2_Str3, Channel::CHANNEL1}},
214
217
220
221 // {Peripherals::PE_SDIO, {DMAStreamId::DMA2_Str3, Channel::CHANNEL4}},
223
226
228};
229
230} // namespace DMADefs
231
232} // namespace Boardcore
const std::multimap< Peripherals, std::pair< DMAStreamId, Channel > > mapPeripherals
Maps the peripherals to the dma streams (and the corresponding channel) that are connected with.
This file includes all the types the logdecoder script will decode.