mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-19 22:35:23 +03:00
Configurable SDCARD, and clean up of DMA.
This commit is contained in:
parent
b73ffbb592
commit
39bb6ffe04
54 changed files with 504 additions and 436 deletions
|
@ -26,10 +26,47 @@
|
|||
#include "pg/pg_ids.h"
|
||||
|
||||
#include "sdcard.h"
|
||||
#include "drivers/bus_spi.h"
|
||||
#include "drivers/io.h"
|
||||
#include "drivers/dma.h"
|
||||
|
||||
PG_REGISTER_WITH_RESET_TEMPLATE(sdcardConfig_t, sdcardConfig, PG_SDCARD_CONFIG, 0);
|
||||
PG_REGISTER_WITH_RESET_FN(sdcardConfig_t, sdcardConfig, PG_SDCARD_CONFIG, 0);
|
||||
|
||||
PG_RESET_TEMPLATE(sdcardConfig_t, sdcardConfig,
|
||||
.useDma = false
|
||||
);
|
||||
void pgResetFn_sdcardConfig(sdcardConfig_t *config)
|
||||
{
|
||||
config->useDma = false;
|
||||
#ifdef SDCARD_SPI_INSTANCE
|
||||
config->enabled = 1;
|
||||
config->device = spiDeviceByInstance(SDCARD_SPI_INSTANCE);
|
||||
#else
|
||||
config->enabled = 0;
|
||||
config->device = 0;
|
||||
#endif
|
||||
#ifdef SDCARD_DETECT_PIN
|
||||
config->cardDetectTag = IO_TAG(SDCARD_DETECT_PIN);
|
||||
#else
|
||||
config->cardDetectTag = IO_TAG_NONE;
|
||||
#endif
|
||||
#ifdef SDCARD_DETECT_PIN
|
||||
config->chipSelectTag = IO_TAG(SDCARD_SPI_CS_PIN);
|
||||
#else
|
||||
config->chipSelectTag = IO_TAG_NONE;
|
||||
#endif
|
||||
|
||||
#ifdef SDCARD_DETECT_INVERTED
|
||||
config->cardDetectInverted = 1;
|
||||
#else
|
||||
config->cardDetectInverted = 0;
|
||||
#endif
|
||||
|
||||
#if defined(SDCARD_DMA_STREAM_TX_FULL)
|
||||
config->dmaIdentifier = (uint8_t)dmaGetIdentifier(SDCARD_DMA_STREAM_TX_FULL);
|
||||
#elif defined(SDCARD_DMA_CHANNEL_TX)
|
||||
config->dmaIdentifier = (uint8_t)dmaGetIdentifier(SDCARD_DMA_CHANNEL_TX);
|
||||
#endif
|
||||
|
||||
#if (defined(STM32F4) || defined(STM32F7)) && defined(SDCARD_DMA_CHANNEL)
|
||||
config->dmaChannel = SDCARD_DMA_CHANNEL;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue