Add asserts in existing code
This commit is contained in:
parent
a20acf4031
commit
47a06a2a39
@ -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;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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 {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user