Fine-tuning "libs" API

This commit is contained in:
Attila Body 2019-10-18 13:55:10 +02:00
parent ffec0e2b57
commit e8cff640ac
18 changed files with 244 additions and 204 deletions

View file

@ -4,9 +4,8 @@
* Created on: Aug 29, 2019
* Author: abody
*/
#include <dma.h>
#include <string.h>
#include "crc.h"
#include <platform/crc_ll.h>
#include "dma_helper.h"
#include "diag.h"
#include "crc_handler.h"
@ -28,7 +27,7 @@
#endif
void InitCrcStatus(struct crcstatus_t *st, DMA_TypeDef *dma, uint32_t stream)
void InitCrcStatus(CRCSTATUS *st, DMA_TypeDef *dma, uint32_t stream)
{
InitDmaInfo(&st->dmaInfo, dma, stream);
LL_DMA_EnableIT_TC(dma, stream);
@ -38,7 +37,7 @@ void InitCrcStatus(struct crcstatus_t *st, DMA_TypeDef *dma, uint32_t stream)
memset((void*)st->crcTasks, 0, sizeof(st->crcTasks));
}
uint8_t EnqueueCrcTask(struct crcstatus_t *status, uint8_t slot, uint8_t *address, uint16_t len,
uint8_t EnqueueCrcTask(CRCSTATUS *status, uint8_t slot, uint8_t *address, uint16_t len,
void (*callback)(void*, uint32_t, uint8_t), void* callbackParam)
{
uint32_t prim = __get_PRIMASK();
@ -65,13 +64,13 @@ uint8_t EnqueueCrcTask(struct crcstatus_t *status, uint8_t slot, uint8_t *addres
return need_start;
}
void WaitCrcResults(struct crcstatus_t *status, uint8_t slot)
void WaitCrcResults(CRCSTATUS *status, uint8_t slot)
{
while(IsSlotQueued(status, slot));
while(GetActiveSlot(status) == slot);
}
uint32_t ComputeCrc(struct crcstatus_t *status, uint8_t slot, uint8_t *address, uint16_t len)
uint32_t ComputeCrc(CRCSTATUS *status, uint8_t slot, uint8_t *address, uint16_t len)
{
uint32_t result;
EnqueueCrcTask(status, slot, address, len, NULL, &result);
@ -79,7 +78,7 @@ uint32_t ComputeCrc(struct crcstatus_t *status, uint8_t slot, uint8_t *address,
return result;
}
void StartNextCrcTask(struct crcstatus_t *status)
void StartNextCrcTask(CRCSTATUS *status)
{
uint16_t slot;
for(slot = 0; slot < CRCTASKCOUNT; ++slot)
@ -97,7 +96,7 @@ void StartNextCrcTask(struct crcstatus_t *status)
status->activeSlot = 0xff;
}
void HandleCrcDmaIrq(struct crcstatus_t *status)
void HandleCrcDmaIrq(CRCSTATUS *status)
{
DIAG_INTERRUPT_IN();
if(*status->dmaInfo.isReg & status->dmaInfo.tcMask) { // DMA transfer complete