Skyward boardcore
Loading...
Searching...
No Matches
stm32f429xx_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}},
50 // {Peripherals::PE_MEM_ONLY, {DMAStreamId::DMA2_Str5,
51 // Channel::CHANNEL0}},
53 // {Peripherals::PE_MEM_ONLY, {DMAStreamId::DMA2_Str7,
54 // Channel::CHANNEL0}},
55
56 // SPI
57 // {Peripherals::PE_SPI1_TX, {DMAStreamId::DMA2_Str5,
58 // Channel::CHANNEL3}}, {Peripherals::PE_SPI1_TX,
59 // {DMAStreamId::DMA2_Str3, Channel::CHANNEL3}},
62
65
70
74 // {Peripherals::PE_SPI4_RX, {DMAStreamId::DMA2_Str3,
75 // Channel::CHANNEL5}},
76
79 // {Peripherals::PE_SPI5_RX, {DMAStreamId::DMA2_Str3,
80 // Channel::CHANNEL2}},
81 // {Peripherals::PE_SPI5_RX, {DMAStreamId::DMA2_Str5,
82 // Channel::CHANNEL7}},
83
84 // {Peripherals::PE_SPI6_TX, {DMAStreamId::DMA2_Str5,
85 // Channel::CHANNEL1}},
87
88 // UART & USART
89 // {Peripherals::PE_USART1_TX,
90 // {DMAStreamId::DMA2_Str7, Channel::CHANNEL4}},
93 // {Peripherals::PE_USART1_RX, {DMAStreamId::DMA2_Str5,
94 // Channel::CHANNEL4}},
95
100
107
110
113
116
119
122 // {Peripherals::PE_USART6_TX,
123 // {DMAStreamId::DMA2_Str7, Channel::CHANNEL5}},
128
129 // I2C
134
138
141
146
153
154 // TIMERS
155 // {Peripherals::PE_TIM1_UP, {DMAStreamId::DMA2_Str5,
156 // Channel::CHANNEL6}},
164 // {Peripherals::PE_TIM1_CH1, {DMAStreamId::DMA2_Str3,
165 // Channel::CHANNEL6}},
171
179
187
192
204
206
209
211 // {Peripherals::PE_TIM8_TRIG,
212 // {DMAStreamId::DMA2_Str7, Channel::CHANNEL7}},
213 // {Peripherals::PE_TIM8_COM, {DMAStreamId::DMA2_Str7,
214 // Channel::CHANNEL7}},
218 // {Peripherals::PE_TIM8_CH2, {DMAStreamId::DMA2_Str3,
219 // Channel::CHANNEL7}},
222 // {Peripherals::PE_TIM8_CH4, {DMAStreamId::DMA2_Str7,
223 // Channel::CHANNEL7}},
224
225 // Others
228
231
233 // {Peripherals::PE_ADC2, {DMAStreamId::DMA2_Str3, Channel::CHANNEL1}},
234
237
239 // {Peripherals::PE_SAI1_A, {DMAStreamId::DMA2_Str3,
240 // Channel::CHANNEL0}},
241
242 // {Peripherals::PE_SAI1_B, {DMAStreamId::DMA2_Str5,
243 // Channel::CHANNEL0}},
245
247 // {Peripherals::PE_DCMI, {DMAStreamId::DMA2_Str7, Channel::CHANNEL1}},
248
249 // {Peripherals::PE_SDIO, {DMAStreamId::DMA2_Str3, Channel::CHANNEL4}},
251
252 // {Peripherals::PE_CRYP_OUT, {DMAStreamId::DMA2_Str5,
253 // Channel::CHANNEL2}},
255
256 // {Peripherals::PE_HASH_IN, {DMAStreamId::DMA2_Str7,
257 // Channel::CHANNEL2}},
258};
259
260} // namespace DMADefs
261
262} // 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.