Add asserts in existing code

This commit is contained in:
Steins7 2024-04-20 15:43:17 +02:00
parent a20acf4031
commit 47a06a2a39
3 changed files with 25 additions and 3 deletions

View File

@ -8,6 +8,7 @@
//--includes--------------------------------------------------------------------
#include "dma_cbuf.h"
#include "error.h"
//--local definitions-----------------------------------------------------------
@ -31,7 +32,9 @@ void dma_cbuf_configure(volatile struct DmaCircBuffer* buffer,
const struct DmaParam* param, enum DmaConfig priority,
volatile void* raw_buffer, uint16_t buffer_size)
{
#warning "check for null ptr"
error_assert(buffer != nullptr);
error_assert(param != nullptr);
error_assert(raw_buffer != nullptr);
buffer->buffer = raw_buffer;
@ -52,6 +55,9 @@ void dma_cbuf_configure(volatile struct DmaCircBuffer* buffer,
uint32_t dma_cbuf_read_byte(volatile struct DmaCircBuffer* buffer,
uint8_t* byte)
{
error_assert(buffer != nullptr);
error_assert(byte != nullptr);
//retreive the current end of the buffer based on the DMA's progress
uint16_t end = buffer->size
- dma_get_remaining(buffer->dma, buffer->channel);
@ -86,6 +92,8 @@ uint32_t dma_cbuf_read_byte(volatile struct DmaCircBuffer* buffer,
static void cbuf_callback(enum DmaIRQSource src, volatile void* param)
{
(void)src; //only transfer complete expected
error_assert(param != nullptr);
volatile struct DmaCircBuffer* buffer = param;
buffer->dma_looped = true;
}

View File

@ -8,6 +8,7 @@
//--includes--------------------------------------------------------------------
#include "dma_mbuf.h"
#include "error.h"
//--local definitions-----------------------------------------------------------
@ -30,7 +31,9 @@ void dma_mbuf_configure(volatile struct DmaMultiBuffer* buffer,
const struct DmaParam* param, enum DmaConfig priority,
void* raw_buffer, uint16_t buffer_size)
{
#warning "check for null ptr"
error_assert(buffer != nullptr);
error_assert(param != nullptr);
error_assert(raw_buffer != nullptr);
buffer->raw_buffer = raw_buffer;
@ -51,6 +54,8 @@ void dma_mbuf_configure(volatile struct DmaMultiBuffer* buffer,
uint32_t dma_mbuf_write_byte(volatile struct DmaMultiBuffer* buffer,
uint8_t byte)
{
error_assert(buffer != nullptr);
//if the current buffer is full, give up
if (buffer->byte_index >= buffer->buffer_size) {
return 1;
@ -65,6 +70,8 @@ uint32_t dma_mbuf_write_byte(volatile struct DmaMultiBuffer* buffer,
uint32_t dma_mbuf_switch(volatile struct DmaMultiBuffer* buffer)
{
error_assert(buffer != nullptr);
//no data to send, stop here
if (buffer->byte_index == 0) {
return 0;
@ -100,6 +107,8 @@ uint32_t dma_mbuf_switch(volatile struct DmaMultiBuffer* buffer)
static void mbuf_callback(enum DmaIRQSource src, volatile void* param)
{
(void)src; //only transfer complete expected
error_assert(param != nullptr);
volatile struct DmaMultiBuffer* buffer = param;
dma_stop(buffer->dma, buffer->channel);
buffer->dma_running = false;

View File

@ -7,6 +7,7 @@
//--includes--------------------------------------------------------------------
#include "format.h"
#include "error.h"
//--local definitions-----------------------------------------------------------
@ -68,6 +69,8 @@ uint32_t format_vfctprintf(FormatCallback callback, void* arg,
*/
static uint32_t buffer_write(uint8_t byte, void* arg)
{
error_assert(arg != nullptr);
struct BufferArg* buffer_arg = (struct BufferArg*)arg;
if (buffer_arg->byte_index >= buffer_arg->buffer_size) {
return 1;
@ -87,6 +90,8 @@ static uint32_t buffer_write(uint8_t byte, void* arg)
static uint32_t render_format(FormatCallback callback, void* arg,
const char* restrict format, va_list va)
{
error_assert(format != nullptr);
uint8_t width = 0;
bool in_format = false;
bool zero_padding = false;
@ -148,7 +153,7 @@ static uint32_t render_format(FormatCallback callback, void* arg,
width += (*c - '0');
continue;
default:
//TODO manage error
error_trigger("unsupported option: %c in %s", c, format);
break;
}
} else {