commiting examples

This commit is contained in:
Nicolas Trimborn
2021-07-26 10:32:22 +02:00
parent 76cd702edc
commit 312768d2cf
589 changed files with 464854 additions and 446 deletions

View File

@@ -10,7 +10,7 @@
extern DmacDescriptor _descriptor_section[DMAC_CH_NUM];
extern DmacDescriptor _write_back_section[DMAC_CH_NUM];
#define SLAVE_BUFFER_SIZE 64
#define SLAVE_BUFFER_SIZE 32
/* DATA transfer/reception completion flags */
volatile uint8_t spi_slave_tx_complete = 0;
@@ -21,9 +21,7 @@ volatile uint8_t received_data_len = 0;
static uint8_t rx_buffer[SLAVE_BUFFER_SIZE] = {0};
static uint8_t tx_buffer[SLAVE_BUFFER_SIZE] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,
35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,
51,52,53,54,55,56,57,58,59,60,61,62,63};
19,20,21,22,23,24,25,26,27,28,29,30,31};
/* Register SPI Slave DMA channel callbacks */
void register_dma_spi_slave_callback(uint16_t channel, void *cb)
@@ -60,7 +58,7 @@ static void spi_slave_rx_complete_cb(struct _dma_resource *const resource)
/* DMA Transfer complete callback for SPI Slave TX */
static void spi_slave_tx_complete_cb(struct _dma_resource *const resource)
{
tx_buffer[63] += 1;
tx_buffer[SLAVE_BUFFER_SIZE] += 1;
//hri_sercomspi_clear_INTEN_TXC_bit((SercomSpi *)(SPI_0.dev.prvt));
_dma_enable_transaction(CONF_SERCOM_5_RECEIVE_DMA_CHANNEL, false);
_dma_enable_transaction(CONF_SERCOM_5_TRANSMIT_DMA_CHANNEL, false);
@@ -90,12 +88,12 @@ void spi_slave_init()
{
_dma_set_source_address(CONF_SERCOM_5_RECEIVE_DMA_CHANNEL,
(uint32_t *)&(((SercomSpi *)(SPI_0.dev.prvt))->DATA.reg));
_dma_set_destination_address(CONF_SERCOM_5_RECEIVE_DMA_CHANNEL, rx_buffer);
_dma_set_destination_address(CONF_SERCOM_5_RECEIVE_DMA_CHANNEL, rx_buffer+SLAVE_BUFFER_SIZE);
_dma_set_data_amount(CONF_SERCOM_5_RECEIVE_DMA_CHANNEL, SLAVE_BUFFER_SIZE);
_dma_set_destination_address(CONF_SERCOM_5_TRANSMIT_DMA_CHANNEL,
(uint32_t *)&(((SercomSpi *)(SPI_0.dev.prvt))->DATA.reg));
_dma_set_source_address(CONF_SERCOM_5_TRANSMIT_DMA_CHANNEL, tx_buffer);
_dma_set_source_address(CONF_SERCOM_5_TRANSMIT_DMA_CHANNEL, tx_buffer+SLAVE_BUFFER_SIZE);
_dma_set_data_amount(CONF_SERCOM_5_TRANSMIT_DMA_CHANNEL, SLAVE_BUFFER_SIZE);
/* callback */