mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-13 19:40:31 +03:00
REFACTOR: Adding DMA_FIRST_HANDLER
dmaIdentifier_e could be zero based in the future and align to descriptor array index directly Also removed unused DMA_INPUT_STRING
This commit is contained in:
parent
3370752442
commit
cbdc8d83ae
6 changed files with 19 additions and 12 deletions
|
@ -5329,7 +5329,7 @@ static void showDma(void)
|
||||||
cliPrintLine("Currently active DMA:");
|
cliPrintLine("Currently active DMA:");
|
||||||
cliRepeat('-', 20);
|
cliRepeat('-', 20);
|
||||||
#endif
|
#endif
|
||||||
for (int i = 1; i <= DMA_LAST_HANDLER; i++) {
|
for (int i = DMA_FIRST_HANDLER; i <= DMA_LAST_HANDLER; i++) {
|
||||||
const resourceOwner_t *owner = dmaGetOwner(i);
|
const resourceOwner_t *owner = dmaGetOwner(i);
|
||||||
|
|
||||||
cliPrintf(DMA_OUTPUT_STRING, DMA_DEVICE_NO(i), DMA_DEVICE_INDEX(i));
|
cliPrintf(DMA_OUTPUT_STRING, DMA_DEVICE_NO(i), DMA_DEVICE_INDEX(i));
|
||||||
|
|
|
@ -58,8 +58,6 @@ typedef struct dmaChannelDescriptor_s {
|
||||||
#endif
|
#endif
|
||||||
} dmaChannelDescriptor_t;
|
} dmaChannelDescriptor_t;
|
||||||
|
|
||||||
#define DMA_IDENTIFIER_TO_INDEX(x) ((x) - 1)
|
|
||||||
|
|
||||||
void dmaMuxEnable(dmaIdentifier_e identifier, uint32_t dmaMuxId);
|
void dmaMuxEnable(dmaIdentifier_e identifier, uint32_t dmaMuxId);
|
||||||
|
|
||||||
dmaIdentifier_e dmaAllocate(dmaIdentifier_e identifier, resourceOwner_e owner, uint8_t resourceIndex);
|
dmaIdentifier_e dmaAllocate(dmaIdentifier_e identifier, resourceOwner_e owner, uint8_t resourceIndex);
|
||||||
|
|
|
@ -32,7 +32,8 @@
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
DMA_NONE = 0,
|
DMA_NONE = 0,
|
||||||
DMA1_ST0_HANDLER = 1,
|
DMA_FIRST_HANDLER = 1,
|
||||||
|
DMA1_ST0_HANDLER = DMA_FIRST_HANDLER,
|
||||||
DMA1_ST1_HANDLER,
|
DMA1_ST1_HANDLER,
|
||||||
DMA1_ST2_HANDLER,
|
DMA1_ST2_HANDLER,
|
||||||
DMA1_ST3_HANDLER,
|
DMA1_ST3_HANDLER,
|
||||||
|
@ -55,7 +56,8 @@ typedef enum {
|
||||||
#define DMA_DEVICE_INDEX(x) ((((x)-1) % 8))
|
#define DMA_DEVICE_INDEX(x) ((((x)-1) % 8))
|
||||||
#define DMA_OUTPUT_INDEX 0
|
#define DMA_OUTPUT_INDEX 0
|
||||||
#define DMA_OUTPUT_STRING "DMA%d Stream %d:"
|
#define DMA_OUTPUT_STRING "DMA%d Stream %d:"
|
||||||
#define DMA_INPUT_STRING "DMA%d_ST%d"
|
|
||||||
|
#define DMA_IDENTIFIER_TO_INDEX(x) ((x) - 1)
|
||||||
|
|
||||||
#define DEFINE_DMA_CHANNEL(d, s, f) { \
|
#define DEFINE_DMA_CHANNEL(d, s, f) { \
|
||||||
.dma = d, \
|
.dma = d, \
|
||||||
|
|
|
@ -32,7 +32,8 @@
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
DMA_NONE = 0,
|
DMA_NONE = 0,
|
||||||
DMA1_CH1_HANDLER = 1,
|
DMA_FIRST_HANDLER = 1,
|
||||||
|
DMA1_CH1_HANDLER = DMA_FIRST_HANDLER,
|
||||||
DMA1_CH2_HANDLER,
|
DMA1_CH2_HANDLER,
|
||||||
DMA1_CH3_HANDLER,
|
DMA1_CH3_HANDLER,
|
||||||
DMA1_CH4_HANDLER,
|
DMA1_CH4_HANDLER,
|
||||||
|
@ -52,11 +53,12 @@ typedef enum {
|
||||||
#define DMA_DEVICE_NO(x) ((((x)-1) / 7) + 1)
|
#define DMA_DEVICE_NO(x) ((((x)-1) / 7) + 1)
|
||||||
#define DMA_DEVICE_INDEX(x) ((((x)-1) % 7) + 1)
|
#define DMA_DEVICE_INDEX(x) ((((x)-1) % 7) + 1)
|
||||||
|
|
||||||
|
#define DMA_IDENTIFIER_TO_INDEX(x) ((x) - 1)
|
||||||
|
|
||||||
uint32_t dmaGetChannel(const uint8_t channel);
|
uint32_t dmaGetChannel(const uint8_t channel);
|
||||||
|
|
||||||
#define DMA_OUTPUT_INDEX 0
|
#define DMA_OUTPUT_INDEX 0
|
||||||
#define DMA_OUTPUT_STRING "DMA%d Channel %d:"
|
#define DMA_OUTPUT_STRING "DMA%d Channel %d:"
|
||||||
#define DMA_INPUT_STRING "DMA%d_CH%d"
|
|
||||||
|
|
||||||
#define DEFINE_DMA_CHANNEL(d, c, f) { \
|
#define DEFINE_DMA_CHANNEL(d, c, f) { \
|
||||||
.dma = d, \
|
.dma = d, \
|
||||||
|
|
|
@ -25,3 +25,5 @@
|
||||||
DMA_NONE = 0,
|
DMA_NONE = 0,
|
||||||
DMA_LAST_HANDLER = DMA_NONE
|
DMA_LAST_HANDLER = DMA_NONE
|
||||||
} dmaIdentifier_e;
|
} dmaIdentifier_e;
|
||||||
|
|
||||||
|
#define DMA_IDENTIFIER_TO_INDEX(x) ((x) - 1)
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
|
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
|
||||||
|
#define DMA_IDENTIFIER_TO_INDEX(x) ((x) - 1)
|
||||||
|
|
||||||
#if defined(STM32F4) || defined(STM32F7) || defined(STM32G4) || defined(STM32H7) || defined(APM32F4)
|
#if defined(STM32F4) || defined(STM32F7) || defined(STM32G4) || defined(STM32H7) || defined(APM32F4)
|
||||||
#define PLATFORM_TRAIT_DMA_STREAM_REQUIRED 1
|
#define PLATFORM_TRAIT_DMA_STREAM_REQUIRED 1
|
||||||
#endif
|
#endif
|
||||||
|
@ -40,7 +42,8 @@
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
DMA_NONE = 0,
|
DMA_NONE = 0,
|
||||||
DMA1_ST0_HANDLER = 1,
|
DMA_FIRST_HANDLER = 1,
|
||||||
|
DMA1_ST0_HANDLER = DMA_FIRST_HANDLER,
|
||||||
DMA1_ST1_HANDLER,
|
DMA1_ST1_HANDLER,
|
||||||
DMA1_ST2_HANDLER,
|
DMA1_ST2_HANDLER,
|
||||||
DMA1_ST3_HANDLER,
|
DMA1_ST3_HANDLER,
|
||||||
|
@ -63,7 +66,6 @@ typedef enum {
|
||||||
#define DMA_DEVICE_INDEX(x) ((((x)-1) % 8))
|
#define DMA_DEVICE_INDEX(x) ((((x)-1) % 8))
|
||||||
#define DMA_OUTPUT_INDEX 0
|
#define DMA_OUTPUT_INDEX 0
|
||||||
#define DMA_OUTPUT_STRING "DMA%d Stream %d:"
|
#define DMA_OUTPUT_STRING "DMA%d Stream %d:"
|
||||||
#define DMA_INPUT_STRING "DMA%d_ST%d"
|
|
||||||
|
|
||||||
#define DEFINE_DMA_CHANNEL(d, s, f) { \
|
#define DEFINE_DMA_CHANNEL(d, s, f) { \
|
||||||
.dma = d, \
|
.dma = d, \
|
||||||
|
@ -101,7 +103,8 @@ void dmaMuxEnable(dmaIdentifier_e identifier, uint32_t dmaMuxId);
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
DMA_NONE = 0,
|
DMA_NONE = 0,
|
||||||
DMA1_CH1_HANDLER = 1,
|
DMA_FIRST_HANDLER = 1,
|
||||||
|
DMA1_CH1_HANDLER = DMA_FIRST_HANDLER,
|
||||||
DMA1_CH2_HANDLER,
|
DMA1_CH2_HANDLER,
|
||||||
DMA1_CH3_HANDLER,
|
DMA1_CH3_HANDLER,
|
||||||
DMA1_CH4_HANDLER,
|
DMA1_CH4_HANDLER,
|
||||||
|
@ -129,7 +132,8 @@ uint32_t dmaGetChannel(const uint8_t channel);
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
DMA_NONE = 0,
|
DMA_NONE = 0,
|
||||||
DMA1_CH1_HANDLER = 1,
|
DMA_FIRST_HANDLER = 1,
|
||||||
|
DMA1_CH1_HANDLER = DMA_FIRST_HANDLER,
|
||||||
DMA1_CH2_HANDLER,
|
DMA1_CH2_HANDLER,
|
||||||
DMA1_CH3_HANDLER,
|
DMA1_CH3_HANDLER,
|
||||||
DMA1_CH4_HANDLER,
|
DMA1_CH4_HANDLER,
|
||||||
|
@ -146,7 +150,6 @@ typedef enum {
|
||||||
|
|
||||||
#define DMA_OUTPUT_INDEX 0
|
#define DMA_OUTPUT_INDEX 0
|
||||||
#define DMA_OUTPUT_STRING "DMA%d Channel %d:"
|
#define DMA_OUTPUT_STRING "DMA%d Channel %d:"
|
||||||
#define DMA_INPUT_STRING "DMA%d_CH%d"
|
|
||||||
|
|
||||||
#define DEFINE_DMA_CHANNEL(d, c, f) { \
|
#define DEFINE_DMA_CHANNEL(d, c, f) { \
|
||||||
.dma = d, \
|
.dma = d, \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue