From 5c655fc99e2a327c7b0986de10b2b6d775735c24 Mon Sep 17 00:00:00 2001 From: iliya <iliya.saroukha@hes-so.ch> Date: Wed, 22 Nov 2023 15:22:30 +0100 Subject: [PATCH] feat: uint16_transfer done --- mem2lcd_G4/src/dma.h | 8 ++++---- mem2lcd_G4/src/dma_ssp_etu.c | 3 +-- mem2lcd_G4/src/labo_dma_mem2lcd_etu.c | 11 ++++++++++- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/mem2lcd_G4/src/dma.h b/mem2lcd_G4/src/dma.h index 3381a2c..647ce73 100644 --- a/mem2lcd_G4/src/dma.h +++ b/mem2lcd_G4/src/dma.h @@ -13,13 +13,13 @@ #define P2M 0x02 #define P2P 0x03 -#define BURST4 0x04 -#define WORD32_TRANSFER 0x2 +#define BURST1 0x0 +#define HALFWORD16_TRANSFER 0x1 #define INCREMENT 1 #define TERMINAL_INTERRUPT 0x80000000 -#define DMA_CFG ((BURST4 << 12) | (BURST4 << 15) \ - | (WORD32_TRANSFER << 18) | (WORD32_TRANSFER << 21) | (INCREMENT << 26) | (INCREMENT << 27) | \ +#define DMA_CFG ((BURST1 << 12) | (BURST1 << 15) \ + | (HALFWORD16_TRANSFER << 18) | (HALFWORD16_TRANSFER << 21) | \ TERMINAL_INTERRUPT) void DMA_Init(uint32_t *src, uint32_t *dest, uint32_t len, uint32_t LLI); diff --git a/mem2lcd_G4/src/dma_ssp_etu.c b/mem2lcd_G4/src/dma_ssp_etu.c index 8c9f5ed..950c012 100644 --- a/mem2lcd_G4/src/dma_ssp_etu.c +++ b/mem2lcd_G4/src/dma_ssp_etu.c @@ -51,7 +51,6 @@ void init_dma_ssp0() void ssp_DMA_uint16_transfer(uint16_t *words, uint16_t word_len, bool is_incr) { LPC_GPDMACH0->DMACCSrcAddr = (uint32_t)words; //DMA_SRC; - LPC_GPDMACH0->DMACCControl = (word_len & 0xFFF) | DMA_CFG; - + LPC_GPDMACH0->DMACCControl = (word_len & 0xFFF) | DMA_CFG | (is_incr << 26) | (is_incr << 27); } diff --git a/mem2lcd_G4/src/labo_dma_mem2lcd_etu.c b/mem2lcd_G4/src/labo_dma_mem2lcd_etu.c index 0c908f8..62a431d 100644 --- a/mem2lcd_G4/src/labo_dma_mem2lcd_etu.c +++ b/mem2lcd_G4/src/labo_dma_mem2lcd_etu.c @@ -54,7 +54,16 @@ void DMA_IRQHandler() // initiate the first transfer by calling send_dma_order() void write_spi(uint8_t cmd, data_type_t cmd_type, uint16_t *data, uint32_t byte_len) { - + switch (cmd_type) { + case COORD: + break; + case DATA_PTR: + break; + case DATA_RPT: + break; + default: + break; + } } -- GitLab